You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure CLI获取存在安全漏洞的容器镜像列表?

获取ACR中存在安全漏洞的带标签镜像

前置说明

Azure容器注册表(ACR)的漏洞扫描基于Trivy,需确保扫描功能已启用(默认可能已开启,若未启用可执行az acr update --name myregistry --scan-enabled true)。

方法1:批量遍历并筛选(适合自定义逻辑)

通过循环遍历所有仓库及标签,检查每个镜像的扫描结果:

# 获取所有仓库名称
REPOS=$(az acr repository list --name myregistry --output tsv)

# 遍历每个仓库
for REPO in $REPOS; do
  # 获取当前仓库的所有标签
  TAGS=$(az acr repository show-tags --name myregistry --repository $REPO --output tsv)
  # 遍历每个标签
  for TAG in $TAGS; do
    # 获取镜像的清单摘要(扫描结果关联清单而非标签)
    DIGEST=$(az acr repository show --name myregistry --repository $REPO --tag $TAG --query 'digest' --output tsv)
    # 获取扫描状态
    SCAN_STATUS=$(az acr vulnerability scan list-results --name myregistry --repository $REPO --digest $DIGEST --query 'scanStatus' --output tsv)
    
    # 仅处理已完成扫描的镜像
    if [ "$SCAN_STATUS" = "Completed" ]; then
      # 获取严重/高危漏洞数量
      CRITICAL_COUNT=$(az acr vulnerability scan list-results --name myregistry --repository $REPO --digest $DIGEST --query 'summary.critical' --output tsv)
      HIGH_COUNT=$(az acr vulnerability scan list-results --name myregistry --repository $REPO --digest $DIGEST --query 'summary.high' --output tsv)
      
      # 若存在严重或高危漏洞则输出
      if [ "$CRITICAL_COUNT" -gt 0 ] || [ "$HIGH_COUNT" -gt 0 ]; then
        echo "存在风险的镜像: $REPO:$TAG | 严重漏洞: $CRITICAL_COUNT | 高危漏洞: $HIGH_COUNT"
      fi
    fi
  done
done

方法2:单命令高效筛选(适合快速查询)

利用Azure CLI的JMESPath查询直接过滤出有风险的镜像:

az acr vulnerability scan list-results --name myregistry \
  --query "[?scanStatus=='Completed' && (summary.critical > 0 || summary.high > 0)].{镜像: repository + ':' + tag, 严重漏洞数: summary.critical, 高危漏洞数: summary.high}" \
  --output table

自定义筛选规则

你可以根据需求调整查询条件:

  • 包含中危漏洞:将条件改为summary.critical > 0 || summary.high > 0 || summary.medium > 0
  • 仅看严重漏洞:条件改为summary.critical > 0
  • 获取漏洞详情:去掉--query参数,或修改查询字段为[?条件].{...漏洞详情: vulnerabilities}

内容的提问来源于stack exchange,提问作者Python coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:50:24