Segurança

Diretrizes de segurança

Bob tem capacidades de codificação e interação com o sistema. Para utilizá-lo com segurança, segue estas diretrizes.

Lista de verificação de segurança

  • Usa pastas confiáveis para controlar o acesso ao projeto
  • Configura o .bobignore para restringir o acesso a ficheiros
  • Revê e limita as definições de aprovação automática
  • Gere segredos de forma segura
  • Usa MCP com autenticação e encriptação adequadas
  • Revê a saída do Bob antes de a implementar

Restrições de acesso a ficheiros

Podes controlar o acesso do Bob aos ficheiros configurando os diretórios e tipos de ficheiro com que ele pode interagir. O ficheiro .bobignore usa a mesma sintaxe que o .gitignore e deve ser uma das primeiras medidas de segurança que implementas ao configurar o Bob.

Configurar o .bobignore

Cria um ficheiro .bobignore no teu espaço de trabalho

Adiciona padrões para ficheiros e diretórios sensíveis. Inclui padrões para quaisquer tipos de dados não aprovados.

.bobignore
# Example .bobignore patterns
.env
secrets/
*.key
config/credentials.json

Bob monitoriza ativamente o ficheiro .bobignore e quaisquer alterações são aplicadas automaticamente. Para informações detalhadas, consulta Usar .bobignore para controlar o acesso a ficheiros.

Compreender as limitações

Embora o .bobignore controle eficazmente o acesso do Bob através das suas ferramentas, tem algumas limitações importantes:

  • Aplica-se apenas a ficheiros no teu espaço de trabalho atual
  • Algumas operações de escrita podem contornar as restrições
  • Não cria uma sandbox a nível do sistema

Revê as principais limitações e o âmbito de aplicação completos para perceberes como o .bobignore protege os teus ficheiros.

Pastas confiáveis

Bob Shell usa pastas confiáveis para controlar quais os projetos a que pode aceder. Tens de aprovar explicitamente uma pasta antes de o Bob Shell carregar configurações específicas do projeto, protegendo-te de código potencialmente malicioso.

Quando executas o Bob Shell a partir de uma pasta pela primeira vez, podes escolher:

  • Confiar na pasta: Conceder confiança total à pasta atual
  • Confiar na pasta pai: Conceder confiança ao diretório pai e a todos os subdiretórios
  • Não confiar: Executar o Bob Shell em modo seguro restrito

As pastas não confiáveis operam em modo seguro com restrições significativas:

  • As definições do projeto e as variáveis de ambiente são ignoradas
  • A aprovação automática de ferramentas está desativada
  • Os servidores MCP não se ligam
  • Os comandos personalizados não são carregados

Para detalhes completos sobre o funcionamento das pastas confiáveis, a gestão das definições de confiança e as melhores práticas, consulta Pastas confiáveis.

Definições de aprovação automática

Com o Bob, podes aprovar automaticamente várias ações sem pedidos de confirmação. Embora isto acelere o teu fluxo de trabalho, aumenta significativamente os riscos de segurança.

Aviso:

As definições de aprovação automática ignoram os pedidos de confirmação, dando ao Bob acesso direto ao teu sistema. Isto pode resultar em perda de dados, corrupção de ficheiros ou pior. O acesso à linha de comandos é particularmente perigoso, pois pode potencialmente executar operações prejudiciais.

Definições de aprovação automática de alto risco

DefiniçãoRiscoRecomendação
Editar ficheirosAltoAtiva apenas em ambientes controlados
Executar comandosAltoUsa lista de permissões e evita wildcards
Usar servidores MCPMédio-AltoApenas com servidores confiáveis
Ler ficheirosMédioConsidera a exposição de dados sensíveis

Revê sempre a saída do Bob para garantires que é precisa e que qualquer código gerado se comportará como pretendido. Nunca confies inerentemente na saída de qualquer sistema de IA.

Para informações detalhadas sobre cada definição e as suas implicações de segurança, consulta Configurar o Bob Shell.

Gerir segredos de forma segura

Nunca forneças segredos diretamente a qualquer sistema de IA, incluindo o Bob. Mesmo a inclusão temporária de segredos no código pode levar a exposição não intencional.

Melhores práticas para gestão de segredos

  • Guarda segredos em ficheiros de variáveis de ambiente
  • Garante que tanto o .gitignore como o .bobignore restringem o acesso a ficheiros que armazenam segredos
  • Usa ferramentas de gestão de segredos quando possível
  • Segue o princípio do menor privilégio ao atribuir credenciais — concede apenas as permissões mínimas necessárias para cada tarefa

Delegação de permissões

Os sistemas de IA não devem usar credenciais que lhes permitam agir em teu nome sem a tua intervenção e revisão. Quando os sistemas de IA precisam de agir em teu nome:

  • Usa mecanismos de delegação como OAuth
  • Implementa tokens com limite de tempo
  • Monitoriza e audita todas as ações

Usar MCP com segurança

Model Context Protocol (MCP) estende a funcionalidade do Bob ao ligar a ferramentas e serviços externos. Embora seja poderoso, as ligações MCP requerem consideração cuidadosa de segurança.

Visão geral da arquitetura MCP

MCP usa uma arquitetura cliente-servidor:

  • Bob atua como host contendo o cliente MCP
  • O cliente liga-se a servidores MCP (locais ou remotos)
  • Os servidores fornecem ferramentas e capacidades adicionais

Requisitos de segurança para servidores MCP

Ao usar servidores MCP, pratica as seguintes diretrizes:

  • Autenticação: Verifica a identidade dos utilizadores que acedem ao servidor
  • Encriptação: Protege os dados em trânsito entre o Bob e o servidor
  • Controlos de acesso: Limita as ações que o servidor pode executar
  • Auditoria: Regista todas as ações para fins de responsabilização

Os servidores MCP remotos devem cumprir os mesmos requisitos de segurança que qualquer infraestrutura de servidor tradicional, incluindo proteção de endpoints, restrições de rede e controlos de acesso adequados.

Para servidores MCP partilhados, garante auditabilidade e responsabilização adequadas para que as ações possam ser rastreadas.

Considerações adicionais de segurança

  • Revê o conteúdo gerado: Verifica sempre a saída do Bob antes de a implementar
  • Atualizações regulares: Mantém o Bob e as suas dependências atualizados
  • Formação em segurança: Garante que os membros da equipa compreendem os riscos de segurança da IA
  • Resposta a incidentes: Tem um plano para lidar com potenciais incidentes de segurança
  • Isolamento do espaço de trabalho: Considera usar espaços de trabalho dedicados para projetos sensíveis
  • Âmbito de permissões: Limita o acesso do Bob apenas ao que é necessário para tarefas específicas

Ao seguir estas melhores práticas de segurança, podes aproveitar as poderosas capacidades do Bob enquanto manténs um ambiente de desenvolvimento seguro.

Como está este tópico?