Summary
Add Java and Kotlin language support — critical for Android development and enterprise backend validation.
Patterns to Detect
Java Security
Runtime.exec() — command injection
Statement.executeQuery() with string concatenation — SQL injection
ObjectInputStream.readObject() — deserialization attacks
System.getenv() fallback with hardcoded secrets
new File() with user-controlled path — path traversal
javax.script.ScriptEngine.eval() — code injection
Kotlin Security
exec() — command injection
println() leaking sensitive data
- Hardcoded secrets in companion objects
!! (non-null assertion) on user input — NPE in production
Hallucinations
- Non-existent Java packages (
com.google.ai.magic)
- Invented Spring Boot annotations
- Fake Kotlin extension functions
- Non-existent Android APIs
Logic
- Empty catch blocks
catch (Exception e) catching everything
- Missing
@Override annotations
- Resource leaks (unclosed streams/connections)
Acceptance Criteria
Difficulty
Intermediate — Java/Kotlin syntax is regular enough for pattern matching.
Summary
Add Java and Kotlin language support — critical for Android development and enterprise backend validation.
Patterns to Detect
Java Security
Runtime.exec()— command injectionStatement.executeQuery()with string concatenation — SQL injectionObjectInputStream.readObject()— deserialization attacksSystem.getenv()fallback with hardcoded secretsnew File()with user-controlled path — path traversaljavax.script.ScriptEngine.eval()— code injectionKotlin Security
exec()— command injectionprintln()leaking sensitive data!!(non-null assertion) on user input — NPE in productionHallucinations
com.google.ai.magic)Logic
catch (Exception e)catching everything@OverrideannotationsAcceptance Criteria
.javaand.ktfiles auto-detectedDifficulty
Intermediate — Java/Kotlin syntax is regular enough for pattern matching.