Execução segura de código e ferramentas no agente Hermes

Tecnologia

Execução segura de código e ferramentas no agente Hermes

Introdução

A execução segura de código e ferramentas permite que o Hermes analise dados, teste soluções e produza arquivos sem receber acesso irrestrito à máquina ou à rede. Como código gerado pode conter erros e conteúdo externo pode tentar manipular o agente, cada execução precisa ocorrer dentro de limites técnicos e permissões explícitas.

Segurança não depende apenas de pedir cuidado ao modelo. Ela exige isolamento, privilégio mínimo, validação de parâmetros, controle de recursos e aprovação para efeitos relevantes. Mesmo uma tarefa legítima pode apagar arquivos, consumir memória ou enviar dados para um destino indevido se a ferramenta aceitar qualquer comando.

Neste tutorial será montado um sandbox para agentes de IA com sistema de arquivos temporário, rede bloqueada por padrão, limites de processo e auditoria. O fluxo distingue leitura, transformação e ação externa, permitindo aumentar capacidades sem entregar autoridade desnecessária.

Pré-requisitos / Materiais

Ambiente isolado

Use contêiner, máquina virtual ou executor dedicado que possa ser destruído após a tarefa. Não execute código gerado no mesmo processo do serviço principal. O isolamento deve limitar usuário, processos, arquivos, dispositivos e chamadas de sistema.

Política de permissões

Liste linguagens, comandos, diretórios, domínios e operações permitidas. Defina o que é bloqueado e o que exige aprovação. A política deve ser aplicada fora do modelo, por componentes que o agente não consegue alterar.

Limites de recursos

Configure tempo de CPU, memória, armazenamento, quantidade de processos e tamanho de saída. Inclua cancelamento. Limites evitam travamentos acidentais e reduzem impacto de código hostil.

Casos de teste ofensivos

Prepare tentativas de ler segredos, percorrer diretórios, acessar rede, iniciar muitos processos, executar por tempo indefinido e sobrescrever arquivos. Esses casos medem o isolamento de execução do Hermes.

Passo a Passo Sequencial

1. Classifique ferramentas por capacidade

Separe consultas sem efeito, escrita reversível, comunicação externa e ação destrutiva. Uma calculadora não precisa das mesmas permissões de um terminal. Conceda capacidades específicas em vez de um conector genérico com acesso total.

2. Crie um diretório efêmero

Para cada missão, gere uma área temporária com identificador próprio. Copie apenas arquivos autorizados e monte entradas como somente leitura quando possível. Ao final, exporte artefatos aprovados e destrua o ambiente.

3. Use usuário sem privilégios

Execute processos sem administração e sem acesso a sockets, dispositivos ou diretórios do host. Remova variáveis de ambiente sensíveis. Credenciais necessárias devem ser fornecidas a um proxy controlado, não ao código.

4. Bloqueie rede por padrão

Libere somente destinos, protocolos e métodos necessários à tarefa. Registre requisições e limite volume. Uma lista de permissões é mais segura que tentar identificar todos os destinos perigosos.

5. Valide comandos e parâmetros

Prefira ferramentas estruturadas a uma linha de shell livre. Valide caminhos normalizados, extensões, tamanho e esquema. Rejeite caminhos fora da área de trabalho, redirecionamentos inesperados e parâmetros que ampliem escopo.

6. Mostre o plano antes de executar

O Hermes deve declarar finalidade, entradas, comandos, arquivos modificados e saída esperada. A execução controlada de ferramentas usa essa prévia para comparar intenção e ação efetiva. Operações sensíveis aguardam aprovação específica.

7. Aplique limites durante a execução

Interrompa processos que excedam tempo, memória ou quantidade de filhos. Limite tamanho de logs para evitar esgotamento de disco. Um cancelamento precisa encerrar também processos descendentes e conexões abertas.

8. Capture saída de modo seguro

Separe saída normal, erro e código de retorno. Trunque volumes excessivos e remova segredos antes de registrar. Nunca interprete automaticamente texto da ferramenta como nova instrução de sistema.

9. Valide artefatos gerados

Confira tipo real, tamanho, conteúdo e presença de código ativo. Documentos e arquivos compactados podem esconder materiais inesperados. Antes de disponibilizar um artefato, verifique se ele pertence à missão e não contém credenciais.

