安全漏洞|pip-audit:功能强大的安全漏洞扫描工具

安全漏洞|pip-audit:功能强大的安全漏洞扫描工具

关于pip-auditpip-audit是一款功能强大的安全漏洞扫描工具 , 该工具主要针对Python环境 , 可以帮助广大研究人员扫描和测试Python包中的已知安全漏洞 。 pip-audit使用了PythonPackagingAdvisory数据库PyPIJSONAPI作为漏洞报告源 。
功能介绍


1、支持对本地环境和依赖组件(requirements风格文件)进行安全审计;
2、支持多种漏洞服务(PyPI、OSV);
3、支持以CycloneDX XML或JSON格式发送SBOM;
4、提供人类和机器均可读的输出格式(columnar、JSON);
5、无缝接入 / 重用本地pip缓存;
工具安装pip-audit基于Python开发 , 且要求本地环境为Python 3.7或更新版本 。 安装并配置好Python环境之后 , 就可以使用下列命令并通过pip来安装pip-audit了:
python -m pip install pip-audit

第三方包pip-audit的正常运行需要使用到多个第三方包 , 具体组件包名称和版本如下图所示:

除此之外 , 我们还可以通过conda来安装pip-audit:
conda install -c conda-forge pip-audit
工具使用我们可以直接将pip-audit以独立程序运行 , 或通过“python -m”运行:
pip-audit --help

python -m pip_audit --help

usage: pip-audit [-h
[-V
[-l
[-r REQUIREMENTS
[-f FORMAT
[-s SERVICE


                 [-d
[-S
[--desc [{onoffauto

[--cache-dir CACHE_DIR


                 [--progress-spinner {onoff
[--timeout TIMEOUT


                 [--path PATHS
[-v
[--fix
[--require-hashes


audit the Python environment for dependencies with known vulnerabilities

optional arguments:

  -h --help            show this help message and exit

  -V --version         show program's version number and exit

  -l --local           show only results for dependencies in the local

                        environment (default: False)

  -r REQUIREMENTS --requirement REQUIREMENTS

                        audit the given requirements file; this option can be

                        used multiple times (default: None)

  -f FORMAT --format FORMAT

                        the format to emit audit results in (choices: columns

                        json cyclonedx-json cyclonedx-xml) (default:

                        columns)

  -s SERVICE --vulnerability-service SERVICE

                        the vulnerability service to audit dependencies