简化OWASP dependency-check-cli在Python项目中的安装
项目描述
- 代码::
- 文档::
- CI::
- 问题::
概述
dependency-check 扫描应用程序依赖项,并检查它们是否包含已发布的漏洞(基于NIST NVD)。它在JVM中运行,因此您需要在您的 PATH 中提供某种形式的 java。该脚本应在Linux、Mac OSX和Windows上运行,但目前仅在Linux上进行了测试。
用法
安装后,您将获得 dependency-check 命令,首次使用时,将自动下载和安装OWASP发布存档,供所有项目使用。然后它将重定向对该安装的任何调用,这意味着下载的NVD数据将在项目之间共享。
dependency-check --disableAssembly -s . -o build --project "$(python ./setup.py --name)" \
--exclude ".git/**" --exclude ".venv/**" --exclude "**/__pycache__/**" --exclude ".tox/**" \
&& xdg-open build/dependency-check-report.html
有关更多配置和使用详情,请参阅 DependencyCheck 网站。
要从PyPI安装,请将 dependency-check 添加到您的 dev-requirements.txt 或类似文件。有关更多安装选项,请参阅下面的“安装”部分。
自定义
使用环境变量,您可以更改发布归档的版本和下载位置,以及本地安装的目录。
变量 |
默认 |
---|---|
DEPENDENCY_CHECK_VERSION |
6.2.2 |
DEPENDENCY_CHECK_URL |
https://github.com/jeremylong/DependencyCheck/releases/download/v{version}/dependency-check-{version}-release.zip |
DEPENDENCY_CHECK_HOME |
~/.local/dependency-check |
DEPENDENCY_CHECK_NVD_URL |
使用NIST NVD URL |
要更新到OWASP软件的新版本,请删除 ~/.local/dependency-check/bin/,将 DEPENDENCY_CHECK_VERSION 设置为新版本号,并调用 dependency-check。
变量 DEPENDENCY_CHECK_NVD_URL 可以用来指向一个包含压缩JSON文件的本地NVD feeds副本,采用扁平的层次结构。
export DEPENDENCY_CHECK_NVD_URL='https://repo.local/nvd/nvdcve-1.1-%d.json.gz'
如果您设置了此变量,则将在每次调用中添加选项 --cveUrlBase 和 --cveUrlModified。请注意,代表年份的 %d 在后者中被替换为 modified。
删除 ~/.local/dependency-check/data/ 目录以强制完全重新加载数据。
安装
要仅将 dependency-check CLI工具安装到您的家目录,独立于任何项目,请像平常一样调用 python3 -m pip install --user dependency-check,有关可用的版本概述,请参阅 releases。
如果您更喜欢一个**隔离且易于移除的venv安装**,请考虑使用 dephell jail install dependency-check。
要从源代码获取最新版本,请使用以下命令
repo="jhermann/dependency-check-py" python3 -m pip install -r "https://raw.githubusercontent.com/$repo/master/requirements.txt" python3 -m pip install "https://github.com/$repo/archive/master.zip#egg=dependency-check"
作为开发者,要为该项目创建一个工作目录,请调用以下命令
git clone "https://github.com/jhermann/dependency-check-py.git" cd "dependency-check-py" command . .env --yes --develop invoke build --docs test check
您可能还需要遵循一些 设置过程,以便在 Linux、Mac OS X 和 Windows 上提供必要的基本命令。
其他Python安全工具
openstack/bandit – 通过静态AST分析,设计用于在Python代码中查找常见安全问题的安全代码检查器。
pyupio/safety – 对安装的依赖项进行安全检查,查找已知的安全漏洞。
pyupio/safety-db – Python包中安全漏洞的精选数据库。
eliasgranderubio/dagda – 对Docker镜像中的已知漏洞、木马、病毒、恶意软件及其他恶意威胁进行静态分析,并监控容器运行时异常活动。
anchore/anchore-engine – 提供作为可部署Docker容器镜像的服务,用于检查、分析和认证容器镜像。
vintasoftware/python-linters-and-code-analysis – Python代码检查器和代码分析工具的精选列表。