用于从NIST NVD下载CVE和CPE的Python库
项目描述
greenbone-scap - 用于从NIST NVD下载CVE和CPE信息的Python库
greenbone-scap Python包是一组工具和实用程序,用于从NIST NVD REST API下载CPE和CVE信息并将其导入PostgreSQL数据库。
目录
安装
需求
支持Python 3.11及更高版本。
使用pipx安装
您可以从Python包索引(pypi)使用pipx安装绿色骨头-scap的最新稳定版本。
python3 -m pipx install greenbone-scap
使用pip安装
[!注意] 由于PEP 668,较新的发行版(如Ubuntu 23.04)中的“pip install”命令不再默认工作。请使用通过pipx安装代替。
您可以从Python包索引(pypi)使用pip安装绿色骨头-scap的最新稳定版本。
python3 -m pip install --user greenbone-scap
使用
greenbone-scap Python包提供三个工具,
greenbone-cve-download
下载从NIST NVD到PostgreSQL数据库的所有CVE信息,greenbone-cpe-download
下载从NIST NVD到PostgreSQL数据库的所有CPE信息,greenbone-cpe-find
在PostgreSQL数据库中搜索特定的CPE。
所有三个工具都需要设置一个PostgreSQL数据库才能正常工作。PostgreSQL数据库的参数,如主机、端口、用户名和密码,可以通过环境变量或作为CLI参数传递来设置。
Docker Compose
通过提供的docker compose 文件,这些工具最容易使用。快速设置可以使用以下命令:
cd docker
echo "DATABASE_PASSWORD=my-super-safe-password" > .env
docker compose up
此外,可以使用NIST API密钥来扩展下载的速率限制。
echo "NVD_API_KEY=my-nist-api-key" >> .env
在第一次启动时,将下载所有CPE和CVE信息。这需要一些时间,具体取决于您的网络连接和NIST服务器的可靠性。在下一次启动时,仅更新或创建自上次启动以来更改和新出现的CPE和CVE。
要仅下载CPE,请运行docker compose up cpe
;要仅下载CVE,请运行docker compose up cve
。
要重新下载和更新所有CPE和CVE信息,可以通过运行docker volume rm greenbone-scap_data
删除数据卷。
要从头开始重新启动,必须关闭所有容器并删除卷。这可以通过运行docker compose down -v
来完成。
可以通过psql -U scap -h localhost -p 5432 scap
从Docker主机访问PostgreSQL数据库,并使用从.env
文件中定义的数据库密码。
命令补全
greenbone-scap
支持bash和zsh的命令行自动完成。所有greenbone-scap CLI命令都支持shell自动完成。以下示例部分解释了如何为bash和zsh设置greenbone-cve-download
的自动完成。
bash设置
echo "source ~/.greenbone-cve-download-complete.bash" >> ~/.bashrc
greenbone-cve-download --print-completion bash > ~/.greenbone-cve-download-complete.bash
或者,您可以直接使用bash shell的eval函数将自动完成的命令结果用于命令行。
eval "$(greenbone-cve-download --print-completion bash)"
zsh设置
echo 'fpath=("$HOME/.zsh.d" $fpath)' >> ~/.zsh
mkdir -p ~/.zsh.d/
greenbone-cve-download --print-completion zsh > ~/.zsh.d/_greenbone_cve_download
或者,您可以直接使用zsh shell的eval函数将自动完成的命令结果用于命令行。
eval "$(greenbone-cve-download --print-completion zsh)"
开发
greenbone-scap使用poetry来管理其依赖项和构建过程。
首先,通过pipx安装poetry。
python3 -m pipx install poetry
之后,在greenbone-scap
的检出目录(包含pyproject.toml
文件的目录)中运行以下命令,以安装所有依赖项,包括仅用于开发的包:
poetry install
之后,通过autohooks激活自动格式化和代码检查的git钩子。
poetry run autohooks activate
通过运行以下命令验证激活的git钩子:
poetry run autohooks check
维护者
该项目由Greenbone AG维护。
贡献
我们非常欢迎您的贡献。请通过GitHub 创建拉取请求。较大的更改需要先通过GitHub 问题部分与开发团队讨论。
许可证
版权(C)2024 Greenbone AG
许可协议为GNU通用公共许可证v3.0或更高版本。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
greenbone_scap-0.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8d63697f20dc3d5009ec23476efb35faafd89940e68a30d8a14d141c33d88569 |
|
MD5 | e54e001dc4677745767848764947afcd |
|
BLAKE2b-256 | 6b908825b805479241e8e4f67728fe6491aaf1bf143a9ae298c94e520bbcfe45 |
greenbone_scap-0.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2fcb901e9cdefe4862de63f7a2e3bbfb2b8e3a8cac61528100e69652fa8e5ee8 |
|
MD5 | 904d507990ebf784a8919fb08d2e0b9a |
|
BLAKE2b-256 | f91e188446d40027e8d34d42a316f24111a17473eebda676c0b4bc141998d55b |