Contexto
Una vez implementados los talleres formativos (sistema de cursos con sesiones EA), Yap habrá crecido significativamente en funcionalidad. Nuevas features = nueva superficie de ataque. Es necesario realizar una auditoría de seguridad completa para garantizar que las nuevas capacidades no introdujeron vulnerabilidades.
Propuesta
Auditoría integral de seguridad cubriendo:
Alcance sugerido
-
Análisis de código fuente — Revisión manual de yap.py buscando:
- Inyección de comandos en
subprocess.run()
- Path traversal en carga de cursos/ejercicios
- Escritura insegura en
progress.json (validar contenido antes de escribir)
- Fugas de información sensible en logs o respuestas del LLM
-
Fuzzing de entradas — Pruebas con entradas maliciosas:
- Nombres de curso inyectados
- URLs malformadas en webfetch
- Caracteres especiales en consultas
-
Revisión de whitelists — Verificar que las nuevas integraciones no eludan:
- Whitelist de aplicaciones
- Whitelist de dominios
- Límite de caracteres en webfetch
-
AppArmor (si ya está implementado) — Verificar que el perfil sigue siendo efectivo con las nuevas features.
Métrica de éxito
- 0 vulnerabilidades críticas o altas
- 81+ tests de seguridad existentes siguen pasando
- Nuevos tests específicos para cada feature implementada en talleres formativos
Dependencia
Este issue depende de la implementación completa de los talleres formativos. No comenzar antes.
Referencias
tests/test_yap_security.py — 25 tests de seguridad existentes
tests/test_yap_functional.py — tests funcionales
- README.md → Fase 2 — pendientes de seguridad
Contexto
Una vez implementados los talleres formativos (sistema de cursos con sesiones EA), Yap habrá crecido significativamente en funcionalidad. Nuevas features = nueva superficie de ataque. Es necesario realizar una auditoría de seguridad completa para garantizar que las nuevas capacidades no introdujeron vulnerabilidades.
Propuesta
Auditoría integral de seguridad cubriendo:
Alcance sugerido
Análisis de código fuente — Revisión manual de
yap.pybuscando:subprocess.run()progress.json(validar contenido antes de escribir)Fuzzing de entradas — Pruebas con entradas maliciosas:
Revisión de whitelists — Verificar que las nuevas integraciones no eludan:
AppArmor (si ya está implementado) — Verificar que el perfil sigue siendo efectivo con las nuevas features.
Métrica de éxito
Dependencia
Este issue depende de la implementación completa de los talleres formativos. No comenzar antes.
Referencias
tests/test_yap_security.py— 25 tests de seguridad existentestests/test_yap_functional.py— tests funcionales