Sécurité

Dossiers de confiance

Contrôle les projets pouvant utiliser les capacités complètes de Bob Shell grâce à la sécurité des dossiers de confiance.

Dossiers de confiance

Les dossiers de confiance te donnent le contrôle sur les projets pouvant être utilisés avec Bob Shell. Tu dois approuver un dossier avant que Bob Shell ne charge les configurations spécifiques au projet, te protégeant ainsi contre du code potentiellement malveillant.

Remarque :

La fonctionnalité des dossiers de confiance est désactivée par défaut. Pour l’activer, ouvre le menu /settings et définis Folder Trust sur true. Un redémarrage est nécessaire pour que le changement prenne effet.

Fonctionnement des dossiers de confiance

Lorsque tu exécutes Bob Shell depuis un dossier pour la première fois, une boîte de dialogue de confiance apparaît automatiquement, t'invitant à faire un choix :

  • Faire confiance au dossier : Accorder une confiance totale au dossier actuel (par exemple, my-project)
  • Faire confiance au dossier parent : Accorder la confiance au répertoire parent (par exemple, safe-projects), ce qui accorde automatiquement la confiance à tous ses sous-répertoires. Utilise cette option si tu conserves tous tes projets sûrs au même endroit
  • Ne pas faire confiance : Marquer le dossier comme non fiable. Bob Shell fonctionne dans un mode sécurisé restreint

Ton choix est enregistré dans ~/.bob/trustedFolders.json, de sorte que la question ne t'est posée qu'une seule fois par dossier.

Impact des dossiers non fiables

Lorsqu'un dossier est non fiable, Bob Shell fonctionne en mode sécurisé restreint. Les fonctionnalités suivantes sont désactivées ou ignorées :

FonctionnalitéComportement en mode sécurisé
Paramètres du projet.bob/settings.json n'est pas chargé. Les outils personnalisés et les configurations potentiellement dangereuses sont bloqués.
Approbation automatique des outilsTu es toujours invité à confirmer avant l'exécution d'un outil, même si l'approbation automatique est activée globalement.
Serveurs MCPBob Shell ne tentera pas de se connecter à des serveurs MCP.
Modes personnalisésLes modes définis dans le dossier du projet ne sont pas disponibles. Seuls les modes intégrés et tes modes définis globalement peuvent être utilisés.
SkillsLes skills fournis avec le projet ne sont pas chargés. Seuls les skills disponibles globalement et les capacités intégrées sont actifs.
SubagentsLes subagents personnalisés du dossier du projet ne sont pas disponibles. L’agent ne peut pas déléguer de travail à des assistants fournis par le projet.
Instructions du projetLes fichiers de consignes comme AGENTS.md et les règles personnalisées du projet ne sont pas lus. L’agent fonctionne sans les instructions personnalisées du projet.

Accorder la confiance à un dossier débloque toutes les fonctionnalités de Bob Shell pour cet espace de travail.

Gestion des paramètres de confiance

Comment la confiance est résolue
Bob Shell vérifie ~/.bob/trustedFolders.json pour voir s’il existe déjà une décision pour le dossier actuel.
Modifier la confiance du dossier actuel
Exécute la commande slash /permissions depuis Bob Shell. La boîte de dialogue interactive apparaît, te permettant de modifier le niveau de confiance pour le dossier actuel.
Afficher toutes les règles de confiance
Inspecte ~/.bob/trustedFolders.json dans ton répertoire personnel pour voir la liste complète de toutes tes règles de dossiers de confiance et non fiables.

Sessions non interactives

Contrairement au mode interactif, les sessions non interactives n'affichent jamais la boîte de dialogue de confiance. Bob Shell fonctionne silencieusement en se basant sur les décisions de confiance préexistantes.

Lorsque la fonctionnalité est activée et qu’aucune décision de confiance n’existe pour le dossier, ou que le dossier est marqué comme non fiable, Bob Shell renvoie une erreur et ne s’exécute pas :

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

Comportement des flags selon le mode

Les flags --trust et --auto-approve se comportent différemment selon la manière dont Bob Shell est lancé. Sélectionne ton mode pour voir le comportement correspondant à la session :

--trust
Le dossier est enregistré comme fiable de manière persistante. Bob Shell écrit une entrée de confiance pour le répertoire actuel dans ~/.bob/trustedFolders.json et ignore la boîte de dialogue de confiance au premier accès. Cela équivaut à ouvrir le dossier et à sélectionner manuellement « Faire confiance au dossier ».
--auto-approve
L’approbation automatique est silencieusement supprimée dans un dossier non fiable. Tu es quand même invité à confirmer avant chaque exécution d’outil.
--trust
Le dossier est traité comme fiable uniquement pour cette exécution. La décision de confiance n’est pas enregistrée et rien n’est écrit dans le magasin de confiance.

Préconfiguration pour l'automatisation

Pour une automatisation sécurisée et des pipelines CI/CD, établis des décisions de confiance avant d'exécuter des commandes non interactives :

  1. Exécute d'abord une session interactive pour définir les préférences de confiance via la boîte de dialogue.
  2. Configure manuellement ~/.bob/trustedFolders.json.

La préconfiguration de la confiance est essentielle pour les environnements sensibles à la sécurité, car Bob Shell ne revient pas à un état fiable lorsqu’aucune décision n’existe.

Bonnes pratiques

  • Ne fais confiance qu'aux dossiers contenant du code que tu as examiné ou créé toi-même
  • Utilise l'option « Faire confiance au dossier parent » pour les répertoires contenant plusieurs projets sûrs
  • Révise régulièrement ta liste de dossiers de confiance dans ~/.bob/trustedFolders.json
  • Lorsque tu travailles avec du code inconnu, commence en mode non fiable pour comprendre le projet avant d'accorder la confiance
Comment trouvez-vous ce sujet ?