用途:扫描应用源码中的 SQL 注入漏洞,通过从入口点追踪用户输入到数据库查询构建的数据流,识别缺陷并给出修复建议。
主要能力:发现数据库交互代码(SQL 关键字与 ORM 原生查询方法如 raw()、execute()、createNativeQuery()、$wpdb->query());映射用户可控输入面(HTTP 参数、请求体、URL 路径、请求头、Cookie、文件上传、WebSocket);追踪数据流,标记未经参数化绑定的路径;检测字符串拼接、f-string/format 插值、模板字面量、无绑定 ORM 原生查询等模式;按 CVSS 3.1 评分并标注攻击类型(经典注入、布尔/时间盲注、UNION 外带、二次/存储型注入);评估数据泄露范围(绕过认证、数据外泄、数据篡改、经 xp_cmdshell 或 LOAD_FILE() 执行系统命令);生成参数化修复代码与纵深防御建议(输入白名单校验、参数化存储过程、最小权限数据库账号、WAF 规则、仅用 ORM 访问)。
使用方式:需在 ${CLAUDE_SKILL_DIR}/ 下可访问应用源码、数据库查询文件、ORM 模型与仓储/DAO 层,并已知框架语言(Django、Rails、Express、Spring、Laravel、ASP.NET、Go 等)与数据库类型(MySQL、PostgreSQL、SQLite、MSSQL、Oracle)。报告写入 ${CLAUDE_SKILL_DIR}/security-reports/sqli-scan-YYYYMMDD.md。检测模式库见 ${CLAUDE_SKILL_DIR}/references/implementation.md,示例漏洞分析见 ${CLAUDE_SKILL_DIR}/references/critical-findings.md,错误处理见 ${CLAUDE_SKILL_DIR}/references/errors.md,更多示例见 ${CLAUDE_SKILL_DIR}/references/examples.md。
适用场景:控制器与 API 处理程序中的动态查询构建扫描;对查询片段提出参数化改写并配套单元测试;检测用户资料更新流程中存储数据被管理端查询使用的二次注入。
限制:未知或自定义 ORM 只能套用通用模式,框架级指导有限;无法分析编译或压缩后的代码,需请求未压缩源码并说明检测精度下降;对已正确净化但未被识别的输入可能误报,需人工追踪确认;跨模块多步动态查询构建需人工追踪数据流并标记人工复核;缺少 .sql 源文件或数据库结构导出时无法分析存储过程定义。
参考:OWASP SQL 注入防护速查表 https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html ;CWE-89 https://cwe.mitre.org/data/definitions/89.html ;OWASP A03:2021 https://owasp.org/Top10/A03_2021-Injection/ ;CAPEC-66 https://capec.mitre.org/data/definitions/66.html 。