Docker Scout CLI 发布说明

此页面包含有关 Docker Scout CLI 插件docker/scout-action GitHub Action 的新功能、改进、已知问题和错误修复的信息。

1.18.4

2025-10-02

错误修复

  • VEX 和 SPDX 修复。

1.18.3

2025-08-13

新增功能

  • 添加 docker scout vex get 命令,用于从所有 VEX 证明中检索合并后的 VEX 文档。

错误修复

  • Docker Hardened Images (DHI) 的小修复。

1.18.2

2025-07-21

新增功能

  • docker scout attest get 添加 --skip-tlog 标志,以跳过针对透明度日志的签名验证。

增强功能

  • 为 DHI FIPS 和 STIG 证明添加人类可读的谓词类型名称。

错误修复

  • 不再过滤标记为 VEX under_investigation 状态的 CVE。
  • Docker Hardened Images (DHI) 的小修复。

1.18.1

2025-05-26

错误修复

  • 修复本地镜像的 docker scout attest listdocker scout attest get 问题。

1.18.0

2025-05-13

新增功能

  • 添加 docker scout attest listdocker scout attest get 命令以列出证明。
  • 添加对 Docker Hardened Images (DHI) VEX 文档的支持。

1.16.1

2024-12-13

错误修复

  • 修复 docker scout attestation add 命令的 in-toto 主体摘要。

1.16.0

2024-12-12

新增功能

  • docker scout sbom 命令添加密钥扫描功能。
  • 添加对来自 Tanzu Application Catalog 的镜像的证明支持。

增强功能

  • 使用 SPDX 许可证列表标准化许可证。
  • 使许可证唯一。
  • 在 markdown 输出中打印平台。
  • 保留原始模式以查找嵌套匹配项。
  • 更新以使 SPDX 输出符合规范。
  • 更新 Go、加密模块和 Alpine 依赖项。

错误修复

  • 修复 docker scout attest 命令中处理多个镜像的行为。
  • 在创建临时文件之前检查目录是否存在。

1.15.0

2024-10-31

新增功能

  • docker scout sbom 添加新的 --format=cyclonedx 标志,以 CycloneDX 格式输出 SBOM。

增强功能

  • 对 CVE 摘要使用从高到低的排序顺序。
  • 支持启用和禁用由 docker scout pushdocker scout watch 启用的仓库。

错误修复

  • 改进分析没有证明的 oci 目录时的消息提示。 仅支持单平台镜像和带有证明的多平台镜像。不支持没有证明的多平台镜像。
  • 改进分类器和 SBOM 索引器:
    • 添加 Liquibase lpm 分类器。
    • 添加 Rakudo Star/MoarVM 二进制分类器。
    • 添加 silverpeas 实用程序的二进制分类器。
  • 改进使用 containerd 镜像存储时的证明读取和缓存。

1.14.0

2024-09-24

新增功能

  • docker scout cves 命令中添加 CVE 级别的抑制信息。

