Runtime leve de segurança para agentes autônomos
(github.com/skwuwu)É um runtime para usar com segurança agentes autônomos como o OpenClaw.
Agentes autônomos têm um escopo de ação mais amplo do que agentes convencionais e, por isso, podem ser muito mais úteis. Ao mesmo tempo, porém, exigem permissões poderosas, então era preocupante usá-los sem qualquer proteção, por causa de chamadas de API incorretas ou permissões excessivas como rm -rf. De fato, já foram encontrados incidentes graves de segurança, como exclusão acidental de arquivos reais no OpenClaw ou execução de código malicioso no Clawhub.
Eu queria usar o OpenClaw por meio de uma instância da AWS, mas no caso de contramedidas de segurança existentes como o NVIDIA NemoClaw, havia dependência de hardware e, na prática, era necessário gerenciar infraestrutura como Kubernetes. Por outro lado, fazê-lo rodar simplesmente em Docker também era difícil, porque ele foi concebido originalmente como um contêiner simples, o que tornava complicado o desenho de políticas e o controle de permissões.
Por isso, acabei criando uma camada leve de segurança sem infraestrutura adicional, composta por dois binários em Rust. Não há dependências extras e ela também funciona em outros ambientes, mas como aproveita recursos do kernel do Linux, o uso em ambiente Linux é recomendado.
Os componentes técnicos deste projeto são os seguintes.
- Um proxy que classifica todo o tráfego de saída HTTP/HTTPS em
allow/deny/delayetc., de acordo com as políticas - Uso de seccomp-bpf e isolamento por namespaces para impedir que o agente contorne o proxy
- Prevenção de abuso das permissões de syscall pelo agente e proibição de acesso direto a arquivos locais usando um sistema overlayfs
- Prevenção de vazamento por meio de secret injection, para que o agente não consiga conhecer as chaves de API
Os detalhes mais aprofundados da implementação técnica estão documentados no GitHub, separados por partes. Testes básicos de estresse, como estabilidade de memória e prevenção de processos órfãos no encerramento, já foram concluídos, e o sistema também passou em testes com execução superior a 60 minutos (OpenClaw e Hermes agent rodando em uma instância da AWS). A latência também foi medida como desprezível em comparação com a execução real do agente.
Acredito que isso pode ser útil para quem, como eu, usa agentes em produção em servidores Linux ou precisa depurar e controlar o tráfego de agentes. Como é uma ferramenta baseada em CLI, a UI pode ser pouco prática, mas também é possível fazer uma verificação simples por meio de uma página HTML estática. Relatos de bugs, feedback e outras perguntas são bem-vindos!
Ainda não há comentários.