AppThreat's vulnerability database and package search library with a built-in file based storage. OSV, CVE, GitHub, npm are the primary sources of vulnerabilities.
Project description
Introduction
This repo is a vulnerability database and package search for sources such as Aqua Security vuln-list, OSV, NVD, GitHub, and NPM. Vulnerability data are downloaded from the sources and stored in a custom file based storage with indexes to allow offline access and quick searches.
Vulnerability Data sources
- Linux vuln-list (Forked from AquaSecurity)
- OSV (1)
- NVD (2)
- GitHub
- NPM
1 - We exclude linux and oss-fuzz feeds by default. Set the environment variable OSV_INCLUDE_FUZZ
to include them.
2 - We exclude hardware (h) by default. Set the environment variable NVD_EXCLUDE_TYPES
to exclude additional types such as OS (o) or application (a). An empty value means include all categories. Comma separated values are allowed. Eg: o,h
Linux distros
- AlmaLinux
- Debian
- Alpine
- Amazon Linux
- Arch Linux
- RHEL/CentOS
- Rocky Linux
- Ubuntu
- OpenSUSE/SLES
- Photon
- Chainguard
- Wolfi OS
Installation
pip install appthreat-vulnerability-db
Usage
This package is ideal as a library for managing vulnerabilities. This is used by dep-scan, a free open-source dependency audit tool. However, there is a limited cli capability available with few features to test this tool directly.
Download pre-built database
Use the ORAS cli to download a pre-built database containing all application and OS vulnerabilities.
export VDB_HOME=$HOME/vdb
oras pull ghcr.io/appthreat/vdb:v5 -o $VDB_HOME
Cache vulnerability data
Cache application vulnerabilities
vdb --cache
Typical size of this database is over 1.1 GB.
Cache application and OS vulnerabilities
vdb --cache-os
Note the size of the database with OS vulnerabilities is over 3.1 GB.
Cache from just OSV
vdb --cache --only-osv
It is possible to customise the cache behaviour by increasing the historic data period to cache by setting the following environment variables.
- NVD_START_YEAR - Default: 2018. Supports upto 2002
- GITHUB_PAGE_COUNT - Default: 2. Supports upto 20
Periodic sync
To periodically sync the latest vulnerabilities and update the database cache.
vdb --sync
Basic search
It is possible to perform simple search using the cli.
vdb --search android:8.0
vdb --search google:android:8.0
vdb --search android:8.0,simplesamlphp:1.14.11
vdb --search pkg:pypi/xml2dict@0.2.2
Syntax is package:version,package:version or vendor : package : version (Without space)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for appthreat_vulnerability_db-5.7.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09ca0a44c287ac2cb05f3b7bb1c74fda3b81138c0fc6495c26622184d184a315 |
|
MD5 | b3cde0735560d108b3af0a6683447b42 |
|
BLAKE2b-256 | beb8530628a16ce15a08c0dec518013dea2e09403dab6245348562425943a9cc |
Hashes for appthreat_vulnerability_db-5.7.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a499324f8a465111774598bfc43cda2f97d8831e9b06781975de312e8ed6f853 |
|
MD5 | 44962df7beea1e9e23792eac50691541 |
|
BLAKE2b-256 | a8e0c217ff914ec66d1f474c574a60175f18ee70f840737b13a1a55b9a4d1fe6 |