Frameworks y librerías escaneados
Probamos la cobertura mediante fixtures en estos frameworks. Se añaden nuevos patrones en cada release de reglas integradas.
Principales clases CWE detectadas
Estas clases CWE aparecen con mayor frecuencia en bases de código modernas de este lenguaje. StaticCodeAudit incluye reglas dedicadas para cada una, mapeadas a OWASP Top 10 / ISO 27001 / ASVS cuando es pertinente.
CWE-89
Inyección SQL
Concatenación de strings en JDBC Statement, JPA createQuery con concat, MyBatis ${...} en lugar de #{...}, Hibernate HQL con string format.
Detectado por la regla SCA: sql_injection_concat_java
CWE-611
XML External Entity (XXE)
DocumentBuilderFactory, SAXParserFactory, XMLReader sin FEATURE_SECURE_PROCESSING ni DTD deshabilitado. Permite fuga de archivos y SSRF.
Detectado por la regla SCA: xxe_injection
CWE-502
Deserialización insegura
ObjectInputStream.readObject Java nativo sobre bytes no confiables (la clase « Java serialization gadget » que llevó a log4shell). Los payloads Apache Commons Collections siguen funcionando en 2026.
Detectado por la regla SCA: unsafe_deserialization
CWE-78
Inyección de comando OS
Runtime.getRuntime().exec(userString) con string shell, ProcessBuilder con concat. Ambos interpretan metacaracteres shell.
Detectado por la regla SCA: command_injection_java
CWE-798
Credenciales hardcoded
Credenciales en application.properties commiteado, claves AWS en application.yml, secreto firma JWT como constante String.
Detectado por la regla SCA: hardcoded_secret
CWE-22
Path Traversal
new File(userPath), Files.readAllBytes(Paths.get(userPath)) sin verificación de anclaje raíz — típico en endpoints de almacenamiento multi-tenant.
Detectado por la regla SCA: path_traversal_python
Vulnerable vs. seguro — tres ejemplos rápidos
CWE-89
Detectado por la regla SCA: sql_injection_concat_java
// Vulnerable — Statement concat
String sql = "SELECT * FROM users WHERE name = \'" + name + "\'";
ResultSet rs = stmt.executeQuery(sql);
// Seguro — PreparedStatement con bind
PreparedStatement ps = conn.prepareStatement(
"SELECT * FROM users WHERE name = ?");
ps.setString(1, name);
ResultSet rs = ps.executeQuery();
CWE-611
Detectado por la regla SCA: xxe_injection
// Vulnerable — DocumentBuilderFactory por defecto
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Document doc = dbf.newDocumentBuilder().parse(input);
// Seguro — deshabilitar DTD + secure processing
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
Document doc = dbf.newDocumentBuilder().parse(input);
CWE-78
Detectado por la regla SCA: command_injection_java
// Vulnerable — string shell
Runtime.getRuntime().exec("ping -c 1 " + userInput);
// Seguro — array de argumentos, sin interpretación shell
ProcessBuilder pb = new ProcessBuilder("ping", "-c", "1", userInput);
pb.start();
Qué detecta StaticCodeAudit (este lenguaje)
- Inyección SQL en JDBC
Statement, JPA, MyBatis, Hibernate HQL con concat - XXE en
DocumentBuilderFactory,SAXParserFactory,XMLReader - Deserialización nativa Java sobre streams no confiables
- Inyección de comando vía
Runtime.exec,ProcessBuildercon string shell - Secretos hardcoded en
application.properties,application.yml - Path traversal en
new File,Files.readAllBytessin anclaje raíz - Inyección LDAP en
DirContext.search - Cookies inseguras (
setSecure,setHttpOnlyfaltantes en Servlet API) - CSRF: Spring Security
.csrf().disable()en config producción - Cripto insegura (MD5/SHA1 seguridad, DES, RC4, IV hardcoded)
- JWT algoritmo none, secreto HS256 hardcoded
- Sinks Log4j (detección patrón CVE-2021-44228)
- APIs deprecadas (SSLv3, javax.xml.ws Endpoint, sun.misc.Unsafe)
- Misconfiguraciones CI/CD (Maven/Gradle wrappers, tokens GitHub Actions)
Audite su código
Audite Spring Boot, JEE, Hibernate y JDBC contra vulnerabilidades OWASP Top 10, misconfiguraciones de framework y riesgos supply-chain — sin subir código a la nube.
Descargar el binario demo Reservar una demo guiada