What CodeSlick Checks in Java
CodeSlick analyzes Java code with 32 security checks targeting the vulnerability classes most prevalent in enterprise Java applications: unsafe deserialization, SQL injection in JDBC, XXE in XML parsers, and Spring Security misconfigurations. Analysis runs in under 3 seconds with CWE classification and CVSS scoring on every finding.
Check your Java code for deserialization vulnerabilities, SQL injection, and XXE issues in under 3 seconds.
32 Security Checks for Java
Deserialization (CWE-502)
- ObjectInputStream: Unsafe
readObject()calls without validation — the #1 Java-specific RCE vector - XStream deserialization: Unsafe XStream usage without security framework configuration
- Jackson polymorphic typing:
enableDefaultTyping()enabling deserialization gadget chain attacks
Injection
- JDBC SQL injection: String concatenation in
Statement.execute(),executeQuery() - JNDI injection:
InitialContext.lookup()with user-controlled arguments (Log4Shell attack vector) - OS command injection:
Runtime.exec()andProcessBuilderwith user-controlled arguments - Path traversal:
new File(userInput)without path canonicalization
XML Security (CWE-611)
- XXE in SAX parsers: Missing
FEATURE_SECURE_PROCESSINGflag onSAXParserFactory - XXE in DOM parsers: Missing external entity disabling on
DocumentBuilderFactory - XXE in JAXB: Unsafe unmarshalling configuration
Spring Security
- CSRF disabled:
.csrf().disable()in Spring Security configuration - Permissive CORS:
allowedOrigins("*")with credentials enabled - Missing method security:
@PreAuthorizeabsent on sensitive service methods
Cryptography
- Weak algorithms: MD5, SHA-1, DES in
MessageDigestandCipher - Hardcoded secrets: Embedded passwords, API keys, and private keys in Java source
- Insecure random:
java.util.Randomfor security-sensitive operations (useSecureRandom)
Spring and Enterprise Java Coverage
CodeSlick understands Spring Boot, Spring MVC, and Spring Security idioms:
- Spring Data JPA: Detects native queries with string concatenation
- Spring Web: Flags
@RequestMappingcontrollers passing user input to unsafe operations without validation - Spring Security config: Identifies misconfigurations in
WebSecurityConfigurerAdaptersubclasses - Bean validation bypass: Detects direct use of request body fields without
@Validor@Validated
Enterprise Java frameworks (JBoss/WildFly, Jakarta EE, Micronaut) are also covered — any JDBC, JAX-RS, or CDI code is analyzed with the same 32 checks.
AI Code Detection in Java
CodeSlick includes 12 Java-specific AI code detection patterns that identify hallucinations from GitHub Copilot, ChatGPT, and Claude in Java code:
- Non-existent API calls: Methods that do not exist in the Java standard library or common frameworks
- Incorrect exception handling: Swallowing exceptions in patterns characteristic of LLM-generated boilerplate
- LLM fingerprints: Verbose Javadoc patterns and over-engineered generics typical of AI generation
How to Use the Free Java Checker
No account required:
- Visit codeslick.dev/analyze
- Select Java from the language selector
- Paste your Java code or upload a
.javafile - Click Analyze
- Review findings — Tier 1 (syntax errors) and Tier 2 (security issues) are displayed separately
For team-wide scanning on every PR, install the CodeSlick GitHub App — it runs all 32 Java checks automatically.