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
El aislamiento de seguridad aborda estos desafíos mediante:
  1. Definir límites claros: Especifica exactamente qué directorios y hosts de red puede acceder Claude Code
  2. Reducir solicitudes de permiso: Los comandos seguros dentro del aislamiento no requieren aprobación
  3. Mantener la seguridad: Los intentos de acceder a recursos fuera del aislamiento desencadenan notificaciones inmediatas
  4. 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
Estas restricciones a nivel del sistema operativo garantizan que todos los procesos secundarios generados por los comandos de Claude Code hereden los mismos límites de seguridad.

Primeros pasos

Habilitar aislamiento de seguridad

Puedes habilitar el aislamiento de seguridad ejecutando el comando de barra /sandbox:
> /sandbox
Esto activa la herramienta bash aislada con configuración predeterminada, permitiendo acceso a tu directorio de trabajo actual mientras bloquea el acceso a ubicaciones del sistema sensibles.

Configurar aislamiento de seguridad

Personaliza el comportamiento del aislamiento a través de tu archivo settings.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
Protección de la red:
  • 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
Monitoreo y control:
  • 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:
  1. La operación se bloquea a nivel del sistema operativo
  2. Recibes una notificación inmediata
  3. 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
{
  "sandbox": {
    "httpProxyPort": 8080,
    "socksProxyPort": 8081,
  }
}

Integración con herramientas de seguridad existentes

La herramienta bash aislada funciona junto con:

Mejores prácticas

  1. Comienza restrictivo: Comienza con permisos mínimos y expande según sea necesario
  2. Monitorea registros: Revisa los intentos de violación del aislamiento para entender las necesidades de Claude Code
  3. Usa configuraciones específicas del entorno: Diferentes reglas de aislamiento para contextos de desarrollo versus producción
  4. Combina con permisos: Usa aislamiento junto con políticas IAM para seguridad integral
  5. 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:
npx @anthropic-ai/sandbox-runtime <command-to-sandbox>
Para detalles de implementación y código fuente, visita el repositorio de GitHub.

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