microsoft / microsoft/security-devops-azdevops
Which Defender CLI binary should be used in CI/CD pipelines — `aka.ms` or the DevOps CDN endpoint?
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 86
- Fork
- 22
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
We're integrating Defender for Cloud image scanning into our Azure DevOps pipelines. Rather than using the MicrosoftDefenderCLI@2 task (which emits ##[error] for any findings regardless of the break setting), we're invoking the CLI binary directly so we can control exit code handling and surface findings as warnings.
We've discovered there are two different CLI binaries available:
Official (aka.ms) |
DevOps CDN | |
|---|---|---|
| URL | https://aka.ms/defender-cli_linux-x64 |
https://cli.dfd.security.azure.com/public/v2/latest/Defender_linux-x64 |
| Size | ~126 MB | ~24 MB |
| Version | v2.0.3334.114 (as of May 2026) | Unknown — no --version output tested |
| Break flag | --defender-break (critical only) |
--fail-on <severity> (configurable threshold) |
| Documented | Yes — Install, Syntax, CI/CD | No |
| Auth | Token-based (client ID/secret) or connector | Auto-detects SYSTEM_ACCESSTOKEN |
| SHA-256 | 79F4F1EDC1DD2F99193BFFC47464023A450CFEFA03F362D7716A5E51D357B0C1 |
CD31528812D19142DC58DEEA0475E2610F5CC4E4D036F78EAB2FF1243CC5BB3A |
Observations
-
The CDN binary appears purpose-built for CI/CD use. It's significantly smaller (24 MB vs 126 MB), supports a configurable severity threshold (
--fail-on low|medium|high|critical), and auto-detects Azure DevOps pipeline authentication viaSYSTEM_ACCESSTOKEN. The URL pattern (cli.dfd.security.azure.com/public/v2/latest/) suggests it's the same binary theMicrosoftDefenderCLI@2task downloads internally. -
The
aka.msCLI is the documented standalone CLI. It's referenced in the official CI/CD integration guide for non-ADO platforms (GitHub Actions, Jenkins, etc.). Its--defender-breakflag only exits non-zero for "critical issues" with no configurable threshold. -
The
--helpoutputs are completely different. The CDN binary exposes flags like--fail-on,--baseline,--severity,--suppress,--quiet, and--timeoutthat don't exist in theaka.msbinary, and vice versa (e.g.--defender-debug,--defender-outputonly inaka.ms). -
Neither binary's
scan imageflags match the documented CLI reference exactly. The docs list--defender-breakand--defender-outputas global options, which align with theaka.msbinary but not the CDN one.
Questions
-
Is the CDN endpoint (
cli.dfd.security.azure.com) a supported, stable distribution channel? Can we rely on it in production pipelines, or is it an internal implementation detail of the ADO task that could change without notice? -
Are these intended to be two separate products, or are they converging? The feature sets (especially
--fail-onvs--defender-break) suggest they may be independently developed. -
For Azure DevOps pipelines where we need to bypass the task wrapper (to avoid
##[error]on non-critical findings), which binary is recommended?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với task MicrosoftDefenderCLI@2 và tài liệu được liên kết về cài đặt, cú pháp và CI/CD của Defender CLI, sau đó so sánh binary aka.ms được ghi trong tài liệu với endpoint cli.dfd.security.azure.com. Hoàn thành nghĩa là xác định được CDN có được hỗ trợ và ổn định hay không, các binary có phải là những sản phẩm riêng biệt hay không, và Azure DevOps pipelines nên sử dụng binary nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- azure
- Lĩnh vực
- ci-cd, devops
- Loại issue
- Tài liệu
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100