Descripción general
Claude Code incluye aislamiento de seguridad nativo para proporcionar un entorno más seguro para la ejecución de agentes mientras 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 basada en permisos tradicional requiere aprobación constante del usuario para comandos bash. Si bien 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: Especifica 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 puede 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 la 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 integral: 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 aislamiento
- macOS: Utiliza Seatbelt para aplicación de aislamiento
Primeros pasos
Habilitar aislamiento de seguridad
Puedes habilitar el aislamiento de seguridad ejecutando el comando de barra/sandbox
:
Configurar 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.
Soporte de patrones:
- Las rutas admiten rutas absolutas (
/home/user
), relativas (./src
), directorio de inicio (~
) y comodines (**/*.json
) - Los dominios admiten coincidencias exactas (
github.com
), comodines (*.npmjs.org
) y subdominios
Beneficios de seguridad
Protección contra inyección de solicitud
Incluso si un atacante manipula exitosamente el comportamiento de Claude Code a través de inyección de solicitud, el aislamiento garantiza que tu sistema permanezca seguro: Protección del sistema de archivos:- No puede modificar archivos de configuración críticos como
~/.bashrc
- No puede modificar archivos a nivel del sistema en
/bin/
- No puede leer archivos que se deniegan en tu configuración de permisos de Claude
- No puede exfiltrar datos a servidores controlados por atacantes
- No puede descargar scripts maliciosos de dominios no autorizados
- No puede hacer llamadas API inesperadas a servicios no aprobados
- No 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 solicitud: 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 se conecten los procesos. 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 de confianza en su política.
Los usuarios deben ser conscientes de los riesgos potenciales que provienen de permitir dominios amplios como
github.com
que pueden permitir 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
allowUnixSockets
puede 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 aislamiento fuerte del sistema de archivos y de la red pero incluye un modo
enableWeakerNestedSandbox
que 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 aplique 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 versus producción
- Combina con permisos: Usa aislamiento junto con políticas IAM para seguridad integral
- Prueba configuraciones: Verifica que tus configuraciones de aislamiento no bloqueen 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 al sistema específicos pueden necesitar ajustes de configuración, o incluso pueden necesitar ejecutarse fuera del aislamiento
- Soporte de plataforma: Actualmente admite 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