Skip to content
This page has been auto-translated and may contain errors.View in English

OWASP y bugs reales

El threat modelling se pregunta qué podría salir mal antes de construir algo.

OWASP te ayuda a reconocer qué ya salió mal en aplicaciones reales.

Un reporte de bug podría decir:

Un cliente que inició sesión puede cambiar el id en /orders/123 y leer el pedido de otra persona.

Eso es un bug real, pero también tiene un nombre compartido: control de acceso roto. En el OWASP Top 10, eso es A01.

Qué es OWASP

OWASP es el Open Worldwide Application Security Project, una comunidad sin fines de lucro que publica guías gratuitas de seguridad para aplicaciones.

El proyecto más conocido de OWASP es el OWASP Top 10. Es una lista de categorías de riesgo de seguridad comunes y graves en aplicaciones web.

Piénsalo como un mapa, no como una checklist.

La lista vigente actual es la de 2025

OWASP indica que la versión publicada más reciente es el OWASP Top 10 2025.

Los nombres y números de categoría de abajo corresponden a esa edición.

La lista le da a los desarrolladores un lenguaje común. En vez de decir "la app deja que los usuarios vean registros que no deberían ver", un equipo puede decir "esto es control de acceso roto."

El nombre corto no arregla el bug. Ayuda a que la gente encuentre más rápido la conversación correcta.

JunoQué es OWASP OWASP es como un mapa compartido de los problemas de seguridad más comunes en las apps.

El Top 10 no prueba que una app sea segura. Te ayuda a reconocer los tipos de errores que los desarrolladores siguen encontrando en apps web reales.

JunoQué es OWASP Usa el Top 10 como vocabulario en revisiones y reportes de bugs. "A01 control de acceso roto" es más corto que volver a explicar que un usuario puede acceder a datos o acciones fuera de sus permisos.

La ventaja práctica está en el direccionamiento. Una vez que la categoría tiene nombre, sabes qué parte del código revisar, qué pruebas escribir y qué capítulo del manual profundizará más adelante en el tema.

JunoQué es OWASP OWASP nació en 2001, cuando "seguridad de aplicaciones web" apenas se estaba ganando un lugar propio. El Top 10 se volvió popular porque diez categorías son más fáciles de llevar a una reunión que una pared llena de debilidades individuales.

Esa popularidad también es la trampa. "Cubrimos el Top 10" no es prueba de seguridad, es apenas una declaración de que revisaste el terreno común.

Las fallas interesantes siguen siendo las que se esconden en las decisiones específicas de tu producto, donde ninguna lista global conoce el extraño acuerdo que hiciste con la realidad.

Las categorías de 2025

No necesitas memorizar la lista. Lee cada categoría como una pregunta que puedes hacerte sobre el código.

CódigoCategoríaPregunta para el desarrollador
A01Control de Acceso Roto¿Puede alguien acceder a datos o acciones que no debería?
A02Configuración Incorrecta de Seguridad¿Se lanzó con alguna configuración insegura?
A03Fallas en la Cadena de Suministro de Software¿Puedes confiar en los paquetes, herramientas y flujo de compilación?
A04Fallas Criptográficas¿Los datos privados están protegidos al almacenarse o enviarse?
A05Inyección¿El texto ingresado por el usuario puede convertirse en una instrucción?
A06Diseño Inseguro¿La decisión insegura se tomó antes de que existiera el código?
A07Fallas de Autenticación¿La app puede identificar de forma confiable a quién tiene enfrente?
A08Fallas de Integridad de Software o Datos¿El código o los datos fueron alterados antes de llegar a ti?
A09Fallas de Registro y Alertas de Seguridad¿Alguien notaría el ataque?
A10Manejo Inadecuado de Condiciones Excepcionales¿Un error deja la app en un estado inseguro?

El orden importa menos que el hábito. Elige un bug real, ponle nombre a la categoría y luego explica el impacto en lenguaje simple.

Para el bug del id de pedido, la categoría es A01 Control de Acceso Roto. El impacto es: cualquier cliente que inició sesión puede leer el historial de pedidos y la dirección de entrega de otro cliente.

OWASP le da nombre al bug; tu reporte todavía tiene que explicar el daño.

JunoLas categorías de 2025 Cada categoría de OWASP es una bolsa que agrupa muchos bugs más pequeños.

Empieza con la pregunta simple. ¿Alguien puede leer algo privado? ¿Cambiar algo que no debería? ¿Hacer que la app deje de responder? El nombre de la categoría llega después de entender el daño.

JunoLas categorías de 2025 Ponle nombre a la categoría y luego escribe el resultado que percibe el usuario. A01 es útil, pero lo que ayuda a un equipo a priorizar es "cualquier cliente que inició sesión puede leer la dirección de otro cliente".

Eso evita que OWASP se convierta en una simple colección de etiquetas. La categoría dirige el trabajo. El impacto explica por qué ese trabajo importa.

