用途:在 Azure DevOps 项目与仓库范围内,通过 REST API 列出、筛选、汇总 Advanced Security 警示(依赖包漏洞、机密泄露、代码扫描),并查看单条警示详情。项目与仓库都必须提供才能取得警示。
主要能力:按严重性(critical、high、medium、low、note、warning、error、undefined)、状态(active、dismissed、fixed、autoDismissed)、警示类型(dependency、secret、code,另有较新的 license、aiCode)、信頼度(high、other)及是否仅默认分支筛选;支持分页(top、continuationToken);可生成按类型与严重性计数的汇总表;可查看单条警示的受影响文件、行号、说明、修补建议与规则信息。
使用方式:一律用 curl 直接调用 API,每条命令自带验证。组织读取环境变量 AZURE_DEVOPS_ORG;PAT 以 Basic 验证发送 -u ":$AZURE_DEVOPS_PAT",仅设置 AZURE_DEVOPS_EXT_PAT 时改用它,使用 Microsoft Entra ID 令牌时改为 -H "Authorization: Bearer $AZURE_DEVOPS_TOKEN"。令牌只从环境变量读取,不要粘贴到对话或写入文件。PAT 需 Advanced Security (Read)、Code (Read)、Project and Team (Read) 权限。路径中的项目与仓库名需 URL 编码,查询串中的 $ 写成 %24。警示 API 主机为 advsec.dev.azure.com。
限制:HTTP 401、403、203 或返回 HTML 登录页表示令牌无效、过期或权限不足;404 表示组织、项目或仓库名有误;含 VS2150009 表示该仓库未启用 Advanced Security。Windows PowerShell 需用 curl.exe,环境变量写作 $env:AZURE_DEVOPS_PAT,且不支持 <<'EOF',需先将 JSON 主体写入暂存文件再以 --data-binary "@body.json" 发送。取详情时不使用 expand=ValidationFingerprint,以免响应包含明文机密。未指定筛选时默认显示默认分支上所有作用中警示。其他未在资料中说明的细节暂未提供。