IntroduçãoAgentes de codificação de IA não são mais simples ferramentas de autocompletar. Eles leem repositórios, inspecionam issues, editam arquivos, executam scripts, chamam ferramentas, abrem conexões de rede e, às vezes, criam alterações prontas para produção. Isso os torna úteis, mas também altera o modelo de segurança.A questão central não é mais apenas se um modelo pode recusar um prompt prejudicial. A questão mais difícil é o que o agente tem permissão para fazer em tempo de execução: quais arquivos pode ler, quais scripts pode executar, se pode acessar a internet, se segredos estão montados e se cada ação deixa um rastro de auditoria útil.Este artigo reorganiza a discussão original sobre Fogo Amigo e Agente Rebelde em um guia prático de segurança para equipes que usam agentes de codificação de IA em fluxos de trabalho reais de desenvolvimento.## Julgamento CentralO sinal comum por trás de Fogo Amigo e Agente Rebelde é simples: contexto não confiável pode se tornar perigoso quando um agente o trata como autoridade.Um README de repositório, um script de dependência, um arquivo carregado por cliente ou um bloco de código de chatbot podem parecer entrada comum. Mas se um agente lê essa entrada e então age sobre ela com acesso ao sistema de arquivos, shell, rede ou credenciais, a entrada efetivamente cruzou um limite de confiança.Para uso em produção, o agente não deve ser a autoridade final sobre se uma chamada de ferramenta é permitida. Ele pode propor uma ação. A camada de permissão, sandbox, mecanismo de políticas e revisor humano devem decidir se a ação é realmente permitida.## Por Que o Fogo Amigo ImportaFogo Amigo foca em um fluxo de trabalho de segurança realista: pedir a um agente de codificação de IA que revise um repositório de terceiros ou código aberto em busca de vulnerabilidades. Esse fluxo de trabalho é atraente porque parece defensivo. A equipe não está pedindo ao agente para atacar nada. Está pedindo ao agente para inspecionar código e sugerir correções.O problema é que a revisão de segurança exige ler material não confiável. Um repositório pode conter documentação, scripts, arquivos de build, artefatos binários e comentários que não são apenas dados. Eles também podem conter instruções direcionadas ao agente.A lição importante não é entrar em pânico sobre ferramentas de segurança de IA. É separar evidência de autorização.Um README pode explicar como um projeto é normalmente testado. Não deve autorizar automaticamente o agente a executar esse teste. Um script de dependência pode fazer parte do repositório. Não deve se tornar automaticamente confiável. Um pacote de terceiros pode incluir um comando que parece uma verificação de segurança normal. O agente pode lê-lo, mas a execução deve exigir um nível mais alto de confiança.Um padrão arriscado se parece com isto:```Bash
./security.sh
2. **Aplicação de políticas**: uma camada externa decide quais ações são permitidas.
3. **Contenção do runtime**: um sandbox limita danos mesmo se a ação errada for aprovada.## Arquitetura Recomendada###
1. Isole o WorkspaceRepositórios de terceiros, problemas desconhecidos, auditorias de dependências, arquivos de clientes e pacotes baixados devem ser abertos em ambientes descartáveis. Um contêiner ou máquina virtual é um bom padrão.O ambiente isolado deve evitar montar o diretório home do usuário, credenciais de nuvem, tokens de gerenciador de pacotes, chaves SSH, perfis de navegador e configuração de produção. O código-fonte pode começar como somente leitura. Acesso de escrita deve ser concedido apenas quando o agente tiver produzido um plano claro e o usuário tiver aprovado o escopo.Padrões recomendados incluem:- nenhuma montagem do diretório home pessoal
- nenhuma credencial de nuvem de longa duração
- nenhum token padrão de gerenciador de pacotes
- nenhum acesso de rede de saída irrestrito
- caches de pacotes temporários
- limites estritos de tempo e recursos
- registro completo de comandos###
2. Divida o Fluxo de Trabalho do Agente em FasesNão deixe que leitura, edição e execução se fundam em um único fluxo automático. Separe-os.**Fase de leitura:** o agente pode inspecionar arquivos, identificar riscos e produzir um plano.**Fase de patch:** o agente pode gerar um diff ou patch, idealmente sem executar scripts não confiáveis.**Fase de execução:** o agente pode executar apenas comandos aprovados dentro de uma lista de permissões restrita, com timeouts e limites de recursos.Se o comando proposto veio de um README, comentário de issue, script de dependência ou documento externo, a interface de aprovação deve mostrar essa fonte.claramente. Um comando sugerido pelo repositório não é o mesmo que um comando explicitamente solicitado pelo usuário.###
3. Execute a varredura determinística antes do julgamento do modelo