Saltar al contenido
← Proyectos

Vulnerable Node

JavaScript 480 estrellas 2024

Vulnerable Node es una tienda web pequeña escrita en NodeJS con vulnerabilidades de verdad en el código, sin simular.

Por qué existe

Cuando construyes un analizador de código, necesitas algo contra lo que probarlo. Y las aplicaciones vulnerables que había, como OWASP NodeGoat, están bien para aprender pero no para medir una herramienta: sus fallos están simulados, y un analizador serio no los encuentra porque no están ahí.

Por eso escribí Vulnerable Node: una aplicación con los fallos metidos en el código fuente, en sitios identificables, para poder responder a una pregunta concreta. ¿Cuántos de estos encuentra tu herramienta?

Qué lleva dentro

Los fallos más comunes del OWASP Top 10: inyección, autenticación y sesiones rotas, XSS, referencias directas inseguras a objetos, configuración insegura, exposición de datos sensibles, CSRF y redirecciones sin validar. Todo dentro de una tienda con login, catálogo y compras, para que el código se parezca al de una aplicación real.

Cómo se usa

Un docker compose up levanta la aplicación con su base de datos. Entras con los usuarios de prueba que aparecen en la portada y empiezas a romper.

Lo usa la gente para medir analizadores de código, para practicar pentesting y para enseñar cómo no se programa en NodeJS. Este último es el uso que más me cuentan.

480 estrellas en GitHub.

Escucha el audio que explica por qué la IA se vuelve tonta

Mando un email al día y, nada más apuntarte, escuchas un audio de diez minutos con lo que casi nadie sabe de ChatGPT y Claude.

Daniel Alfocea