跳转到主要内容

用于从NIST NVD下载CVE和CPE的Python库

项目描述

Greenbone Logo

greenbone-scap - 用于从NIST NVD下载CVE和CPE信息的Python库

GitHub releases PyPI release Build and test

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 (38.9 kB 查看哈希)

上传于

构建分发

greenbone_scap-0.2.0-py3-none-any.whl (41.2 kB 查看哈希值)

上传于 Python 3

由以下组织支持