Mantis executa código gerado por IA — isole antes de procurar falhas

Para usar o Mantis sem expor sua máquina ou repositórios de produção, instale as habilidades em uma VM descartável, forneça somente uma cópia do projeto de teste e bloqueie credenciais, rede interna e acesso ao host. Na primeira rodada, execute cada etapa separadamente e mantenha aprovação humana para qualquer comando sensível.
O README do projeto no GitHub confirma que o Mantis gera e executa código autônomo que pode ser instável ou produzir ações inesperadas. O documento recomenda uma VM dedicada, modo interativo e verificação manual; também esclarece que o projeto é demonstrativo, não é um produto Google oficialmente suportado e não se destina a ambientes de produção.
Delimite o ambiente antes da instalação

Escolha um repositório pequeno e deliberadamente destinado ao ensaio, de preferência com compilação e testes automatizados. Crie uma cópia separada e registre o commit analisado; não entregue ao agente a árvore de trabalho da equipe nem um diretório que contenha outros projetos.
Prepare uma VM que possa ser destruída ao final. Use uma conta sem privilégios administrativos e não copie chaves SSH, tokens de nuvem, cookies, configurações pessoais, histórico do shell ou variáveis de ambiente do host. A VM também não deve alcançar serviços internos, produção ou o endpoint de metadados da infraestrutura de nuvem.
Antes de prosseguir, confirme a fronteira:
- a entrada é uma cópia identificável do repositório e permanecerá fixa durante a rodada;
- não há segredos reais no código, no histórico Git nem nos dados de teste;
- o agente não pode montar diretórios externos, dispositivos ou o socket do Docker;
- os artefatos serão gravados em uma área temporária separada;
- logs, volumes e caches poderão ser eliminados após a revisão.
Instale as dependências e depois corte a rede

Dentro da VM, configure um agente de programação compatível, o runtime do projeto e as dependências necessárias para compilar e testar a cópia. Instale as habilidades com npx skills add google/mantis e registre as versões do agente, das ferramentas e do commit do Mantis. Esse inventário permite repetir a análise sem depender de um ambiente que mudou silenciosamente.
Depois de baixar tudo o que for necessário, desative a saída para a internet antes das etapas que reproduzem ou corrigem falhas. Se o projeto depender de pacotes obtidos durante a execução, prefira um cache ou espelho previamente revisado. Não reabra acesso irrestrito à rede enquanto o agente estiver executando cargas geradas.
Um contêiner pode acrescentar uma segunda camada, mas não substitui por si só a VM. A referência do comando docker run documenta raiz somente para leitura, limites de processos, remoção automática e volumes graváveis específicos; ela também explica que montar o socket Unix do Docker dá ao contêiner acesso para controlar o daemon do host. Mantenha esse socket fora do sandbox.
Defina o que conta como vulnerabilidade
Não entregue apenas a instrução “encontre vulnerabilidades”. Informe os componentes autorizados, as superfícies de entrada, o modelo de atacante, as fronteiras de confiança e o impacto considerado relevante. Registre também comportamentos aceitos pelo projeto para que o agente não trate todo erro ou encerramento de processo como falha de segurança.
A orientação publicada pelo Google Cloud explica que o Mantis usa código e histórico de commits para construir contexto, mas recomenda complementar esse material com conhecimento selecionado por humanos e critérios claros de reprodução em um sandbox. Esses critérios devem existir antes da execução, não ser ajustados depois para acomodar a saída do agente.
Para cada hipótese, estabeleça a evidência mínima. Em um exemplo condicional de travessia de diretórios, o achado só seria aceito se uma entrada controlável por atacante alcançasse um arquivo fora da raiz permitida na cópia isolada. Registre a entrada, o commit, o comando, a saída observada e qualquer configuração necessária para produzir o resultado.
Faça uma primeira rodada estreita e interativa

Abra o agente dentro da VM e não use opções de aprovação automática, como --yolo ou --dangerously-skip-permissions. Limite a primeira rodada a um componente ou fluxo de entrada; uma varredura de todo o repositório torna mais difícil conferir permissões, hipóteses e comandos.
- execute /mantis-plan e confira o escopo, as premissas e as superfícies escolhidas;
- rode as etapas de pesquisa e revisão, examinando as hipóteses antes de liberar execução adicional;
- autorize /mantis-reproduce somente depois de verificar o comando, os arquivos acessados, os limites de recursos e o destino da saída;
- deixe /mantis-patch fora da primeira rodada ou restrinja sua escrita a uma segunda cópia descartável.
Antes de cada aprovação, confirme que o processo continua sem rede, sem elevação de privilégio e sem montagem gravável do repositório original. O princípio de isolar o agente antes da autonomia também vale quando a ação ocorre no terminal, e não em uma interface gráfica.
Valide o achado e descarte o sandbox
Um reproducer que termina com sucesso não prova sozinho que a falha seja explorável. Verifique se a entrada está realmente sob controle de um atacante, se o caminho afetado existe na configuração relevante e se o impacto não depende de permissões artificiais do laboratório. Da mesma forma, uma reprodução automática malsucedida não basta para classificar a hipótese como falso positivo.
Repita o caso a partir de uma cópia limpa, com o mesmo commit, a mesma entrada e os mesmos limites. Outra pessoa deve conseguir separar o comportamento observado da interpretação do agente. Qualquer correção gerada precisa passar por revisão de código e pelos testes normais do projeto em outro ambiente; não faça merge nem envie um relatório público diretamente com base na conclusão do Mantis.
Exporte apenas o relatório revisado, os comandos necessários para reproduzir o caso e os diffs aprovados, tratando esses arquivos como conteúdo não confiável. Em seguida, remova credenciais temporárias, volumes e caches e destrua a VM. A rodada só cumpriu seu objetivo se nenhuma credencial ou rota para produção esteve disponível, as execuções sensíveis foram aprovadas, o achado foi verificado por uma pessoa e o ambiente não será reutilizado.
Leia também:
Assine nossa newsletter
Receba as últimas notícias sobre Web3, IA e cripto diretamente no seu e-mail.