IDF Cyber Academy
← Labs

Lab · Intermedio

VAmPI

API REST vulnerable (Flask) para practicar el OWASP API Security Top 10 con especificación OpenAPI.

API SecurityRESTJWTOpenAPI
Opción principal

GitHub Codespaces

Entorno en la nube con Docker incluido. Solo requiere una cuenta de GitHub y consume la cuota gratuita personal de Codespaces. El puerto 5000 se reenvía de forma privada.

Alternativa

Docker local

Con Docker instalado, un solo comando levanta el lab en http://127.0.0.1:5000/ui/ (enlazado a 127.0.0.1, nunca expuesto a la red).

git clone https://github.com/idefensechile/lab-vampi.git && cd lab-vampi && docker compose up -d

Detener: docker compose down

Imagen
erev0s/vampi:latest
Puerto
127.0.0.1:5000
Proyecto original
erev0s/VAmPI
Blog iDefenseBorrador · próximamenteSeguridad en API (OWASP API Security Top 10)Referencia de los diez riesgos API1–API10 (BOLA, BOPLA, BFLA), por qué las APIs fallan distinto y cómo se prueban y defienden.

Qué es

VAmPI (Vulnerable API) implementa vulnerabilidades del OWASP API Security Top 10: BOLA, exposición excesiva de datos, mass assignment, SQLi, enumeración de usuarios, ausencia de rate limiting y JWT débil. Un interruptor (vulnerable=1|0) permite comparar la versión vulnerable con la corregida.

Cómo se ejecuta

  • Codespaces: arranca solo y reenvía el puerto 5000.
  • Docker local: docker compose up -d y luego poblar la base de datos:
curl http://127.0.0.1:5000/createdb

Herramientas recomendadas

curl, Postman/Insomnia o Burp Suite importando la especificación OpenAPI expuesta por la propia API.

Los retos guiados están en el módulo Lab: API Security con VAmPI.

Ver soluciones (1)Contiene spoilers. Conviene intentar cada reto antes y usar el writeup solo para contrastar.