FixVibe

// docs / security guides / claude code checklist

Checklist de seguridad de Claude Code: 26 ítems

Claude Code (el agente CLI de Anthropic) genera bases de código completas mediante comandos de barra diagonal, gestiona la refactorización de múltiples archivos y lee /writes archivos a través de bash. Esta lista de verificación se enfoca en los riesgos específicos de Claude Code: no hay políticas de seguridad predeterminadas, rara vez se agregan límites de velocidad, <code>.claude/CLAUDE.md</code> como su archivo de barrera de seguridad y el riesgo de comprometer <code>.env</code> o tokens almacenados en caché. 26 elementos entre secretos, base de datos, autenticación, encabezados, implementación y errores específicos de Claude Code.

PRE = implementación previa (audite su fuente). DEPLOY = en el momento de la implementación. POST = verificación posterior a la implementación. Referencia de artículos FixVibe verifique los ID en formato category.check-id cuando sea relevante.

Secretos y claves API (5 artículos)

Claude Code lee árboles fuente completos y genera archivos completos. Los secretos en su contexto se convierten en secretos en el resultado.

  1. PRE — Create .claude/CLAUDE.md with security policies. Agregar: "Security Rules: Nunca inserte claves service_role en paquetes de clientes. Enrute siempre las operaciones confidenciales a través de puntos finales exclusivos del servidor. Verifique que NEXT_PUBLIC_* las variables de entorno contengan solo valores seguros (sin claves, sin tokens)". Claude Code lee .claude/CLAUDE.md para obtener orientación sobre el proyecto.
  2. PRE — Ensure .env.local is in .gitignore. Claude Code puede confirmar accidentalmente .env.local durante una refactorización. Ejecute git ls-files .env* para comprobar qué se está rastreando. Si .env.local está presente, está expuesto.
  3. PRE — Audit generated API routes for env-var verification. Claude Code a veces se olvida de verificar que process.env.SECRET existe en el lado del servidor antes de usarlo. Las rutas deberían fallar rápidamente si falta una var de entorno, no caer en un valor predeterminado.
  4. PRE — Check the .claude cache directory. Claude Code almacena en caché el contexto de la conversación en .claude/cache o .claude/history. Estos archivos no deben confirmarse. Agregue .claude/ a .gitignore.
  5. POST — Run secrets.browser-storage on the deployed app. Si Claude Code inserta una clave, el escaneo pasivo la encontrará en el paquete renderizado.

Control de acceso a la base de datos (4 artículos)

Claude Code es excelente generando esquemas, pero las políticas RLS necesitan instrucciones explícitas.

  1. PRE — Instruct Claude Code on RLS in .claude/CLAUDE.md. Agregar: "Cada migración debe incluir ALTER TABLE ... ENABLE ROW LEVEL SECURITY y FORCE ROW LEVEL SECURITY. Cada política debe validar el auth.uid() del usuario".
  2. PRE — Review generated migrations for FORCE ROW LEVEL SECURITY. Claude Code puede generar ENABLE pero olvida FORCE. Sin FORCE, los propietarios de la tabla (el corredor de migración) omiten RLS. Agréguelo manualmente si falta.
  3. DEPLOY — Test RLS enforcement after deploy. Abra Supabase Studio, elija una mesa, confirme que RLS alternar es ON. Si la migración de Claude Code utilizó ENABLE sin FORCE, el interruptor dirá ON pero la aplicación está incompleta.
  4. POST — Run the baas.supabase-rls active check. Intenta escribir con la tecla anon. Si tiene éxito, RLS está incompleto. Agregue FORCE a la migración y vuelva a implementar.

Autenticación y sesiones (4 artículos)

Claude Code genera bien los flujos de autenticación, pero no agrega automáticamente limitación de velocidad ni verifica todas las reclamaciones de tokens en el lado del servidor.

  1. PRE — Mandate server-only auth verification in .claude/CLAUDE.md. Agregar: "Cada ruta API que mute datos debe verificar al usuario con await supabase.auth.getUser() en el servidor. Nunca confíe en getSession() o en el usuario ID del cuerpo de la solicitud".
  2. PRE — Check generated auth handlers for token expiry. Los tokens de enlace mágico y de restablecimiento de contraseña necesitan ser aplicados por el servidor expires_at. Pregunte a Claude Code: "Agregue un cheque que rechace tokens de más de 1 hora".
  3. PRE — Verify sign-in redirect guards. La redirección del parámetro next debe comenzar con / y no con //. Agregar a .claude/CLAUDE.md: "Validar el parámetro next: debe comenzar con /, rechazar si comienza con // o contiene un protocolo".
  4. POST — Test logout clears cookies. Iniciar sesión, cerrar sesión, inspeccionar Aplicación → Cookies. La cookie de sesión debe borrarse. Si persiste, el punto final de cierre de sesión no está destruyendo el estado.

