¿Qué es OWASP ASVS?#

Introducción#

El Application Security Verification Standard (ASVS) es un estándar creado por OWASP que define un conjunto de requisitos de seguridad para diseñar, desarrollar y probar aplicaciones web y servicios modernos.

Lanzado originalmente en 2008 como resultado de una colaboración global, el ASVS ha evolucionado significativamente. La versión 5.0 (mayo de 2025) representa un hito importante: modernizada para reflejar los últimos avances en seguridad de software, con aproximadamente 350 requisitos distribuidos en 17 capítulos.

**En pocas palabras:** El ASVS es el manual de referencia que responde a la pregunta *"¿qué tan segura es mi aplicación web?"*, con criterios claros, medibles y verificables.

Significado de Application Security Verification Standard (ASVS)#

El alcance del ASVS está definido por su propio nombre. Cada palabra tiene un significado preciso:

🖥️ Application (Aplicación)#

El ASVS se enfoca en el software que se está desarrollando: la aplicación misma. No dicta cómo debe construirse ni qué pipeline de CI/CD usar — define los resultados de seguridad que deben lograrse dentro del producto.

Componentes que sirven, modifican o validan tráfico HTTP (como WAFs, load balancers o proxies) también pueden considerarse parte de la aplicación para propósitos específicos.

🔒 Security (Seguridad)#

Cada requisito del ASVS debe tener un impacto demostrable en la seguridad. Si un requisito no hace la aplicación más segura, no pertenece al estándar. Consideraciones funcionales, estilo de código o políticas internas quedan fuera del alcance.

✅ Verification (Verificación)#

Cada requisito debe ser verificable y debe resultar en una decisión de “pasa” o “falla”. No hay zonas grises: o se cumple o no se cumple.

📋 Standard (Estándar)#

El ASVS es una colección de requisitos a implementar para cumplir con el estándar. No es una guía de recomendaciones — usa la palabra “must” (debe), no “should” (debería).


Los 3 Niveles de Seguridad#

El ASVS define tres niveles de verificación. Cada nivel aumenta en profundidad y complejidad:

### Nivel 1 — Básico Contiene el **~20% de los requisitos**: los más críticos y fundamentales. Son la primera línea de defensa contra ataques comunes que no requieren condiciones previas para ser explotables. **¿Para quién?** Startups, aplicaciones con datos poco sensibles, o como punto de partida para cualquier proyecto.
### Nivel 2 — Estándar Incluye el **~70% de los requisitos** (L1 + L2). Cubre ataques menos comunes o protecciones más complejas. Es el nivel al que **la mayoría de las aplicaciones debería aspirar**. **¿Para quién?** Aplicaciones comerciales, plataformas con datos de usuarios, servicios con información sensible.
### Nivel 3 — Avanzado El **100% de los requisitos**. Añade mecanismos de defensa en profundidad y controles difíciles de implementar. **¿Para quién?** Bancos, sistemas de salud, infraestructura crítica, aplicaciones gubernamentales o cualquier sistema que requiera el más alto nivel de seguridad.
**¿Qué nivel necesitas?** El ASVS no prescribe qué nivel debe alcanzar tu aplicación. La organización debe analizar sus propios riesgos y decidir. Un banco difícilmente puede justificar menos que el Nivel 3; una startup con datos limitados puede comenzar con el Nivel 1.

¿Para qué se usa el ASVS?#

El ASVS tiene múltiples casos de uso prácticos:

UsoDescripción
🏛️ Guía de arquitecturaAyuda a los arquitectos a elegir controles de seguridad adecuados para problemas comunes.
💻 Referencia de código seguroBase para guías de codificación segura dentro de equipos de desarrollo.
🧪 Tests automatizadosMarco para construir pruebas unitarias e de integración que verifiquen controles de seguridad.
🎓 CapacitaciónDefine qué debe saber un desarrollador para escribir código seguro.
📄 Compra de softwareEl comprador puede exigir que el software cumpla con ASVS Nivel X como requisito contractual.

Cómo se estructura un requisito#

Cada requisito tiene un identificador con el formato <capítulo>.<sección>.<requisito>:

v5.0.0-1.2.5
   │    │ │ └── Requisito #5
   │    │ └──── Sección #2 (Injection Prevention)
   │    └────── Capítulo #1 (Encoding and Sanitization)
   └─────────── Versión del estándar

Por ejemplo, el requisito 1.2.4 pertenece al capítulo V1 (Encoding and Sanitization), sección 1.2 (Injection Prevention), y establece que las consultas a bases de datos deben usar queries parametrizados.

**Tip:** Siempre incluye la versión al referenciar un requisito (`v5.0.0-1.2.4`) porque los identificadores pueden cambiar entre versiones mayores del estándar.

Principios clave de la versión 5.0#

La versión 5.0 fue diseñada con estos principios en mente:

1. Enfoque refinado — Los requisitos fueron reescritos para enfatizar la prevención de fallas de seguridad en lugar de imponer implementaciones técnicas específicas.

2. Decisiones de seguridad documentadas — Se introducen requisitos para documentar decisiones clave de seguridad, dando flexibilidad a las organizaciones para adaptar sus controles a sus necesidades específicas.

3. Niveles actualizados — El Nivel 1 fue simplificado para reducir la barrera de entrada. El Nivel 2 representa prácticas de seguridad estándar, y el Nivel 3 cubre requisitos avanzados de alta garantía.

4. Contenido ampliado — ~350 requisitos en 17 capítulos, con mapeo bidireccional desde v4.0 para facilitar la migración.


El ASVS no está solo#

El ASVS forma parte del ecosistema OWASP y trabaja en conjunto con otros proyectos:

**Siguiente paso:** Ahora que entiendes qué es el ASVS, explora las secciones técnicas para ver cómo se aplica en código real. - [V1 · Codificación y Sanitización](https://owasp-asvs.lacuevadelasado.com/v1-encoding-sanitization/) - [V2 · Validación y Lógica de Negocio](https://owasp-asvs.lacuevadelasado.com/v2-validation-business-logic/)