Skip to main content

yardstick

A tool that can parse and compare the results of vulnerability scanner tools.

Manage and explore scan results:

# capture a new scan result for a specific tool and image
yardstick result capture --image ubuntu:20.04 -t grype@v0.11.0

# list all scan results that have been captured
yardstick result list

# explore the scan results interactively
yardstick result explore <UUID>

Manage true positive / false positive labels for images:

# explore labels applied to specific scan-result matches for an image and tool pair
yardstick label explore <UUID>

# list all managed labels
yardstick label list

Supported scanners:

  • grype
  • syft

F.A.Q.

"Why is syft on this list? It's not a vulnerability scanner!"

Right you are, however, capturing SBOM results that can be fed into grype or for reference during analysis is quite useful!

"Yardstick doesn't support vulnerability scanner X..."

PR's are welcome! The goal of this tool is to provide the analysis capabilities to understand how we can make these scanners better.

Result Sets

Result sets can be useful to operate on and track results from scans taken at the same time. For instance:

# .yardstick.yaml
result-sets:
  example:
    matrix:
      images:
        - ubuntu:20.04
      tools:
        - name: grype
          version: v0.32.0
        - name: grype
          version: v0.48.0
# capture results for all tools
$ yardstick result capture -r example

# see the specific result details
$ yardstick result list -r example

# perform a label comparison using all tooling
$ yardstick label compare -r example

Configuration

Sample application config:

# .yardstick.yaml

x-ref:
  images: &images
    - docker.io/cloudbees/cloudbees-core-mm:2.346.4.1@sha256:b8ec61aad2f5f9be2dc9c68923eab1de0e8b026176093ad2e0742fca310bf3bf

result-sets:
  pr-vs-latest:
    description: "latest released grype vs grype from the current build"
    matrix:
      images: *images
      tools:
        - name: syft                      # go ahead and capture an SBOM each time to help analysis later
          version: v0.54.0
          produces: SBOM

        - name: grype                     # from the latest published github release
          version: latest
          takes: SBOM

        - name: grype:pr                  # from a local PR checkout install (feed via an environment variable)
          version: env:CURRENT_GRYPE_COMMIT
          takes: SBOM

CLI Commands

  config  show the application config

  label   manage match labels

    add                   add a match label indication for an image
    apply                 see which labels apply to the given image and...
    compare               compare a scan result against labeled data
    compare-by-ecosystem  show TPs/FPs/Precision from label comparison...
    explore               interact with an label results for a single image...
    images                show all images derived from label data
    list                  show all labels
    remove                remove a match label indication for an image
    set-image-parent      set the parent image for a given image
    show-image-lineage    show all parents and children for the given image

  result  manage image scan results

    capture  capture all tool output for the given image
    clear    remove all results and result sets
    compare  show a comparison between tool output
    explore  interact with an image scan result
    images   list images in results
    import   import results for a tool that were run externally
    list     list stored results
    sets     list configured result sets
    show     show a the results for a single scan + tool
    tools    list tools in results

Release files for yardstick 0.16.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yardstick 0.16.2
File Size Uploaded
yardstick-0.16.2.tar.gz 185.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yardstick 0.16.2
File Interpreter ABI Platform
yardstick-0.16.2-py3-none-any.whl Python 3 none any Details

Total release size: 292.1 kB

Release files / yardstick-0.16.2.tar.gz

Download URL yardstick-0.16.2.tar.gz
Size 185.6 kB
Tags Source
SHA-256 checksum
How to use checksums
da0df4e2ecfdf1f256a486cd6621697224de36655efef4afcc746885e3bc1e4a
BLAKE2b-256 checksum
How to use checksums
ffe0ab7dbc4965d11c9c539f163c1b3d30db31e3b5fe15f7807beb6d0e03aefb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / yardstick-0.16.2-py3-none-any.whl

Download URL yardstick-0.16.2-py3-none-any.whl
Size 106.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa2cd819552dbce68ef49657dac81f3ef0e0cef90a7da5644c0eb01407d9ef40
BLAKE2b-256 checksum
How to use checksums
0fcabc3744d463a20ed53f2c2ef00488241bb6d11090b46686bc10deda088c16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.16.2 This release

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.0

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page