Seguridad en Claude Code: Permisos, Sandboxing y Uso Seguro
Claude Code tiene un sistema de permisos que te permite controlar exactamente lo que la IA puede y no puede hacer. Así es como configurarlo para un desarrollo seguro.
Claude Code ejecuta comandos y edita archivos en tu entorno. Ese poder requiere salvaguardas. El sistema de permisos te permite definir exactamente a qué puede acceder Claude Code, qué puede modificar y qué acciones requieren tu aprobación explícita.
Cómo funciona el sistema de permisos de Claude Code
Claude Code tiene tres modos de permisos que controlan cuánta autonomía tiene el agente:
| Modo | Comportamiento | Mejor para |
|---|---|---|
| Normal | Pide permiso para cada uso de herramienta | Aprendizaje, bases de código sensibles |
| Auto-Accept | Aprueba acciones seguras, pregunta para las riesgosas | Desarrollo diario |
| Modo Plan | Planifica cambios, espera aprobación antes de ejecutar | Revisión de código, cambios de arquitectura |
Cómo configurar reglas de permitir/denegar
Los permisos granulares se establecen en settings.json. Usa patrones glob para controlar qué archivos y comandos puede acceder Claude Code:
// .claude/settings.json
{
"permissions": {
"allow": [
"Read:**",
"Edit:src/**",
"Edit:tests/**",
"Bash:npm run *",
"Bash:git *"
],
"deny": [
"Edit:.env*",
"Edit:*.secret",
"Edit:credentials/**",
"Bash:rm -rf *",
"Bash:curl * | bash",
"Bash:git push --force*"
]
}
}Qué archivos deberías proteger siempre
- +Archivos .env y .env.* (claves API, credenciales de base de datos)
- +credentials/, secrets/, o cualquier directorio con datos sensibles
- +Archivos de configuración CI/CD (.github/workflows/, .gitlab-ci.yml)
- +Archivos de infraestructura (terraform/, docker-compose.prod.yml)
- +Configuración de autenticación (auth.config.ts, configuración OAuth)
Cómo funciona el sandboxing
Claude Code utiliza sandboxing del sistema de archivos para restringir dónde puede operar el agente. Por defecto, solo puede acceder a archivos dentro del directorio de tu proyecto. Puedes restringir esto aún más con reglas de permitir/denegar.
# Claude Code se ejecuta en un sandbox por defecto:
# ✅ Puede leer/escribir archivos en el directorio de tu proyecto
# ❌ No puede acceder a archivos fuera del proyecto
# ❌ No puede acceder a archivos del sistema
# ❌ No puede acceder a directorios home de otros usuarios
# Añade directorios extra si es necesario:
claude --add-dir /ruta/a/biblioteca/compartidaCuáles son las mejores prácticas de seguridad para Claude Code
- +Siempre protege archivos .env con reglas de denegación
- +Usa el modo Normal cuando trabajes en código sensible por primera vez
- +Revisa el diff antes de permitir commits (el Modo Plan es ideal para esto)
- +Establece --max-budget-usd para prevenir costos descontrolados
- +Usa allowed-tools en Skills para limitar lo que cada skill puede hacer
- +Audita los permisos de tus servidores MCP (usa conexiones de base de datos de solo lectura)
- +Nunca uses --dangerously-skip-permissions fuera de CI/CD
El flag --dangerously-skip-permissions desactiva todas las verificaciones de permisos. Solo úsalo en pipelines CI/CD con entradas controladas. Nunca lo uses en sesiones de desarrollo local.