HTTP encabezados y CSP (3 elementos)

Claude Code no genera middleware de forma predeterminada a menos que usted lo solicite.

  1. PRE — Add middleware request to .claude/CLAUDE.md. Incluye: "Genere src/middleware.ts con Content-Security-Policy utilizando encabezados nonce por solicitud, HSTS, X-Frame-Options y X-Content-Type-Options". Luego pídele a Claude Code que lo implemente.
  2. PRE — Verify src/middleware.ts exists and has CSP. Con el diseño Next.js src/, el middleware debe estar en src/middleware.ts, no en la raíz del proyecto. Verifique que el encabezado CSP incluya 'strict-dynamic' y un nonce.
  3. POST — Run headers.security-headers on the deployed URL. La verificación informa que faltan encabezados y sugiere soluciones para su plataforma.

Higiene del despliegue (4 artículos)

Claude Code no configura su plataforma de implementación; esa es su responsabilidad, pero vale la pena comprobarlo.

  1. DEPLOY — Scope env vars per environment in Vercel (or equivalent). Configuración → Variables de entorno → asigne cada secreto solo a Producción. Nunca comparta sk_live_* con Vista previa o Desarrollo.
  2. DEPLOY — Audit your CI workflow for secret echo. Si GitHub Acciones u otro CI tiene echo $SECRET en cualquier lugar, elimínelo. Los registros de compilación se archivan; Los secretos en los registros están comprometidos.
  3. Configuración de DEPLOY — Prefer platform-native secret storage. Vercel → Las variables de entorno están cifradas; GitHub Los secretos de acciones son mejores que nada, pero no coinciden con el almacenamiento nativo de la plataforma.
  4. POST — Rotate any key that reached a public build. Si una clave apareció en una Vercel Vista previa URL o en cualquier artefacto público incluso durante segundos, está comprometida. Girar inmediatamente.

Claude Code errores específicos (5 artículos)

Patrones exclusivos de la arquitectura y los flujos de trabajo de Claude Code:

  1. Claude Code forks work into subagents. En tareas grandes, Claude Code puede generar múltiples instancias de subagente, cada una con un contexto de base de código parcial. Si un subagente alucina un patrón de seguridad secreta que otro no, surge una inconsistencia. Revise cuidadosamente la diferencia final.
  2. Bash operations are unverified. Claude Code ejecuta comandos bash directamente. git commit -m "fix" es conveniente, pero si el directorio de trabajo tiene un archivo .env y un globo lo incluye, se confirma. Siempre revise git diff --cached antes de que Claude Code se comprometa.
  3. Context window boundaries create gaps. Si su código base es grande, el contexto de Claude Code puede dividirse en varias ventanas. El manejo .env.local de una ventana puede diferir del de otra. Haga cumplir la política en .claude/CLAUDE.md y verifique el resultado.
  4. Rate-limiting is almost never added without asking. Claude Code genera CRUD funcional pero rara vez incluye encabezados que limitan la velocidad o lógica de retroceso exponencial. Pídelo explícitamente en .claude/CLAUDE.md.
  5. .claude/CLAUDE.md is read but not enforced. Claude Code lee tu .claude/CLAUDE.md como una pista, no como una restricción. Si la pista entra en conflicto con la tarea, Claude Code puede ignorarla. Revise siempre el resultado.

Próximos pasos

Verifique general vibe coding security checklist para ver 44 elementos de herramientas cruzadas, luego consulte step-by-step hardening para conocer los patrones en el momento de la implementación. Si también estás usando Cursor, consulta Cursor security checklist.

// escanea tu app

Deja de leer. Empieza a encontrar las brechas en la tuya.

Pega una URL — FixVibe ejecuta todas las verificaciones pasivas de esta guía más 200 adicionales en menos de un minuto. Gratis, sin instalación, sin tarjeta.

  • Tier gratis — 3 escaneos / mes, sin tarjeta.
  • Escaneos pasivos contra cualquier URL — sin verificación de dominio.
  • Afinado para Cursor, Claude Code, Lovable, Bolt, v0, Replit.
  • Coding-agent prompts for code/config findings, plus operator steps for DNS/provider fixes.
Checklist de seguridad de Claude Code: 26 ítems — Docs · FixVibe