SAST Scan with Bandit (Python)
该技能用于以安全工程师角色,对 Python 代码运行静态应用安全测试(SAST),工具为 Bandit。
适用场景 当被要求对 Python 代码执行 SAST 扫描或安全审查时,使用此技能。
前置条件 需已安装 Bandit(pip install bandit)。可通过 bandit --version 进行验证。
使用说明
- 确定目标——确定要扫描的 Python 文件或目录。
- 运行扫描: bandit -r <target-path> -f json -o bandit-results.json 针对特定测试:bandit -r <target> -t B101,B105,B608 -f json 按严重程度过滤:bandit -r <target> -ll -f json(中等及以上严重程度)
- 解析结果——读取 JSON 输出并以表格呈现发现项,表格列包括:序号、Severity(严重程度)、Confidence(置信度)、Test ID、File:Line(文件:行号)、Issue(问题)、Remediation(修复建议)。
- 汇总——提供:已扫描文件总数、按严重程度(HIGH / MEDIUM / LOW)统计的发现数量、带代码片段的关键发现,以及每个问题的具体修复建议。
常见 Bandit 测试 ID B101:使用了 assert(非用于安全目的) B105:硬编码密码字符串 B106:函数参数中的硬编码密码 B108:不安全的 /tmp 使用 B301:Pickle 使用(反序列化风险) B303:不安全的哈希(MD5/SHA1) B608:通过字符串格式化导致的 SQL 注入 B605:使用 shell=True 启动进程 B701:Jinja2 自动转义被禁用
限制:官方资料未提供关于收费、价格、平台支持范围或扫描性能的具体信息,暂未提供。