用途:面向 Python Web 应用(尤其是 FastAPI 与 Flask)识别并修复安全配置错误(OWASP A02:2025)。资料指出该风险在 OWASP Top 10:2025 中升至第 2 位,出现于 3.00% 的应用、超过 719,000 次。
工作流程:识别框架(Flask、FastAPI 或两者);运行 Bandit SAST 扫描;逐项对照检查清单并标记问题;生成含 CWE ID、严重级别与修复片段的报告;修复后重跑 Bandit 与动态响应头扫描验证。
主要检查项:调试模式暴露(Flask 的 app.run(debug=True) 等,Bandit B201);硬编码密钥(Bandit B105/B106/B107,建议用 os.environ 或 pydantic-settings);FastAPI 的 /docs 与 /redoc 在生产禁用;缺失或薄弱安全响应头(HSTS、X-Content-Type-Options、X-Frame-Options、CSP、Referrer-Policy、Permissions-Policy,Flask 可用 flask-talisman,FastAPI 可用中间件与 secure 包);Cookie 不安全标志(Secure/HttpOnly/SameSite);XXE 处理(lxml 需 resolve_entities=False、no_network=True、load_dtd=False,或用 defusedxml,Bandit B405/B408/B410);多余功能与攻击面(Werkzeug profiler、flask-admin、调试端点、未用中间件);云与基础设施配置(S3、sslmode=disable、过于宽松的 CORS)。
工具用法:pip install bandit,随后 bandit -r ./app -f json -o bandit-report.json,可按 B105,B106,B107,B201,B405,B408,B410 过滤;OWASP ZAP 基线扫描示例 docker run -t owasp/zap2docker-stable zap-baseline.py -t https://your-app.example.com -r zap-report.html;预防建议 pip install python-dotenv pydantic-settings。
限制:代码级扫描无法覆盖全部基础设施配置错误;部分项需人工复核(/docs 暴露、Cookie 标志、安全响应头);资料未提供具体定价、平台支持或效果数据。