ワンクリックで
java-sql-audit
深度识别 Java 数据库交互逻辑,检测潜在 SQL 注入的审计工具。重点排查拼接、动态查询及非参数化风险。当要求排查数据库安全或 SQL 注入漏洞时调用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
深度识别 Java 数据库交互逻辑,检测潜在 SQL 注入的审计工具。重点排查拼接、动态查询及非参数化风险。当要求排查数据库安全或 SQL 注入漏洞时调用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
基于 ID 串联的 API 逻辑漏洞深度审计工具。支持源码及 jar/class 反编译,精准追踪 Controller 传参点,自动提取并利用泄漏的 ID 进行跨接口参数碰撞,挖掘越权与信息泄露漏洞。内建危险操作(删除/修改等)过滤机制。
Trae 专属 Java 代码安全审计全自动流水线。当你需要一键自动执行完整的代码审计(反编译、路由提取、鉴权扫描、组件扫描、漏洞深挖、最终汇总)时调用此技能。它会自动使用 Agent Team 进行多阶段的并发调度和质检。
Java 鉴权机制与越权漏洞审查工具。智能识别 Spring Security、Shiro 及自定义拦截器,评估访问控制缺陷。当需要检查接口权限、发现未授权访问或越权风险时调用。
Java 业务逻辑漏洞专属审计工具。重点排查越权漏洞(IDOR)、并发漏洞(竞态条件)、验证码绕过、支付与密码找回等与技术组件无关,但严重影响业务安全的逻辑缺陷。
Java 反序列化漏洞审查工具。深入扫描 ObjectInputStream、Fastjson、Jackson、XStream 等反序列化入口,检查 JEP 290 过滤及相关利用链(如 CC 链)风险。当用户要求审查反序列化漏洞或 JSON 解析安全时调用。
Java 文件操作与上传/下载漏洞审查工具。排查路径遍历、任意文件上传及危险扩展名处理。当要求检查文件上传、下载功能或目录穿越漏洞时调用。
| name | java-sql-audit |
| description | 深度识别 Java 数据库交互逻辑,检测潜在 SQL 注入的审计工具。重点排查拼接、动态查询及非参数化风险。当要求排查数据库安全或 SQL 注入漏洞时调用。 |
此工具专门用于分析 Java 应用程序的数据库交互层(DAO/Mapper 层),检测潜在的 SQL 注入(SQLi)漏洞。通过模式识别与参数化检查,定位所有未经过滤即执行的动态 SQL 查询。
java-ai-code-audit 或安全流水线的一部分被调度执行。框架定位与自动化提取 (Framework Detection & Automated Extraction)
*Mapper.xml),必须优先调用专属提取脚本来提取包含 ${} 的 SQL 片段,避免 AI 直接读取大段 XML 产生遗漏或解析错误:
python .trae/skills/java-sql-audit/scripts/mybatis_sql_extractor.py -d <project_dir> -o mybatis_sqli_risks.json
根据生成的 JSON 文件快速定位风险点。@Query 注解、EntityManager 的 createQuery()、createNativeQuery() 方法。java.sql.Connection、Statement、PreparedStatement、ResultSet。漏洞模式匹配 (Vulnerability Pattern Matching) 针对不同框架,检查以下高危模式(Sink):
$ 拼接):
${} 语法。重点审查 ORDER BY ${column}, LIKE '%${value}%', 以及 IN (${ids}) 这类常见的拼接场景。# 是安全的参数化预编译,而 $ 是直接字符串拼接,极易导致注入。"FROM User WHERE username = '" + name + "'")。.setParameter() 绑定参数,而是直接传入带变量的字符串。Statement.executeQuery() 和 Statement.executeUpdate(),且传入的 SQL 语句是由 + 拼接而成。PreparedStatement 中是否也混杂了动态拼接的表名或字段名。数据流追踪与可控性分析 (Source to Sink Tracing) 这是确认漏洞是否可利用的关键步骤。
@RequestParam),而非系统内部写死的常量或白名单枚举值。过滤与绕过分析 (Filter & Bypass Analysis)
if (Arrays.asList("id", "name").contains(orderBy)))。replace("'", "")),尝试分析其是否可以被绕过。强制执行: 输出报告时,必须严格遵守全局审计报告输出规范:../shared/references/audit_reporting_standards.md。
在漏洞描述中,必须包含数据流可控性说明,例如:“ORDER BY ${sortField} 直接拼接了 Controller 层传来的 sortField 参数,且未做任何校验,属于完全可控的 ORDER BY 型注入。”
$ 变量可能在代码内部被写死,或其来源完全受控(如从配置文件读取),这种情况下属于安全用法,请遵循全局 taint_analysis_rules.md 排除误报。关于各 ORM 框架的安全查询构建方法,请参阅 references/sqli_prevention.md。
详细的 SQL 注入特征与高危代码模式,请参考 references/sqli_patterns.md。
全局共享规范: 数据流追踪与报告格式必须遵守 ../shared/references/ 下的规则文档。