Laboratorio de revisión de código segura y análisis estático (SAST) para las clases 238 (SAST), 323 (pruebas de seguridad del software) y 330 (análisis de código y automatización). Prepara el dominio Tools and Code Analysis de PenTest+ y Software Development Security de CISSP.
⚠️ La app de
vulnerable_app/es insegura a propósito. No la despliegues; es para analizarla estáticamente y corregirla.
Sin instalar nada (usa el contenedor de Semgrep) o con herramientas locales:
cd labs/appsec-code
./escanear.sh
# o directamente:
docker run --rm -v "$(pwd)":/src semgrep/semgrep semgrep --config auto /src/vulnerable_app
vulnerable_app/app.py): hay 8 vulnerabilidades plantadas. ¿El SAST las encontró todas? ¿Marcó algo que no es explotable (falso positivo)?app.py corregido; un nuevo escaneo no reporta las 8. Aceptación: consultas parametrizadas, subprocess sin shell=True, Argon2/bcrypt, sin eval/pickle sobre entrada, validación de rutas, sin secretos en código, debug=False.DB_PASSWORD/AWS_KEY a variables de entorno o un gestor de secretos.Inyección SQL · Inyección de comandos · Hash débil · Deserialización insegura · Path traversal ·
Ejecución de código (eval) · Secretos embebidos · Debug en producción.
La explicación y la corrección de cada una están en SOLUCION.md — míralo
después de intentarlo.