Sicurezza

Cartelle attendibili

Controlla quali progetti possono utilizzare le funzionalità complete di Bob Shell con la sicurezza delle cartelle attendibili.

Cartelle attendibili

Le cartelle attendibili ti danno il controllo su quali progetti possono essere usati con Bob Shell. Devi approvare una cartella prima che Bob Shell carichi le configurazioni specifiche del progetto, proteggendoti da codice potenzialmente dannoso.

Nota:

La funzionalità delle cartelle attendibili è disattivata per impostazione predefinita. Per attivarla, apri il menu /settings e imposta Folder Trust su true. Per rendere effettiva la modifica è necessario riavviare.

Come funzionano le cartelle attendibili

Quando esegui Bob Shell da una cartella per la prima volta, compare automaticamente una finestra di dialogo di attendibilità che ti invita a fare una scelta:

  • Considera attendibile la cartella: Concedere piena attendibilità alla cartella corrente (ad esempio, my-project)
  • Considera attendibile la cartella padre: Concedere attendibilità alla directory padre (ad esempio, safe-projects), il che concede automaticamente l'attendibilità a tutte le sue sottodirectory. Usa questa opzione se conservi tutti i tuoi progetti sicuri in un'unica posizione
  • Non considerare attendibile: Contrassegnare la cartella come non attendibile. Bob Shell opera in una modalità sicura limitata

La tua scelta viene salvata in ~/.bob/trustedFolders.json, quindi ti viene chiesto solo una volta per cartella.

Impatto delle cartelle non attendibili

Quando una cartella non è attendibile, Bob Shell opera in modalità sicura limitata. Le seguenti funzionalità sono disabilitate o ignorate:

FunzionalitàComportamento in modalità sicura
Impostazioni del progetto.bob/settings.json non viene caricato. Gli strumenti personalizzati e le configurazioni potenzialmente pericolose vengono bloccati.
Approvazione automatica degli strumentiTi viene sempre richiesta la conferma prima dell'esecuzione di qualsiasi strumento, anche se l'approvazione automatica è abilitata globalmente.
Server MCPBob Shell non tenterà di connettersi a nessun server MCP.
Modalità personalizzateLe modalità definite nella cartella del progetto non sono disponibili. Possono essere usate solo le modalità integrate e quelle definite globalmente.
SkillsGli skills inclusi nel progetto non vengono caricati. Restano attivi solo gli skills disponibili globalmente e le funzionalità integrate.
SubagentsI subagents personalizzati nella cartella del progetto non sono disponibili. L'agente non può delegare il lavoro agli helper forniti dal progetto.
Istruzioni del progettoI file guida come AGENTS.md e le regole personalizzate del progetto non vengono letti. L'agente opera senza le istruzioni personalizzate del progetto.

Concedere l'attendibilità a una cartella sblocca la piena funzionalità di Bob Shell per quello spazio di lavoro.

Gestione delle impostazioni di attendibilità

Come viene risolta l'attendibilità
Bob Shell controlla ~/.bob/trustedFolders.json per verificare se esiste già una decisione per la cartella corrente.
Modificare l'attendibilità della cartella corrente
Esegui il comando slash /permissions dall'interno di Bob Shell. Compare la finestra di dialogo interattiva che ti consente di modificare il livello di attendibilità per la cartella corrente.
Visualizzare tutte le regole di attendibilità
Controlla ~/.bob/trustedFolders.json nella tua home directory per vedere un elenco completo di tutte le regole delle cartelle attendibili e non attendibili.

Sessioni non interattive

A differenza della modalità interattiva, le sessioni non interattive non mostrano mai la finestra di dialogo di attendibilità. Bob Shell opera silenziosamente basandosi su decisioni di attendibilità preesistenti.

Quando la funzionalità è abilitata e non esiste alcuna decisione di attendibilità per la cartella, oppure la cartella è contrassegnata come non attendibile, Bob Shell genera un errore e non viene eseguito:

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

Comportamento dei flag in base alla modalità

I flag --trust e --auto-approve si comportano in modo diverso a seconda di come viene avviato Bob Shell. Seleziona la modalità per vedere il comportamento rilevante per la sessione:

--trust
La cartella viene salvata come attendibile in modo persistente. Bob Shell scrive una voce attendibile per la directory corrente in ~/.bob/trustedFolders.json e salta la finestra di dialogo di attendibilità al primo accesso. È equivalente ad aprire la cartella e selezionare manualmente "Considera attendibile la cartella".
--auto-approve
L'approvazione automatica viene soppressa silenziosamente in una cartella non attendibile. Ti verrà comunque chiesta conferma prima di ogni esecuzione di strumenti.
--trust
La cartella viene trattata come attendibile solo per quell'esecuzione. La decisione di attendibilità non viene salvata e non viene scritto nulla nell'archivio di attendibilità.

Preconfigurazione per l'automazione

Per un'automazione sicura e le pipeline CI/CD, stabilisci le decisioni di attendibilità prima di eseguire comandi non interattivi:

  1. Esegui prima una sessione interattiva per impostare le preferenze di attendibilità tramite la finestra di dialogo.
  2. Configura manualmente ~/.bob/trustedFolders.json.

La preconfigurazione dell'attendibilità è essenziale per gli ambienti sensibili alla sicurezza, perché Bob Shell non torna a uno stato attendibile quando non esiste alcuna decisione.

Best practice

  • Considera attendibili solo le cartelle contenenti codice che hai revisionato o creato tu stesso
  • Usa l'opzione "Considera attendibile la cartella padre" per le directory contenenti più progetti sicuri
  • Esamina regolarmente il tuo elenco di cartelle attendibili in ~/.bob/trustedFolders.json
  • Quando lavori con codice non familiare, inizia in modalità non attendibile per comprendere il progetto prima di concedere l'attendibilità
Come valuti questo argomento?