错误修复

  • 修复列出悬空镜像(例如:local://sha256:...)的 CVE。
  • 修复分析文件系统输入时(例如使用 docker scout cves fs://.)发生的 panic。

1.13.0

2024-08-05

新增功能

  • docker scout quickviewdocker scout policydocker scout compare 命令添加 --only-policy 过滤器选项。
  • docker scout cvesdocker scout quickview 命令添加 --ignore-suppressed 过滤器选项,以过滤掉受 例外影响的 CVE。

错误修复和增强功能

  • 在检查中使用条件策略名称。

  • 添加对检测使用链接器标志设置的 Go 项目版本的支持,例如:

    $ go build -ldflags "-X main.Version=1.2.3"
    

1.12.0

2024-07-31

新增功能

  • 仅显示来自基础镜像的漏洞:

    CLI
    $ docker scout cves --only-base IMAGE
    
    GitHub Action
    uses: docker/scout-action@v1
    with:
      command: cves
      image: [IMAGE]
      only-base: true
  • quickview 命令中考虑 VEX。

    CLI
    $ docker scout quickview IMAGE --only-vex-affected --vex-location ./path/to/my.vex.json
    
    GitHub Action
    uses: docker/scout-action@v1
    with:
      command: quickview
      image: [IMAGE]
      only-vex-affected: true
      vex-location: ./path/to/my.vex.json
  • cves 命令(GitHub Actions)中考虑 VEX。

    GitHub Action
    uses: docker/scout-action@v1
    with:
      command: cves
      image: [IMAGE]
      only-vex-affected: true
      vex-location: ./path/to/my.vex.json

错误修复和增强功能

  • github.com/docker/docker 更新至 v26.1.5+incompatible 以修复 CVE-2024-41110。
  • 将 Syft 更新至 1.10.0。

1.11.0

2024-07-25

新增功能

  • 过滤 CISA 已知被利用漏洞目录中列出的 CVE。

    CLI
    $ docker scout cves [IMAGE] --only-cisa-kev
    
    ... (cropped output) ...
    ## Packages and Vulnerabilities
    
    0C     1H     0M     0L  io.netty/netty-codec-http2 4.1.97.Final
    pkg:maven/io.netty/netty-codec-http2@4.1.97.Final
    
    ✗ HIGH CVE-2023-44487  CISA KEV  [OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities]
      https://scout.docker.com/v/CVE-2023-44487
      Affected range  : <4.1.100
      Fixed version   : 4.1.100.Final
      CVSS Score      : 7.5
      CVSS Vector     : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    ... (cropped output) ...
    
    GitHub Action
    uses: docker/scout-action@v1
    with:
      command: cves
      image: [IMAGE]
      only-cisa-kev: true
  • 添加新的分类器:

    • spiped
    • swift
    • eclipse-mosquitto
    • znc

错误修复和增强功能

  • 允许在没有子组件时进行 VEX 匹配。
  • 修复附加无效 VEX 文档时发生的 panic。
  • 修复 SPDX 文档根目录。
  • 修复当镜像使用 SCRATCH 作为基础镜像时的基础镜像检测。

1.10.0

2024-06-26

错误修复和增强功能

  • 添加新的分类器:

    • irssi
    • Backdrop
    • CrateDB CLI (Crash)
    • monica
    • Openliberty
    • dumb-init
    • friendica
    • redmine
  • 修复仅包含空格的发起方导致 BuildKit 导出程序中断的问题

  • 修复在 SPDX 语句中解析带有摘要的镜像引用

  • 支持用于镜像比较的 sbom:// 前缀:

    CLI
    $ docker scout compare sbom://image1.json --to sbom://image2.json
    
    GitHub Action
    uses: docker/scout-action@v1
    with:
      command: compare
      image: sbom://image1.json
      to: sbom://image2.json

1.9.3

2024-05-28

错误修复

  • 修复检索缓存的 SBOM 时发生的 panic。

1.9.1

2024-05-27

新增功能

  • 通过在 docker scout cves 命令上使用 --format gitlab,添加对 GitLab 容器扫描文件格式 的支持。

    以下是示例管道:

       docker-build:
      # Use the official docker image.
      image: docker:cli
      stage: build
      services:
        - docker:dind
      variables:
        DOCKER_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
      before_script:
        - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    
        # Install curl and the Docker Scout CLI
        - |
          apk add --update curl
          curl -sSfL https://raw.githubusercontent.com/docker/scout-cli/main/install.sh | sh -s --
          apk del curl
          rm -rf /var/cache/apk/*
        # Login to Docker Hub required for Docker Scout CLI
        - echo "$DOCKER_HUB_PAT" | docker login --username "$DOCKER_HUB_USER" --password-stdin
    
      # All branches are tagged with $DOCKER_IMAGE_NAME (defaults to commit ref slug)
      # Default branch is also tagged with `latest`
      script:
        - docker buildx b --pull -t "$DOCKER_IMAGE_NAME" .
        - docker scout cves "$DOCKER_IMAGE_NAME" --format gitlab --output gl-container-scanning-report.json
        - docker push "$DOCKER_IMAGE_NAME"
        - |
          if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
            docker tag "$DOCKER_IMAGE_NAME" "$CI_REGISTRY_IMAGE:latest"
            docker push "$CI_REGISTRY_IMAGE:latest"
          fi
      # Run this job in a branch where a Dockerfile exists
      rules:
        - if: $CI_COMMIT_BRANCH
          exists:
            - Dockerfile
      artifacts:
        reports:
          container_scanning: gl-container-scanning-report.json

错误修复和增强功能

  • docker scout attest add 命令支持单架构镜像
  • docker scout quickviewdocker scout recommendations 命令上指示镜像来源是否未使用 mode=max 创建。 如果没有 mode=max,基础镜像可能会被错误检测,导致结果不准确。

1.9.0

2024-05-24

已废弃,由 1.9.1 取代。

1.8.0

2024-04-25

错误修复和增强功能

  • 改进 EPSS 分数和百分位数的格式。

    之前:

    EPSS Score      : 0.000440
    EPSS Percentile : 0.092510

    之后:

    EPSS Score      : 0.04%
    EPSS Percentile : 9th percentile
  • 修复分析本地文件系统时 docker scout cves 命令的 markdown 输出。docker/scout-cli#113

1.7.0

2024-04-15

新增功能

错误修复和增强功能

  • 修复使用 docker scout attestation add 向私有仓库中的镜像添加证明的问题

  • 修复基于空 scratch 基础镜像的镜像处理问题

  • Docker Scout CLI 命令的一个新 sbom:// 协议允许您从标准输入读取 Docker Scout SBOM。

    $ docker scout sbom IMAGE | docker scout qv sbom://
    
  • 添加 Joomla 包的分类器

1.6.4

2024-03-26

错误修复和增强功能

  • 修复基于 RPM 的 Linux 发行版的纪元处理

1.6.3

2024-03-22

错误修复和增强功能

  • 改进包检测以忽略引用但未安装的包。

1.6.2

2024-03-22

错误修复和增强功能

  • EPSS 数据现在通过后端获取,而不是通过 CLI 客户端。
  • 修复使用 sbom:// 前缀渲染 markdown 输出时的问题。

移除

  • docker scout cves --epss-datedocker scout cache prune --epss 标志已被移除。

1.6.1

2024-03-20
Note

此版本仅影响 docker/scout-action GitHub Action。

新增功能

  • 添加对传入 SPDX 或 in-toto SPDX 格式的 SBOM 文件的支持

    uses: docker/scout-action@v1
    with:
        command: cves
        image: sbom://alpine.spdx.json
  • 添加对 syft-json 格式的 SBOM 文件的支持

    uses: docker/scout-action@v1
    with:
        command: cves
        image: sbom://alpine.syft.json

1.6.0

2024-03-19
Note

此版本仅影响 CLI 插件,不影响 GitHub Action

新增功能

  • 添加对传入 SPDX 或 in-toto SPDX 格式的 SBOM 文件的支持

    $ docker scout cves sbom://path/to/sbom.spdx.json
    
  • 添加对 syft-json 格式的 SBOM 文件的支持

    $ docker scout cves sbom://path/to/sbom.syft.json
    
  • 从标准输入读取 SBOM 文件

    $ syft -o json alpine | docker scout cves sbom://
    
  • 按 EPSS 分数优先考虑 CVE

    • --epss 用于显示和优先考虑 CVE
    • --epss-score--epss-percentile 用于按分数和百分位数过滤
    • 使用 docker scout cache prune --epss 清理缓存的 EPSS 文件

错误修复和增强功能

  • 使用来自 WSL2 的 Windows 缓存

    当在运行 Docker Desktop 的 WSL2 内部时,Docker Scout CLI 插件现在使用来自 Windows 的缓存。这样,如果镜像已被 Docker Desktop 索引,则无需在 WSL2 端重新索引。

  • 如果使用 设置管理功能禁用了索引,则现在会在 CLI 中阻止索引。

  • 修复分析单镜像 oci-dir 输入时发生的 panic

  • 改进使用 containerd 镜像存储时的本地证明支持

早期版本

Docker Scout CLI 插件早期版本的发布说明可在 GitHub 上获取。