Segurança

Pastas confiáveis

Controla quais os projetos que podem usar as capacidades completas do Bob Shell com a segurança de pastas confiáveis.

Pastas confiáveis

As pastas confiáveis dão-te controlo sobre quais os projetos que podem ser usados com o Bob Shell. Tens de aprovar uma pasta antes de o Bob Shell carregar quaisquer configurações específicas do projeto, protegendo-te de código potencialmente malicioso.

Nota:

A funcionalidade de pastas confiáveis está desativada por predefinição. Para a ativar, abre o menu /settings e define Folder Trust como true. É necessário reiniciar para que a alteração tenha efeito.

Como funcionam as pastas confiáveis

Quando executas o Bob Shell a partir de uma pasta pela primeira vez, aparece automaticamente um diálogo de confiança, pedindo-te que faças uma escolha:

  • Confiar na pasta: Conceder confiança total à pasta atual (por exemplo, o-meu-projeto)
  • Confiar na pasta pai: Conceder confiança ao diretório pai (por exemplo, projetos-seguros), o que automaticamente confia em todos os seus subdiretórios. Usa esta opção se mantiveres todos os teus projetos seguros numa localização
  • Não confiar: Marcar a pasta como não confiável. O Bob Shell opera em modo seguro restrito

A tua escolha é guardada em ~/.bob/trustedFolders.json, pelo que só és questionado uma vez por pasta.

Impacto das pastas não confiáveis

Quando uma pasta não é confiável, o Bob Shell opera em modo seguro restrito. As seguintes funcionalidades são desativadas ou ignoradas:

FuncionalidadeComportamento em modo seguro
Definições do projeto.bob/settings.json não é carregado. Ferramentas personalizadas e configurações potencialmente perigosas são bloqueadas.
Aprovação automática de ferramentasSer-te-á sempre pedida confirmação antes de qualquer ferramenta ser executada, mesmo que tenhas a aprovação automática ativada globalmente.
Servidores MCPO Bob Shell não tentará ligar-se a qualquer servidor MCP.
Modos personalizadosOs modos definidos na pasta do projeto não estão disponíveis. Só podem ser usados os modos integrados e os teus modos definidos globalmente.
SkillsOs skills incluídos no projeto não são carregados. Só ficam ativos os skills disponíveis globalmente e as capacidades integradas.
SubagentsOs subagents personalizados da pasta do projeto não estão disponíveis. O agente não pode delegar trabalho em ajudantes fornecidos pelo projeto.
Instruções do projetoFicheiros de orientação como AGENTS.md e regras personalizadas do projeto não são lidos. O agente funciona sem as instruções personalizadas do projeto.

Conceder confiança a uma pasta desbloqueia a funcionalidade completa do Bob Shell para essa área de trabalho.

Gerir definições de confiança

Como a confiança é resolvida
O Bob Shell verifica ~/.bob/trustedFolders.json para ver se já existe uma decisão para a pasta atual.
Alterar a confiança da pasta atual
Executa o comando de barra /permissions dentro do Bob Shell. O diálogo interativo aparece, permitindo-te alterar o nível de confiança para a pasta atual.
Ver todas as regras de confiança
Inspeciona ~/.bob/trustedFolders.json no teu diretório pessoal para veres uma lista completa de todas as tuas regras de pastas confiáveis e não confiáveis.

Sessões não interativas

Ao contrário do modo interativo, as sessões não interativas nunca mostram o diálogo de confiança. O Bob Shell opera silenciosamente com base em decisões de confiança pré-existentes.

Quando a funcionalidade está ativada e não existe nenhuma decisão de confiança para a pasta, ou a pasta está marcada como não confiável, o Bob Shell gera um erro e não é executado:

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

Comportamento das flags por modo

As flags --trust e --auto-approve comportam-se de forma diferente consoante a forma como o Bob Shell é iniciado. Seleciona o teu modo para veres o comportamento relevante para a sessão:

--trust
A pasta é guardada como confiável de forma persistente. O Bob Shell escreve uma entrada de confiança para o diretório atual em ~/.bob/trustedFolders.json e ignora o diálogo de confiança no primeiro acesso. Isto equivale a abrir a pasta e selecionar manualmente "Confiar na pasta".
--auto-approve
A aprovação automática é silenciosamente suprimida numa pasta não confiável. Continuarás a receber pedidos de confirmação antes de cada execução de ferramenta.
--trust
A pasta é tratada como confiável apenas nessa execução. A decisão de confiança não é guardada e nada é escrito no armazenamento de confiança.

Pré-configuração para automação

Para automação segura e pipelines CI/CD, estabelece decisões de confiança antes de executar comandos não interativos:

  1. Executa primeiro uma sessão interativa para definir as preferências de confiança através do diálogo.
  2. Configura manualmente o ~/.bob/trustedFolders.json.

A pré-configuração da confiança é essencial para ambientes sensíveis à segurança, porque o Bob Shell não regressa a um estado confiável quando não existe nenhuma decisão.

Melhores práticas

  • Confia apenas em pastas que contenham código que tu próprio reviste ou criaste
  • Usa a opção "Confiar na pasta pai" para diretórios que contêm múltiplos projetos seguros
  • Revê regularmente a tua lista de pastas confiáveis em ~/.bob/trustedFolders.json
  • Ao trabalhar com código desconhecido, começa em modo não confiável para perceber o projeto antes de conceder confiança
Como está este tópico?