Skip to main content

vulnlist

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

vulnlist-demo

Supported data sources:

Installation

With pip:

pip install vulnlist

With docker:

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

Where:

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

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

Getting Started

List the available vulnerability data providers:

$ vulnlist list

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

Download and process a provider:

$ vulnlist 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. vulnlist -vv run wolfi)

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

$ vulnlist clear wolfi

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

Example config file for changing application behavior:

# .vulnlist.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 vulnlist 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 "vulnlist"?

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 "vulnlist" :).

Download files

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

Source Distribution

vulnlist-0.22.0.tar.gz (99.8 kB view details)

Uploaded Source

Built Distribution

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

vulnlist-0.22.0-py3-none-any.whl (123.0 kB view details)

Uploaded Python 3

File details

Details for the file vulnlist-0.22.0.tar.gz.

File metadata

  • Download URL: vulnlist-0.22.0.tar.gz
  • Upload date:
  • Size: 99.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.9 Linux/6.5.0-1018-azure

File hashes

Hashes for vulnlist-0.22.0.tar.gz
Algorithm Hash digest
SHA256 0d67faf9a01e855413af929af84184ac71ec693a67c411e194c5691e0c6c7910
MD5 ec4e5cd4f8fd923ad1e1e9c73d0efc56
BLAKE2b-256 edeb4c17fe77f46faeebe3b0b6fe1433072f568f71a1116e752a3ad39417de55

See more details on using hashes here.

File details

Details for the file vulnlist-0.22.0-py3-none-any.whl.

File metadata

  • Download URL: vulnlist-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 123.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.9 Linux/6.5.0-1018-azure

File hashes

Hashes for vulnlist-0.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a97b7e1806f584763cd5ae325b83f4a5b162ca3a3512aae201879cc4f6062e3
MD5 691c65f0a4565adad138f03ef79f32e2
BLAKE2b-256 68211465f2a8a508df5ed72f310eacc275f791d1acb65a5305a86206db320f9c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.22.0 This release

2 files

Supported by

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