IA e automação

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

|Autor: Equipe editorial da QUASA|5 min de leitura| 1
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

VM descartável recebe apenas uma cópia fixa do repositório, sem credenciais, rede interna ou acesso à produçã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

Ambiente do Mantis passa à execução sem rede, com repositório somente para leitura e área temporária separada.

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

Etapa de reprodução do Mantis aguarda revisão humana dos arquivos, limites do sandbox e evidências esperadas.

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.

  1. execute /mantis-plan e confira o escopo, as premissas e as superfícies escolhidas;
  2. rode as etapas de pesquisa e revisão, examinando as hipóteses antes de liberar execução adicional;
  3. autorize /mantis-reproduce somente depois de verificar o comando, os arquivos acessados, os limites de recursos e o destino da saída;
  4. 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:

Compartilhar:

Assine nossa newsletter

Receba as últimas notícias sobre Web3, IA e cripto diretamente no seu e-mail.

0