Revisión de Seguridad Ultra Thermonuclear para VibeCoding — Habilidad del Agente
Principio Fundamental
Nunca confíes en el cliente. Cada precio, ID de usuario, rol, estado de suscripción, feature flag y límite de tasa debe validarse o aplicarse del lado del servidor. Si solo existe en el navegador, el bundle móvil o el cuerpo de la solicitud, un atacante lo controla.
Principios adicionales — consulta core/principles.md:
- Defensa en profundidad: nunca confíes en un único control de seguridad
- Fallar de forma segura: cuando algo falle, deniega el acceso (fallo cerrado)
- Mínimo privilegio: otorga los permisos mínimos necesarios
- Validación de entrada: nunca confíes en la entrada del usuario — valida todo en el servidor
- Codificación de salida: codifica los datos según el contexto en el que se rendericen
Modos de Operación
Modo 1: AUDITORÍA (análisis posterior)
Se activa con: "ejecutar una auditoría de seguridad", "revisa esto en busca de vulnerabilidades", "auditoría de seguridad vibe", "¿es esto seguro?", o cualquier solicitud explícita de revisar código existente.
Proceso:
- Detecta el stack tecnológico (consulta el Paso 1 a continuación)
- Ejecuta la lista de verificación de 50 puntos — consulta
core/audit-process.md - Calcula la puntuación y compila el informe — consulta
core/output-format.md - Carga las referencias de vulnerabilidades relevantes y los módulos del stack según sea necesario
Modo 2: PREVENTIVO (durante la generación de código)
Se activa al escribir o revisar código que toca autenticación, pagos, acceso a bases de datos, claves API, secretos, datos de usuario o carga de archivos, incluso si el usuario no menciona seguridad.
Proceso:
- Identifica qué dominio de seguridad aplica al código que se está escribiendo
- Consulta el/los archivo(s) de referencia relevantes ANTES de generar código
- Aplica patrones seguros desde el principio
- Añade comentarios en línea explicando las decisiones de seguridad cuando no sea obvio
- Señala cualquier compensación de seguridad al usuario
Paso 1: Detectar Stack Tecnológico
Identifica las tecnologías del proyecto examinando estos archivos:
| Detectar | Busca |
|---|---|
| Framework | next.config.*, nuxt.config.*, astro.config.*, vite.config.*, angular.json, svelte.config.* |
| Gestor de paquetes | package.json, requirements.txt, go.mod, Gemfile, Cargo.toml, pubspec.yaml |
| Base de datos | prisma/, drizzle.config.*, supabase/, firebase.json, convex/ |
| Autenticación | Importaciones: @clerk, next-auth, @supabase/auth, @auth0, lucia, passport, firebase/auth |
| Almacenamiento | Importaciones: @aws-sdk/client-s3, @supabase/storage, @google-cloud/storage |
| APIs de IA | Importaciones: openai, @anthropic-ai/sdk, @google/generative-ai, langchain, @ai-sdk |
| Pagos | Importaciones: stripe, @paddle/paddle-node, @lemonsqueezy |
| Correo electrónico | Importaciones: resend, @sendgrid/mail, nodemailer |
| GraphQL | schema.graphql, importaciones: @apollo/server, graphql-yoga, type-graphql |
| Móvil | app.json (Expo), react-native.config.js, capacitor.config.* |
| Despliegue | vercel.json, netlify.toml, fly.toml, Dockerfile, docker-compose.*, .github/workflows/ |
| Edge Runtime | wrangler.toml, directivas de runtime edge en el código fuente |
Omite las comprobaciones que no apliquen al stack detectado.
Paso 2: Ejecutar Auditoría
Carga los archivos de lista de verificación relevantes y ejecuta:
Progreso de Auditoría:
- [ ] Paso 1: Detectar stack tecnológico
- [ ] Paso 2a: Ejecutar comprobaciones críticas (1-15) — consulta checklists/critical-15.md
- [ ] Paso 2b: Ejecutar comprobaciones estándar (16-40) — consulta checklists/standard-25.md
- [ ] Paso 2c: Ejecutar comprobaciones de producción (41-50) — consulta checklists/production-10.md
- [ ] Paso 3: Calcular puntuación y compilar informe — consulta core/output-format.md
Ejecuta las comprobaciones críticas primero — lee checklists/critical-15.md y ejecuta todas las comprobaciones antes de continuar.
Para cada comprobación, consulta los archivos de referencia pertinentes:
- Detalles de vulnerabilidades →
vulnerabilities/*.md - Patrones específicos del stack →
stack/*.md - Preparación para producción →
production/*.md
Escala de Gravedad
| Puntuación | Nivel | Acción Requerida |
|---|---|---|
| 10/10 | Crítico | Corregir antes de desplegar |
| 8-9/10 | Alto | Corregir dentro de 24 horas |
| 6-7/10 | Medio | Corregir dentro de 1 semana |
| 4-5/10 | Bajo | Corregir cuando sea oportuno |
| 1-3/10 | Informativo | Considerar abordarlo |
Puntuación del proyecto = 100 menos la suma de las puntuaciones de gravedad de todos los problemas encontrados (mínimo 0).
| Puntuación | Calificación |
|---|---|
| 90-100 | ✅ Excelente |
| 70-89 | ⚠️ Buena — problemas menores |
| 50-69 | 🟡 Aceptable — necesita atención |
| 30-49 | 🟠 Mala — riesgo significativo |
| 0-29 | 🔴 Crítica — no desplegar |
Paso 3: Informe de Salida
Usa el formato definido en core/output-format.md. Requisitos clave:
- Referencia archivos y números de línea exactos
- Muestra qué patrón coincidió para cada hallazgo
- Proporciona diferencias de código antes/después para cada problema
- Incluye una sección de Soluciones Rápidas (solucionable en menos de 10 minutos)
- Termina con un resumen priorizado
Índice de Referencias
Núcleo
core/principles.md— Principios de seguridad y estrategias de defensa en profundidadcore/audit-process.md— Enrutamiento y orden de ejecución de la lista de verificación de 50 puntoscore/output-format.md— Plantilla de informe con puntuación
Base de Conocimiento de Vulnerabilidades
vulnerabilities/injection.md— Inyección SQL, XSS, inyección de comandos, inyección LDAPvulnerabilities/access-control.md— IDOR, escalada de privilegios, asignación masivavulnerabilities/authentication.md— JWT, OAuth 2.0, PKCE, gestión de sesiones, seguridad de contraseñasvulnerabilities/csrf-ssrf.md— CSRF, SSRF, redirección abierta (con tablas de técnicas de omisión)vulnerabilities/file-upload.md— Magic bytes, archivos poliglotas, ZIP slip, SVG XSSvulnerabilities/cryptography.md— Cifrado, hashing, gestión de claves, reutilización de noncevulnerabilities/race-conditions.md— TOCTOU, doble gasto, patrones de exclusión mutua
Módulos Específicos del Stack
stack/supabase.md— Políticas RLS, autenticación, almacenamiento, Edge Functionsstack/firebase.md— Reglas de Seguridad, Firestore, autenticaciónstack/nextjs.md— Server Actions, Middleware, Route Handlers, App Routerstack/stripe-payments.md— Webhooks, validación de precios, flujos de suscripciónstack/react-native.md— Almacenamiento seguro, proxy de API, enlaces profundosstack/ai-llm.md— Protección de claves API, inyección de prompts, límites de uso, sanitización de salidastack/graphql.md— Introspección, limitación de profundidad, batching, consultas persistentesstack/docker-cicd.md— Seguridad de contenedores, endurecimiento de pipelines
Preparación para Producción
production/security-headers.md— CSP, HSTS, X-Frame-Options, Permissions-Policyproduction/deployment.md— Source maps, separación de entornos, endpoints de depuraciónproduction/compliance.md— RGPD, CCPA, eliminación de cuentas, retención de datosproduction/observability.md— Seguridad de logs, sanitización de PII, monitoreoproduction/dependency-audit.md— Paquetes fantasma, typosquatting, ataques a la cadena de suministro
Listas de Verificación Ejecutables
checklists/critical-15.md— 15 comprobaciones críticas (corregir antes de desplegar)checklists/standard-25.md— 25 comprobaciones estándar (corregir dentro de 1 semana)checklists/production-10.md— 10 comprobaciones de preparación para producción (antes del lanzamiento)
Al Generar Código
Estas reglas se aplican de forma proactiva. Antes de escribir código que toque autenticación, pagos, acceso a bases de datos, claves API o datos de usuario, consulta el archivo de referencia correspondiente para evitar introducir vulnerabilidades desde el principio. Siempre es mejor prevenir que detectar.
Ante la duda, elige la opción más restrictiva/segura y documenta la consideración de seguridad en los comentarios.