Skip to main content

vunnel

A tool for fetching, transforming, and storing vulnerability data from a variety of sources.

GitHub release License: Apache-2.0 Join our Discourse

vunnel-demo

Supported data sources:

Prerequisites

The following system tools must be available on your PATH:

  • git - Required by some providers that fetch data from git repositories

Installation

With pip:

pip install vunnel

With docker:

docker run \
  --rm -it \
  -v $(pwd)/data:/data \
  -v $(pwd)/.vunnel.yaml:/.vunnel.yaml \
    ghcr.io/anchore/vunnel:latest  \
      run nvd

Where:

  • the data volume keeps the processed data on the host
  • the .vunnel.yaml uses the host application config (if present)
  • you can swap latest for a specific version (same as the git tags)

See the vunnel package for a full listing of available tags.

Getting Started

List the available vulnerability data providers:

$ vunnel list

alpine
amazon
chainguard
debian
echo
github
mariner
minimos
nvd
oracle
rhel
sles
ubuntu
wolfi

Download and process a provider:

$ vunnel run wolfi

2023-01-04 13:42:58 root [INFO] running wolfi provider
2023-01-04 13:42:58 wolfi [INFO] downloading Wolfi secdb https://packages.wolfi.dev/os/security.json
2023-01-04 13:42:59 wolfi [INFO] wrote 56 entries
2023-01-04 13:42:59 wolfi [INFO] recording workspace state

You will see the processed vulnerability data in the local ./data directory

$ tree data

data
└── wolfi
    ├── checksums
    ├── metadata.json
    ├── input
    │   └── secdb
    │       └── os
    │           └── security.json
    └── results
        └── wolfi:rolling
            ├── CVE-2016-2781.json
            ├── CVE-2017-8806.json
            ├── CVE-2018-1000156.json
            └── ...

Note: to get more verbose output, use -v, -vv, or -vvv (e.g. vunnel -vv run wolfi)

Delete existing input and result data for one or more providers:

$ vunnel clear wolfi

2023-01-04 13:48:31 root [INFO] clearing wolfi provider state

Example config file for changing application behavior:

# .vunnel.yaml
root: ./processed-data

log:
  level: trace

providers:
  wolfi:
    request_timeout: 125
    runtime:
      existing_input: keep
      existing_results: delete-before-write
      on_error:
        action: fail
        input: keep
        results: keep
        retry_count: 3
        retry_delay: 10

Use vunnel config to get a better idea of all of the possible configuration options.

FAQ

Can I implement a new provider?

Yes you can! See the provider docs for more information.

Why is it called "vunnel"?

This tool "funnels" vulnerability data into a single spot for easy processing... say "vulnerability data funnel" 100x fast enough and eventually it'll slur to "vunnel" :).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vunnel-0.62.0.tar.gz (741.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vunnel-0.62.0-py3-none-any.whl (258.2 kB view details)

Uploaded Python 3

File details

Details for the file vunnel-0.62.0.tar.gz.

File metadata

  • Download URL: vunnel-0.62.0.tar.gz
  • Upload date:
  • Size: 741.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vunnel-0.62.0.tar.gz
Algorithm Hash digest
SHA256 0af4eab0fa585abfff2df4693af9c3f81a1461400705a9d5f29f25d958e0f2fa
MD5 3fec1e946abbda5f9df6da0ba91986f0
BLAKE2b-256 bda74afdb87cdfe63d81a54aa916b64e6c6436d613edbe51baa67dd830cde014

See more details on using hashes here.

File details

Details for the file vunnel-0.62.0-py3-none-any.whl.

File metadata

  • Download URL: vunnel-0.62.0-py3-none-any.whl
  • Upload date:
  • Size: 258.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vunnel-0.62.0-py3-none-any.whl
Algorithm Hash digest
SHA256 198aeb9acfb7dfddcfe079cb2329c2108db0f6ac43932ec8e818c46d13231bfb
MD5 5d02efa1591579764c6b792631b8e071
BLAKE2b-256 42f7e7e39d6ba9230f2c5a3c8d27e750082cb2ad97ee0d778d3499ef91ffeb52

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page