Seguridad

Carpetas de confianza

Controla qué proyectos pueden usar las capacidades completas de Bob Shell con la seguridad de carpetas de confianza.

Carpetas de confianza

Las carpetas de confianza te dan control sobre qué proyectos pueden usarse con Bob Shell. Debes aprobar una carpeta antes de que Bob Shell cargue cualquier configuración específica del proyecto, protegiéndote de código potencialmente malicioso.

Nota:

La función de carpetas de confianza está desactivada de forma predeterminada. Para activarla, abre el menú /settings y establece Folder Trust en true. Debes reiniciar para que el cambio surta efecto.

Cómo funcionan las carpetas de confianza

Cuando ejecutas Bob Shell desde una carpeta por primera vez, aparece automáticamente un diálogo de confianza que te invita a tomar una decisión:

  • Confiar en la carpeta: Otorgar plena confianza a la carpeta actual (por ejemplo, my-project)
  • Confiar en la carpeta principal: Otorgar confianza al directorio principal (por ejemplo, safe-projects), lo que automáticamente concede confianza a todos sus subdirectorios. Usa esta opción si guardas todos tus proyectos seguros en un solo lugar
  • No confiar: Marcar la carpeta como no confiable. Bob Shell opera en un modo seguro restringido

Tu elección se guarda en ~/.bob/trustedFolders.json, por lo que solo se te pregunta una vez por carpeta.

Impacto de las carpetas no confiables

Cuando una carpeta no es de confianza, Bob Shell opera en modo seguro restringido. Las siguientes funciones se desactivan o se ignoran:

FunciónComportamiento en modo seguro
Configuración del proyecto.bob/settings.json no se carga. Las herramientas personalizadas y las configuraciones potencialmente peligrosas se bloquean.
Aprobación automática de herramientasSiempre se te pedirá confirmación antes de que se ejecute cualquier herramienta, incluso si la aprobación automática está habilitada globalmente.
Servidores MCPBob Shell no intentará conectarse a ningún servidor MCP.
Modos personalizadosLos modos definidos en la carpeta del proyecto no están disponibles. Solo puedes usar los modos integrados y tus modos definidos globalmente.
SkillsLos skills incluidos con el proyecto no se cargan. Solo están activos los skills disponibles globalmente y las capacidades integradas.
SubagentsLos subagents personalizados de la carpeta del proyecto no están disponibles. El agente no puede delegar trabajo en asistentes proporcionados por el proyecto.
Instrucciones del proyectoNo se leen archivos de guía como AGENTS.md ni reglas personalizadas del proyecto. El agente funciona sin las instrucciones personalizadas del proyecto.

Otorgar confianza a una carpeta desbloquea la funcionalidad completa de Bob Shell para ese espacio de trabajo.

Gestión de la configuración de confianza

Cómo se resuelve la confianza
Bob Shell comprueba ~/.bob/trustedFolders.json para ver si ya existe una decisión para la carpeta actual.
Cambiar la confianza de la carpeta actual
Ejecuta el comando slash /permissions dentro de Bob Shell. Aparece el diálogo interactivo, que te permite cambiar el nivel de confianza para la carpeta actual.
Ver todas las reglas de confianza
Inspecciona ~/.bob/trustedFolders.json en tu directorio de inicio para ver una lista completa de todas las reglas de carpetas de confianza y no confiables.

Sesiones no interactivas

A diferencia del modo interactivo, las sesiones no interactivas nunca muestran el diálogo de confianza. Bob Shell opera silenciosamente basándose en decisiones de confianza preexistentes.

Cuando la función está habilitada y no existe ninguna decisión de confianza para la carpeta, o la carpeta está marcada como no confiable, Bob Shell lanza un error y no se ejecuta:

<folder> is not a trusted folder. Pass --trust to run in this folder,
or run Bob Shell interactively and choose a trust level.

Comportamiento de los flags según el modo

Los flags --trust y --auto-approve se comportan de forma distinta según cómo se inicie Bob Shell. Selecciona tu modo para ver el comportamiento correspondiente a la sesión:

--trust
La carpeta se guarda como confiable de forma persistente. Bob Shell escribe una entrada de confianza para el directorio actual en ~/.bob/trustedFolders.json y omite el diálogo de confianza del primer acceso. Esto equivale a abrir la carpeta y seleccionar manualmente "Confiar en la carpeta".
--auto-approve
La aprobación automática se suprime silenciosamente en una carpeta no confiable. Aun así, se te pedirá confirmación antes de cada ejecución de herramientas.
--trust
La carpeta se trata como confiable solo para esa ejecución. La decisión de confianza no se guarda y no se escribe nada en el almacén de confianza.

Preconfiguración para automatización

Para una automatización segura y canalizaciones de CI/CD, establece las decisiones de confianza antes de ejecutar comandos no interactivos:

  1. Ejecuta primero una sesión interactiva para establecer las preferencias de confianza a través del diálogo.
  2. Configura manualmente ~/.bob/trustedFolders.json.

Preconfigurar la confianza es esencial para entornos con requisitos de seguridad estrictos, ya que Bob Shell no volverá a un estado confiable cuando no exista ninguna decisión.

Mejores prácticas

  • Confía solo en las carpetas que contienen código que hayas revisado o creado tú mismo
  • Usa la opción "Confiar en la carpeta principal" para directorios que contienen múltiples proyectos seguros
  • Revisa periódicamente tu lista de carpetas de confianza en ~/.bob/trustedFolders.json
  • Cuando trabajes con código desconocido, comienza en modo no confiable para entender el proyecto antes de otorgar confianza
¿Cómo es este tema?