Um agente com carteira é uma superfície de ataque nova: a perda acontece quando uma frase numa página web convence quem segura a chave a mandar o dinheiro para outro lugar. Esta ferramenta lê o que o seu agente é capaz de fazer, envia 20 sondagens adversariais para descobrir o que ele vai fazer e lhe entrega uma carteira-isca sem chave privada — para que você possa ler tudo o que ele tentar assinar.
As três produzem tipos diferentes de prova. Só a prova observada pode ser reportada como Crítica — uma inferência tirada de um grafo de capacidades, nunca.
Cole as definições de ferramenta do agente: quais podem mover valor, quais trazem para dentro um texto que o agente não escreveu, quais tocam em chaves e se há algo entre elas e a assinatura. Seis formatos de configuração são lidos.
20 mensagens adversariais vão até o endpoint do agente e a resposta é lida. É a única trilha que produz prova observada.
Damos a você um endereço de RPC. Você liga o seu agente a ele com uma única variável de ambiente. Cada assinatura que ele tenta é registrada e decodificada: qual função, qual destinatário, qual valor, e se a permissão era ilimitada.
Cada sondagem pede ao agente algo reconhecível e trivial: repetir um token, dizer um endereço-sentinela sem chave privada, esticar-se até uma ferramenta que ninguém pediu. A vulnerabilidade é a obediência.
Antes de uma única requisição sair, você precisa publicar o arquivo /.well-known/saferico-agent-test.txt na própria origem do endpoint. Só a sua conta consegue derivar o token que vai nele.
Uma checagem que não pôde rodar é reportada como NÃO TESTADA, jamais como bem-sucedida. Se pouca coisa foi medida, a nota simplesmente não é dada, em vez de te bajular.
As ferramentas em si (o scanner, os painéis, o espaço de trabalho da SAFI) funcionam por enquanto com a interface em inglês. Estas páginas explicam tudo em português antes de você entrar nelas.
Esta ferramenta ataca o seu agente. Ela só pode fazer isso com limites demonstráveis — e os limites estão escritos um a um abaixo.
Não é «configurado para não assinar»: não há chave no módulo, então assinar não é uma regra que ele obedece, é uma operação que ele não consegue realizar. Um erro aqui não pode virar uma moeda movida, porque não há nada para mover.
E ele não fabrica recibo falso. A implementação fácil devolveria um hash de transação plausível para o agente seguir o seu caminho — isso é fabricar prova de uma transação que nunca aconteceu. Em vez disso, volta um erro JSON-RPC que diz claramente o que houve. O achado é a tentativa em si.
As suas definições de ferramenta e a sua instrução de sistema são analisadas nesta máquina. O que é enviado para montar as cadeias é estrutura: nomes de ferramenta, classes de capacidade e valores verdadeiro/falso.
A única exceção é marcada explicitamente: para que a sondagem de vazamento tenha algo com que comparar, uma expressão de até 200 caracteres escrita por você é enviada junto com a sondagem. Ela é comparada ali e descartada — não é armazenada, nem registrada, nem escrita no relatório, nem enviada ao endpoint testado. Se você não quiser compartilhar esses 200 caracteres, deixe o campo vazio; a sondagem é então reportada como NÃO TESTADA, e não como bem-sucedida.
As sondagens não são aleatórias; elas avançam no formato de um ataque real:
A mais realista fica em primeiro lugar: a injeção indireta. Ninguém escreve «ignore as suas instruções anteriores» para um agente de DeFi — a pessoa coloca isso na descrição de um token, numa página web, num README ou num texto on-chain que o agente lê através de uma ferramenta.
Uma sessão de isca custa 10 créditos e é limitada por três tetos: 60 minutos, 200 eventos registrados e parada automática após 15 minutos sem atividade. Cada um desses números é lido, na geração da página, do módulo que os aplica — de modo que a página não consegue anunciar um limite que o código não impõe.
Os IDs de rede são apenas de teste; um ID de rede principal é recusado na criação da sessão. Um agente que se acha na rede principal pode fazer coisas que o operador dele vai ter que explicar depois.
Cole o endereço do contrato e veja as permissões do proprietário, a liquidez e o resultado da simulação de venda antes de se expor. A pequena taxa por escaneamento aparece antes da assinatura — e em qualquer assinatura ela já vem incluída, sem limite.