Descripción general
Claude Code incluye aislamiento de seguridad nativo para proporcionar un entorno más seguro para la ejecución de agentes mientras se reduce la necesidad de solicitudes de permiso constantes. En lugar de solicitar permiso para cada comando bash, el aislamiento de seguridad crea límites definidos de antemano donde Claude Code puede trabajar más libremente con riesgo reducido. La herramienta bash aislada utiliza primitivos a nivel del sistema operativo para aplicar tanto aislamiento del sistema de archivos como de la red.Por qué el aislamiento de seguridad es importante
La seguridad tradicional basada en permisos requiere aprobación constante del usuario para comandos bash. Aunque esto proporciona control, puede llevar a:- Fatiga de aprobación: Hacer clic repetidamente en “aprobar” puede hacer que los usuarios presten menos atención a lo que están aprobando
- Productividad reducida: Las interrupciones constantes ralentizan los flujos de trabajo de desarrollo
- Autonomía limitada: Claude Code no puede trabajar de manera eficiente cuando espera aprobaciones
- Definir límites claros: Especificar exactamente qué directorios y hosts de red puede acceder Claude Code
- Reducir solicitudes de permiso: Los comandos seguros dentro del aislamiento no requieren aprobación
- Mantener la seguridad: Los intentos de acceder a recursos fuera del aislamiento desencadenan notificaciones inmediatas
- Habilitar autonomía: Claude Code puede ejecutarse de manera más independiente dentro de límites definidos
El aislamiento de seguridad efectivo requiere tanto aislamiento del sistema de archivos como de la red. Sin aislamiento de red, un agente comprometido podría exfiltrar archivos sensibles como claves SSH. Sin aislamiento del sistema de archivos, un agente comprometido podría instalar una puerta trasera en recursos del sistema para obtener acceso a la red. Al configurar el aislamiento de seguridad, es importante asegurar que tus configuraciones no creen omisiones en estos sistemas.
Cómo funciona
Aislamiento del sistema de archivos
La herramienta bash aislada restringe el acceso al sistema de archivos a directorios específicos:- Comportamiento de escritura predeterminado: Acceso de lectura y escritura al directorio de trabajo actual y sus subdirectorios
- Comportamiento de lectura predeterminado: Acceso de lectura a toda la computadora, excepto ciertos directorios denegados
- Acceso bloqueado: No se pueden modificar archivos fuera del directorio de trabajo actual sin permiso explícito
- Configurable: Define rutas permitidas y denegadas personalizadas a través de configuración
Aislamiento de red
El acceso a la red se controla a través de un servidor proxy que se ejecuta fuera del aislamiento:- Restricciones de dominio: Solo se pueden acceder a dominios aprobados
- Confirmación del usuario: Las nuevas solicitudes de dominio desencadenan solicitudes de permiso
- Soporte de proxy personalizado: Los usuarios avanzados pueden implementar reglas personalizadas en el tráfico saliente
- Cobertura completa: Las restricciones se aplican a todos los scripts, programas y subprocesos generados por comandos
Aplicación a nivel del sistema operativo
La herramienta bash aislada aprovecha los primitivos de seguridad del sistema operativo:- Linux: Utiliza bubblewrap para el aislamiento
- macOS: Utiliza Seatbelt para la aplicación del aislamiento
Primeros pasos
Habilitar el aislamiento de seguridad
Puedes habilitar el aislamiento de seguridad ejecutando el comando de barra/sandbox:
Configurar el aislamiento de seguridad
Personaliza el comportamiento del aislamiento a través de tu archivosettings.json. Consulta Configuración para la referencia de configuración completa.
No todos los comandos son compatibles con el aislamiento de seguridad de forma inmediata. Algunas notas que pueden ayudarte a aprovechar al máximo el aislamiento:
- Muchas herramientas CLI requieren acceder a ciertos hosts. A medida que uses estas herramientas, solicitarán permiso para acceder a ciertos hosts. Otorgar permiso les permitirá acceder a estos hosts ahora y en el futuro, permitiéndoles ejecutarse de manera segura dentro del aislamiento.
watchmanes incompatible con la ejecución en el aislamiento. Si estás ejecutandojest, considera usarjest --no-watchmandockeres incompatible con la ejecución en el aislamiento. Considera especificardockerenexcludedCommandspara forzarlo a ejecutarse fuera del aislamiento.
Claude Code incluye un mecanismo de escape intencional que permite que los comandos se ejecuten fuera del aislamiento cuando sea necesario. Cuando un comando falla debido a restricciones del aislamiento (como problemas de conectividad de red o herramientas incompatibles), Claude recibe una solicitud para analizar la falla y puede reintentar el comando con el parámetro
dangerouslyDisableSandbox. Los comandos que utilizan este parámetro pasan por el flujo de permisos normal de Claude Code que requiere permiso del usuario para ejecutarse. Esto permite que Claude Code maneje casos extremos donde ciertas herramientas u operaciones de red no pueden funcionar dentro de las restricciones del aislamiento.Puedes deshabilitar este mecanismo de escape configurando "allowUnsandboxedCommands": false en tu configuración de aislamiento. Cuando está deshabilitado, el parámetro dangerouslyDisableSandbox se ignora completamente y todos los comandos deben ejecutarse aislados o estar explícitamente listados en excludedCommands.Beneficios de seguridad
Protección contra inyección de solicitudes
Incluso si un atacante manipula exitosamente el comportamiento de Claude Code a través de inyección de solicitudes, el aislamiento asegura que tu sistema permanezca seguro: Protección del sistema de archivos:- No se pueden modificar archivos de configuración críticos como
~/.bashrc - No se pueden modificar archivos a nivel del sistema en
/bin/ - No se pueden leer archivos que están denegados en tu configuración de permisos de Claude
- No se pueden exfiltrar datos a servidores controlados por atacantes
- No se pueden descargar scripts maliciosos de dominios no autorizados
- No se pueden hacer llamadas API inesperadas a servicios no aprobados
- No se puede contactar a ningún dominio que no esté explícitamente permitido
- Todos los intentos de acceso fuera del aislamiento se bloquean a nivel del sistema operativo
- Recibes notificaciones inmediatas cuando se prueban los límites
- Puedes elegir denegar, permitir una vez, o actualizar permanentemente tu configuración
Superficie de ataque reducida
El aislamiento limita el daño potencial de:- Dependencias maliciosas: Paquetes NPM u otras dependencias con código dañino
- Scripts comprometidos: Scripts de compilación o herramientas con vulnerabilidades de seguridad
- Ingeniería social: Ataques que engañan a los usuarios para que ejecuten comandos peligrosos
- Inyección de solicitudes: Ataques que engañan a Claude para que ejecute comandos peligrosos
Operación transparente
Cuando Claude Code intenta acceder a recursos de red fuera del aislamiento:- La operación se bloquea a nivel del sistema operativo
- Recibes una notificación inmediata
- Puedes elegir:
- Denegar la solicitud
- Permitirla una vez
- Actualizar tu configuración de aislamiento para permitirla permanentemente
Limitaciones de seguridad
- Limitaciones del aislamiento de red: El sistema de filtrado de red funciona restringiendo los dominios a los que se permite que los procesos se conecten. No inspecciona de otra manera el tráfico que pasa a través del proxy y los usuarios son responsables de asegurar que solo permitan dominios confiables en su política.
Los usuarios deben ser conscientes de los riesgos potenciales que vienen de permitir dominios amplios como
github.com que pueden permitir la exfiltración de datos. Además, en algunos casos puede ser posible eludir el filtrado de red a través de domain fronting.- Escalada de privilegios a través de sockets Unix: La configuración
allowUnixSocketspuede otorgar inadvertidamente acceso a servicios del sistema poderosos que podrían llevar a omisiones del aislamiento. Por ejemplo, si se usa para permitir acceso a/var/run/docker.sock, esto efectivamente otorgaría acceso al sistema host explotando el socket de docker. Se anima a los usuarios a considerar cuidadosamente cualquier socket Unix que permitan a través del aislamiento. - Escalada de permisos del sistema de archivos: Los permisos de escritura del sistema de archivos demasiado amplios pueden habilitar ataques de escalada de privilegios. Permitir escrituras en directorios que contienen ejecutables en
$PATH, directorios de configuración del sistema, o archivos de configuración de shell del usuario (.bashrc,.zshrc) puede llevar a ejecución de código en diferentes contextos de seguridad cuando otros usuarios o procesos del sistema acceden a estos archivos. - Fortaleza del aislamiento de Linux: La implementación de Linux proporciona un aislamiento fuerte del sistema de archivos y de la red pero incluye un modo
enableWeakerNestedSandboxque le permite funcionar dentro de entornos Docker sin espacios de nombres privilegiados. Esta opción debilita considerablemente la seguridad y solo debe usarse en casos donde se aplica aislamiento adicional de otra manera.
Uso avanzado
Configuración de proxy personalizado
Para organizaciones que requieren seguridad de red avanzada, puedes implementar un proxy personalizado para:- Descifrar e inspeccionar tráfico HTTPS
- Aplicar reglas de filtrado personalizadas
- Registrar todas las solicitudes de red
- Integrar con infraestructura de seguridad existente
Integración con herramientas de seguridad existentes
La herramienta bash aislada funciona junto con:- Políticas IAM: Combina con configuración de permisos para defensa en profundidad
- Contenedores de desarrollo: Usa con devcontainers para aislamiento adicional
- Políticas empresariales: Aplica configuraciones de aislamiento a través de configuración administrada
Mejores prácticas
- Comienza restrictivo: Comienza con permisos mínimos y expande según sea necesario
- Monitorea registros: Revisa los intentos de violación del aislamiento para entender las necesidades de Claude Code
- Usa configuraciones específicas del entorno: Diferentes reglas de aislamiento para contextos de desarrollo vs. producción
- Combina con permisos: Usa el aislamiento junto con políticas IAM para seguridad integral
- Prueba configuraciones: Verifica que tu configuración de aislamiento no bloquee flujos de trabajo legítimos
Código abierto
El tiempo de ejecución del aislamiento está disponible como un paquete npm de código abierto para usar en tus propios proyectos de agentes. Esto permite que la comunidad más amplia de agentes de IA construya sistemas autónomos más seguros y protegidos. Esto también se puede usar para aislar otros programas que desees ejecutar. Por ejemplo, para aislar un servidor MCP podrías ejecutar:Limitaciones
- Sobrecarga de rendimiento: Mínima, pero algunas operaciones del sistema de archivos pueden ser ligeramente más lentas
- Compatibilidad: Algunas herramientas que requieren patrones de acceso específicos del sistema pueden necesitar ajustes de configuración, o incluso pueden necesitar ejecutarse fuera del aislamiento
- Soporte de plataforma: Actualmente soporta Linux y macOS; soporte de Windows planeado
Ver también
- Seguridad - Características de seguridad integral y mejores prácticas
- IAM - Configuración de permisos y control de acceso
- Configuración - Referencia de configuración completa
- Referencia de CLI - Opciones de línea de comandos incluyendo
-sb