ASVS en un párrafo
El OWASP Application Security Verification Standard (ASVS) es un catálogo de requisitos de seguridad para aplicaciones web, organizado en 17 capítulos (V1 a V17) y 3 niveles de verificación (L1: higiene básica, L2: la mayoría de aplicaciones, L3: objetivos de alto valor). La versión 5.0.0 define 348 requisitos individuales. Es una checklist tanto para personas y procesos como para herramientas — la mayoría de los requisitos describen un resultado ("verificar que X se aplica"), no un patrón de código, precisamente por eso un escaneo puramente estático no puede verificar mecánicamente cada línea.
El número honesto: 44 de 348
StaticCodeAudit vincula 44 requisitos ASVS v5.0.0 a al menos una regla de detección — cerca del 13% del estándar completo. No es un redondeo de marketing; es el conteo real del archivo de mapeo incluido con el escáner, y aparece idéntico en la sección de cumplimiento de cada informe generado.
| Capítulo | Cubierto |
|---|---|
V1Codificación, Sanitización y Sandboxing |
16 / 30 |
V3Seguridad del frontend web |
11 / 31 |
V6Autenticación |
4 / 48 |
V11Criptografía |
4 / 25 |
V4Seguridad de API y servicios web |
3 / 16 |
V5Manejo de archivos |
2 / 13 |
V9Tokens autocontenidos |
2 / 7 |
V12Comunicación segura |
1 / 12 |
V16Registro de seguridad y manejo de errores |
1 / 17 |
Por qué los otros 8 capítulos están en cero
V2 (Lógica de negocio), V7 (Gestión de sesión), V8 (Autorización), V10 (OAuth y OIDC), V13 (Configuración), V14 (Protección de datos), V15 (Codificación segura y arquitectura) y V17 (WebRTC) no tienen hoy ningún requisito vinculado a una regla. No es un descuido — la mayor parte de lo que piden esos capítulos no es visible como un patrón de código fuente: si un control de autorización es correcto para una regla de negocio dada, si un flujo OAuth está configurado con los scopes correctos en el proveedor de identidad, si un timeout de sesión está ajustado adecuadamente a la sensibilidad de los datos — esto requiere entender la intención y la configuración en tiempo de ejecución, no solo analizar sintaxis. El análisis estático es una entrada más para una evaluación ASVS, no un sustituto de la revisión humana que esos capítulos requieren.
Cómo un requisito se vincula a una regla real
Nueve ejemplos, directamente del archivo de mapeo — los identificadores de regla reales que producen un hallazgo cuando se disparan:
| Requisito | Nivel | Qué verifica | Regla(s) |
|---|---|---|---|
| 1.2.4 | L1 | Las consultas SQL usan consultas parametrizadas u ORM | sql_injection_fstring, sql_injection_concat… |
| 1.5.1 | L1 | Los parsers XML están configurados para prevenir XXE | xxe_injection, xxe_injection_csharp, xxe_injection_php |
| 3.4.3 | L1 | El header CSP está configurado | missing_csp_header |
| 3.5.1 | L1 | Las protecciones CSRF están habilitadas | django_csrf_exempt, spring_csrf_disabled |
| 6.3.3 | L2 | MFA está disponible para operaciones sensibles | missing_mfa_python, missing_mfa_javascript… |
| 9.1.2 | L1 | El algoritmo JWT "none" es rechazado | jwt_none_algorithm |
| 11.3.1 | L1 | Se usan algoritmos criptográficos fuertes | weak_crypto, weak_crypto_java… |
| 11.5.1 | L1 | Se usan generadores aleatorios criptográficamente seguros | weak_random_java, insecure_random… |
| 12.2.1 | L1 | Todas las conexiones usan TLS | http_no_tls, unencrypted_transfer |
La columna Nivel es la clasificación propia de ASVS (L1 = básico, L2 = estándar, L3 = alta garantía) — StaticCodeAudit no la asigna, se lee directamente de la especificación de OWASP.
Dónde aparece esto en el informe
Cada informe HTML de escaneo incluye una sección "OWASP ASVS v5.0.0 Compliance" con una matriz por requisito: cada uno de los 44 requisitos vinculados aparece como cubierto-y-limpio, cubierto-con-hallazgos, o no cubierto — no solo un porcentaje único. Un requisito con un hallazgo HIGH activo (por ejemplo, un hash MD5 que dispara el 11.3.1) se distingue visualmente de uno que está cubierto y pasa limpio, para que un revisor no tenga que adivinar cuál del 13% importa realmente para un código dado.
Generarlo usted mismo
Sin flag separado — la matriz ASVS es parte de cada informe HTML estándar:
./staticcodeaudit-linux-x86_64 /path/to/project --fail-on-high
La misma ejecución también produce las matrices ISO 27001 Anexo A y NIST CSF 2.0 lado a lado. Vea la página de cobertura de estándares para el detalle interactivo de los cuatro marcos.
Preguntas frecuentes
¿44/348 significa que StaticCodeAudit solo cumple un 13% con ASVS?
No — ese planteamiento confunde dos cosas distintas. 44/348 mide cuánto de la checklist ASVS puede verificar mecánicamente un escaneo de código fuente, no cuánto de ella cumple su aplicación. Un código puede cumplir plenamente un requisito ASVS dado sin que ninguna herramienta lo detecte (p. ej. un timeout de sesión correctamente configurado), y los 304 requisitos restantes simplemente no son el tipo de cosa que verifica el análisis estático.
¿El número 44 aumentará con el tiempo?
Ya se ha movido antes y puede volver a moverse a medida que se añaden nuevas reglas — se lee de un archivo de mapeo incluido con el escáner, no está fijado en un texto de marketing. Consulte el changelog para ver cuándo se publican actualizaciones del mapeo de cumplimiento.
¿La cobertura ASVS difiere según el nivel ASVS (L1/L2/L3)?
Sí — el nivel mostrado en la matriz es el definido por OWASP para ese requisito específico, no algo que decida el escáner. La mayoría de los 44 requisitos cubiertos son L1 (higiene básica); algunos, como la disponibilidad de MFA (6.3.3), son L2. Actualmente no hay nada vinculado en L3, coherente con que los requisitos L3 se inclinan hacia la revisión de arquitectura y proceso.
¿Puede esto reemplazar una evaluación ASVS manual?
No, y no se presenta como tal. Es una primera pasada rápida, repetible y sin conexión sobre los requisitos que realmente son visibles como patrones de código — evidencia útil para adjuntar a una evaluación manual, no un sustituto de la revisión humana que requieren capítulos como Autorización o Lógica de negocio.
Vea la matriz de cumplimiento completa sobre código real
Abra el informe de demostración en vivo y desplácese hasta la sección OWASP ASVS — sin instalación, sin registro.
Abrir el informe en vivo Descargar el binario de demo