Dependencias, registros y proceso
La seguridad no es una revisión de una sola vez. Estos puntos tratan sobre el código que no escribiste (tus dependencias) y sobre los hábitos que mantienen segura una aplicación después del lanzamiento.
Lista de verificación
- Fija y analiza las dependencias. Incluye un archivo de bloqueo (lockfile) y ejecuta un escáner de vulnerabilidades (y la auditoría de tu plataforma) en CI. Actualiza los paquetes con vulnerabilidades conocidas.
- Vigila los paquetes alucinados. Las herramientas de IA a veces importan un paquete que no existe; los atacantes registran esos nombres con malware ("slopsquatting"). Confirma que cada dependencia es la correcta y la prevista antes de instalarla.
- No ejecutes código no confiable ni pasos de compilación a ciegas. Un repositorio descargado o un script postinstall generado puede ejecutar código arbitrario. Revísalo antes de ejecutarlo.
- Registra eventos de seguridad, no secretos. Anota inicios de sesión, fallos, activaciones de limitación de tasa y acciones de administrador para auditoría. Nunca registres contraseñas, tokens, claves ni números de tarjeta completos.
- Maneja los errores sin filtrar información. Captura las excepciones, devuelve un mensaje genérico y mantén las trazas de pila y las consultas solo en los registros del servidor.
- Mantén un análisis estático en CI. Herramientas como Semgrep detectan errores de inyección y de autorización antes de que se fusionen.
- Prueba como un atacante. Tu suite de pruebas debe incluir casos de entrada no válida y de acceso no autorizado, no solo el camino feliz. Cuando la suite pase, ejecuta un escáner de caja negra (por ejemplo, OWASP ZAP) contra la URL desplegada.
- Obtén una revisión independiente. Una auditoría propia pasa por alto cosas, sobre todo los puntos ciegos del propio autor. Antes de un lanzamiento más amplio, contrata una prueba de penetración externa y considera mapear tu aplicación a un estándar como OWASP ASVS.
- En funciones de IA, prueba la capa del modelo. Si tu aplicación introduce contenido no confiable en un prompt, somételo a un red team para detectar inyección de prompts y fugas de datos entre usuarios o inquilinos. Mantén la seguridad real en el código (limita cada herramienta y cada consulta al usuario actual), nunca en las instrucciones del prompt.
- Ten un plan de recuperación. Mantén copias de seguridad de las que realmente hayas restaurado, y un plan para rotar secretos y revocar sesiones si algo se filtra.
Cómo probar
- Ejecuta tu auditoría de dependencias y un escaneo de secretos en CI y lee la salida.
- Apunta un escáner de caja negra a staging.
- Pide a alguien que no escribió el código que intente romperlo.