Docker Scout CLI 发布说明

本页面包含有关 Docker Scout 的新功能、改进、已知问题以及错误修复的信息,涉及 Docker Scout 的 CLI 插件 以及 docker/scout-actionGitHub Action

1.15.0

2024-10-31

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

增强功能

  • 对CVE摘要使用从高到低的排序方式。
  • 通过 docker scout pushdocker scout watch 启用或禁用仓库的支持。

错误修复

  • 在分析包含 oci 个目录且无证明(attestations)的情况时,改进消息提示。 仅支持单平台镜像,以及 带有证明 的多平台镜像。 不支持无证明的多平台镜像。
  • 改进分类器和SBOM索引器:
    • 添加 Liquibase 的分类器 lpm
    • 添加 Rakudo Star/MoarVM Binaries的分类器。
    • 添加 silverpeas 工具的Binaries分类器。
  • 通过 containerd 镜像存储改进对证明(attestations)的读取和缓存。

1.14.0

2024-09-24

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

错误修复

  • 修复悬挂镜像的CVE列表显示问题,例如:local://sha256:...
  • 修复在分析文件系统输入时出现的恐慌问题,例如输入 docker scout cves fs://.

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 命令中处理 VEX(GitHub Actions)。

    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

Bug 修复

  • 修复检索缓存 SBOM 时的异常。

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 基础镜像的镜像处理问题

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

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

1.6.4

2024-03-26

错误修复和功能增强

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

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

注意

此版本仅影响 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

注意

此版本仅影响 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 上获取。