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

Un analizador de código necesita algo contra lo que probarse. 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 la 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. Se entra con los usuarios de prueba que aparecen en la portada y se empieza 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.

El audio que explica por qué la IA se vuelve tonta

Mando un email al día. Quien se apunta recibe en ese momento un audio de diez minutos con lo que casi nadie sabe de ChatGPT y Claude.

Daniel Alfocea