用途:对 Python 代码做静态安全扫描,识别 eval/exec、shell=True 子进程、pickle 反序列化、弱哈希、硬编码密码、yaml.load 等常见不安全模式,并把发现映射到 CWE 与 OWASP Top 10:2021。
主要能力:优先调用已安装的 Bandit 递归扫描并输出 JSON,解析 test_id、严重级别、置信度、文件与行号;按严重程度去重排序,生成含 Severity、CWE、OWASP、Location、Issue、Remediation 的表格报告,并给出修复优先级。
使用方式:先检测工具,命令为 which bandit || python -m bandit --version;未安装可执行 pip install bandit(最低 1.7+,无需 API Key)。已安装时运行 bandit -r . -f json -q。若未安装且用户拒绝安装,则执行十项人工检查(eval/exec、shell=True、硬编码密码、pickle、md5/sha1、assert、通配导入、try-except-pass、tempfile.mktemp、yaml.load),报告须标注为有限审查,且不得引用 B 系列测试编号。
适用场景:部署前审查 Python 代码、PR 中 .py 文件的安全检查、查找 eval/exec/pickle/硬编码密码等模式。
限制:仅适用于 Python;非 Python 代码、代码风格检查、运行时动态分析、安全测试代码生成、CI/CD 安全流水线等请求应拒绝并推荐相应工具。未运行 Bandit 时不得声称 Bandit 结果、版本或文件数。