JunoLas categorías de 2025 La lista de 2025 cambió porque el software cambió. Las fallas en la cadena de suministro pasaron a la lista principal, el manejo de condiciones excepcionales se convirtió en su propia categoría, y la falsificación de solicitudes del lado del servidor se integró al control de acceso roto.

Lee con cuidado los movimientos entre ediciones. Una categoría puede subir porque se volvió más amplia, porque cambiaron los colaboradores, o porque las herramientas mejoraron para detectarla. Un ranking es una señal, no un reporte meteorológico de toda la industria. Útil, sí. Omnisciente, no, lo cual probablemente sea lo mejor.

OWASP después de STRIDE

STRIDE y OWASP son útiles en momentos distintos.

HerramientaMejor momentoPregunta
STRIDEAntes y durante el diseño¿Qué podría salir mal?
OWASP Top 10Durante la revisión, pruebas y triage¿Qué tipo de bug es este?

En una sesión de planificación, STRIDE te ayuda a notar que QuickBite necesita calcular el precio en el servidor.

En un reporte de bug real, OWASP te ayuda a decir que el precio controlado desde el navegador es un problema de integridad, y probablemente entra en inyección, control de acceso o diseño inseguro, dependiendo de cómo funcione.

Las herramientas encajan entre sí:

  1. STRIDE predice posibles fallas.
  2. La app se construye y se prueba.
  3. OWASP ayuda a nombrar los bugs que aparecen.
  4. El triage de bugs convierte el hallazgo en prioridad y siguiente acción.
JunoOWASP después de STRIDE STRIDE sirve para preguntarte qué podría salir mal antes de lanzar la funcionalidad. OWASP sirve para reconocer qué tipo de bug tienes enfrente una vez que algo ya salió mal.

No tienes que elegir uno u otro. Responden preguntas diferentes.

JunoOWASP después de STRIDE Usa STRIDE en la planificación y OWASP en la revisión o el triage. Eso te da una línea de tiempo clara: predecir, construir, reconocer, priorizar.

Si un hallazgo llega con solo una etiqueta de OWASP, pide la reproducción y el impacto. La etiqueta es un indicador, no el reporte completo.

JunoOWASP después de STRIDE STRIDE es presión de diseño. OWASP es presión de reconocimiento. El triage es presión de entrega. Mezclarlos es como los equipos terminan con un threat model que se lee como un reporte de vulnerabilidad y un reporte de vulnerabilidad que se lee como un horóscopo.

Mantén los roles separados. Antes de que exista el código, pregunta qué podría salir mal. Una vez que existe un bug, ponle nombre a la clase, comprueba el comportamiento y declara el daño. Luego decide qué sigue antes de que la reunión se convierta en una lectura colectiva de la ansiedad de todos.

Ponlo a prueba

Cinco bugs de un backlog real. Ponle nombre a la categoría del OWASP 2025 para cada uno, y luego escribe el impacto en una frase que cualquier persona sin conocimientos técnicos pueda entender.

  1. Un cliente que inició sesión cambia el id en /orders/1042 y ve la dirección de entrega de otro cliente.
  2. El panel de administración se lanza con la contraseña por defecto todavía activa.
  3. Un cuadro de búsqueda inserta directamente el texto escrito en una consulta a la base de datos.
  4. Los intentos fallidos de inicio de sesión nunca quedan registrados en ningún lado.
  5. Una dependencia fue actualizada la semana pasada por una cuenta de mantenedor que había sido tomada por alguien más.
Compara tus respuestas
#CategoríaImpacto en palabras simples
1A01 Control de Acceso RotoCualquier cliente que inició sesión puede leer el historial de pedidos y la dirección de entrega de otro cliente
2A02 Configuración Incorrecta de SeguridadCualquiera que conozca la contraseña por defecto tiene control administrativo total
3A05 InyecciónUn visitante puede hacer que la base de datos ejecute comandos que la app nunca tuvo pensado permitir, leyendo o borrando datos
4A09 Fallas de Registro y Alertas de SeguridadAlguien puede adivinar contraseñas indefinidamente y nadie se enteraría jamás de que pasó
5A03 Fallas en la Cadena de Suministro de SoftwareCódigo que tú no escribiste ni revisaste está corriendo dentro de tu aplicación

El número 4 es el que genera más discusión, porque nada está técnicamente roto. Ese es justamente el punto de la categoría: la falla es que el ataque no deja rastro, así que ningún otro control tiene oportunidad de detectarlo.

Fíjate que la columna de impacto nunca nombra una categoría. Eso es intencional, y es el hábito que vale la pena quedarte: la categoría dirige el trabajo hacia el equipo correcto, y la frase que la acompaña es lo que hace que el trabajo se priorice.

Hacia dónde va esto ahora

OWASP te da nombres para los bugs comunes que aparecen en producción. El siguiente capítulo, triage de bugs, muestra cómo convertir uno de esos bugs en un reporte sobre el que un equipo pueda actuar.