SuperAPI AI 工具集

injection

通用与其它

查看项目

更新于 10-16 05:44

技能介绍

用途:这是一个 Python 安全测试技能,针对 FastAPI 与 Flask 应用中的注入类漏洞,对应 OWASP A05:2025。资料指出注入类虽在 2025 年由第 3 位降至第 5 位,但 CVE 数量最多(62,445,其中 XSS 超 3 万)。

覆盖类型:SQL 注入(CWE-89)、XSS(CWE-79)、服务端模板注入 SSTI(CWE-94)、OS 命令注入(CWE-78/77)、ORM 注入、输入校验失败(CWE-20),以及 2025 年新增的 LLM 提示注入相关类别。

主要能力:提供各类型的危险与安全代码对照,例如 SQL 应使用绑定参数 text("... :email") 传字典,而非 f-string、.format() 或字符串拼接,优先用 ORM 方法;Jinja2 需确认 autoescape 对模板类型为 True,谨慎使用 |safe,必要时用 markupsafe.escape;避免用用户输入构造模板或 render_template_string,需要动态模板时使用 jinja2.sandbox.SandboxedEnvironment;执行子进程应使用参数列表并 shell=False,避免 shell=True、os.system、os.popen,并对文件名做白名单校验。FastAPI 推荐用 Pydantic 模型(constr、Field)在建解析阶段校验;Flask 可用 WTForms 或 marshmallow 手动校验。LLM 场景应将用户内容放在 user 角色,不注入 system 提示,并配合输入输出过滤、最小权限工具与结构化输出。

使用方式:用 Bandit 扫描(pip install bandit;bandit -r ./app -f json -o bandit_report.json),关注 B608、B602、B603、B605、B606、B607、B701;用 OWASP ZAP 做 DAST(zap-baseline.py 或更激进的 zap-full-scan.py,通过 docker 运行 owasp/zap2docker-stable)。可接入 CI/CD,例如在 GitHub Actions 中运行 Bandit 并上传 SARIF。

适用场景:审计 Python Web 应用注入风险、代码评审、CI 安全流水线。限制:资料未提供具体收费、平台授权或效果数据;扫描工具与载荷清单仅供参考,测试前需确保获得授权。