SuperAPI AI 工具集

second-order-injection-anti-pattern

安全与审计

查看项目

更新于 10-15 22:16

技能介绍

用途:这是一个安全反模式技能,针对二阶注入漏洞(CWE-89 的变体),适用于生成或审查会从数据库、日志中取回数据并再次用于查询或命令的代码。严重级别为高。

主要能力:说明二阶注入的机理——恶意载荷先被安全地存入数据库或日志,之后被取出并在未重新净化的情况下执行。初次存储看似安全(已正确参数化),但后续取回与不安全使用才激活载荷,注入点与执行点在时间和代码位置上分离,检测困难。反模式即把数据库取回的数据当作可信数据,未重新净化或参数化就用于查询或命令。

使用方式:资料给出 Python sqlite3 的对比示例。不安全写法在日志函数中把取回的 user_email 用 f-string 拼进 INSERT 语句;安全写法对所有用于 SQL 的数据一律参数化,无论来源,例如 db.execute("INSERT INTO logs (action, user_email) VALUES (?, ?)", (action, user_email))。检测建议:审计数据流,从入口经存储、取回、使用全程追踪;查找用字符串拼接构造的 SQL、shell 命令等解释型语句;审查存储过程中的动态 SQL;特别关注后台任务与异步任务。预防建议:所有查询一律参数化;永不信任数据库数据,源自用户输入的数据取回后仍视为污染;一致使用 ORM 并避免绕过保护的原始查询;输出到 HTML 前转义。

适用场景:代码生成、代码审查、安全审计中涉及数据库取数再拼接查询或命令的环节。

限制:资料未提供该技能的安装命令、运行方式、平台支持、收费信息或具体工具集成方式,这些暂未提供。相关参考包括 OWASP Top 10 A05:2025、OWASP 二阶 SQL 注入、CWE-89、CAPEC-66 等。