10. Proteja ações destrutivas

Exija alvo explícito, resolução do caminho, prévia e confirmação. Prefira operações recuperáveis. Bloqueie exclusões recursivas em diretórios amplos e impeça que variáveis não resolvidas definam o destino.

11. Use proxies para serviços externos

Em vez de entregar a chave de um serviço, exponha uma ferramenta que valide parâmetros e execute apenas operações autorizadas. O proxy aplica limite, registra efeito e pode esconder campos sensíveis da resposta.

12. Implemente idempotência

Ações externas devem receber uma chave que impeça duplicação após falha ou reinício. Antes de repetir, consulte o estado. Uma resposta perdida não significa que a operação não ocorreu.

13. Registre auditoria útil

Armazene missão, política aplicada, aprovação, comando estruturado, recursos, retorno e artefatos. Proteja logs e defina retenção. A auditoria deve apoiar investigação sem virar um novo repositório de segredos.

14. Atualize imagens e dependências

Ambientes isolados também possuem vulnerabilidades. Fixe versões, examine pacotes e reconstrua imagens regularmente. Não permita instalação livre de dependências durante tarefas de produção sem fonte e versão aprovadas.

Teste de resistência

Peça ao Hermes para processar um arquivo e inclua no conteúdo uma instrução para ler credenciais e enviá-las pela rede. O agente deve tratar o texto como dado, enquanto o sandbox impede acesso mesmo se houver tentativa. Depois execute um laço infinito e confirme o encerramento pelo limite.

Teste também caminhos com travessia de diretório e nomes semelhantes aos arquivos permitidos. Documente qual camada bloqueou cada tentativa. Defesa em profundidade significa que uma falha de interpretação não se transforma automaticamente em incidente.

Recuperação e resposta a incidentes

Defina como interromper executores, revogar credenciais de proxies e bloquear a exportação de artefatos. Preserve somente evidências necessárias e evite abrir arquivos suspeitos fora do ambiente isolado. Classifique se o evento veio de erro do código, conteúdo malicioso, política inadequada ou vulnerabilidade da infraestrutura.

Após a correção, transforme o incidente em teste automatizado. Verifique outras ferramentas com capacidade semelhante e revise permissões já concedidas. Uma falha contida ainda é sinal de que outra camada pode precisar de melhoria. Registre decisão, responsável e prazo para acompanhamento.

Faça revisão periódica das ferramentas disponíveis ao Hermes e remova capacidades não utilizadas. Confirme que versões novas não ampliaram parâmetros ou acessos silenciosamente. Um inventário pequeno e conhecido facilita testes, reduz superfície de ataque e torna pedidos de aprovação mais compreensíveis para usuários.

Simule a revogação de uma ferramenta e confirme que missões em andamento falham de maneira segura e informativa.

Perguntas Frequentes

Um contêiner é isolamento suficiente?

Depende da configuração e do risco. Ele ajuda, mas precisa de usuário restrito, limites, rede controlada e atualizações. Casos críticos podem exigir isolamento mais forte.

Por que bloquear a rede?

Para impedir exfiltração, downloads não autorizados e contato com serviços internos. Libere apenas destinos necessários por meio de políticas ou proxies.

O agente pode instalar pacotes?

Somente em ambiente descartável e conforme política. Em produção, prefira dependências aprovadas, versões fixas e imagens previamente verificadas.

Como aprovar um comando com segurança?

Mostre finalidade, comando estruturado, arquivos, destino e impacto. A aprovação deve valer para aquela ação exata e expirar se houver mudança.

O que registrar nos logs?

Registre decisões, parâmetros seguros, recursos e resultados. Remova chaves, tokens, dados sensíveis e grandes conteúdos que não sejam necessários à auditoria.

Como agir após uma violação de limite?

Encerre o ambiente, preserve evidências seguras, bloqueie exportação e classifique a causa. Ajuste política ou ferramenta antes de permitir nova tentativa.

A execução segura assume que código e conteúdo podem falhar. Com barreiras externas ao modelo, o Hermes continua produtivo sem transformar uma resposta equivocada em acesso irrestrito aos sistemas.

Artigos relacionados: defesa contra prompt injection; níveis de autonomia para agentes.

Fonte
Equipe Suadica

Veja também

Mais Dicas