What problem does it solve?
White-box auditors reviewing Java codebases need a systematic way to determine whether injection vulnerabilities actually exist, rather than flagging every dangerous API call. This Skill verifies whether filtering along each Source-to-Sink path is sufficient, using structured EVID_* dataflow evidence as audit input.
Core Features & Use Cases
- Six Injection Classes: Covers SQL injection (JDBC/MyBatis/Hibernate/JPA), command injection (Runtime.exec/ProcessBuilder), SSRF (HttpURLConnection/OkHttp/RestTemplate), SpEL/OGNL expression injection, LDAP injection, and NoSQL injection (MongoDB).
- Dangerous vs Safe Pattern Comparison: A reference document pairs vulnerable code with secure alternatives, such as MyBatis ${} vs #{}, PreparedStatement misuse, and SimpleEvaluationContext sandboxing.
- Standardized Severity Scoring: Applies the java-audit-pipeline formula Score = R0.40 + I0.35 + C*0.25 so findings are rated consistently.
- Use Case: Given EVID_SQL_* evidence showing a MyBatis mapper using ${orderColumn} for ORDER BY, the auditor traces the parameter source, confirms no whitelist exists, marks it confirmed, and assigns a severity score.
Quick Start
Audit the Java project for injection vulnerabilities using the EVID evidence produced by the java-audit-pipeline and report confirmed findings with severity scores.