AI BoutiqueAI Driven Transformation

Vozes

Simon Willison e a trifecta letal dos agentes de IA

Dado privado, conteúdo não confiável e canal de saída: para Simon Willison, quando os três se juntam num agente de IA, vazar dado vira questão de tempo.

Simon Willison é uma das vozes mais escutadas por quem constrói software com IA. Criador do framework Django e da ferramenta Datasette, ele mantém há anos um blog que virou leitura obrigatória de engenheiros que colocam modelos em produção. Sua contribuição mais útil dos últimos tempos não é uma técnica, é um nome: a trifecta letal. Em três palavras, Willison capturou o padrão que explica por que tantos agentes aparentemente seguros acabam vazando dado.

As três capacidades

A tese é simples de enunciar e difícil de esquecer depois que você entende. Um agente de IA se torna perigoso quando reúne três capacidades ao mesmo tempo.

A primeira é acesso a dado privado: o agente pode ler informação que não deveria ser pública. Sua caixa de entrada, sua agenda, o banco de clientes, o código-fonte, o sistema de arquivos. É justamente o que torna um agente útil, ele precisa enxergar seus dados para trabalhar.

A segunda é exposição a conteúdo não confiável: qualquer mecanismo pelo qual um texto, ou uma imagem, controlado por um atacante possa chegar ao modelo. Um e-mail recebido, uma página web que o agente abre, um comentário num ticket, um documento que alguém subiu. O agente lê aquilo como instrução em potencial.

A terceira é a capacidade de comunicar para fora, o que Willison chama de exfiltração. É poder enviar informação para longe: uma chamada de API, um e-mail de saída, uma requisição a uma URL, qualquer canal que leve dado para fora do perímetro.

Três permissões que parecem inofensivas sozinhas viram um cano de exfiltração no instante em que coexistem. O atacante que controla o conteúdo não confiável lê o seu dado privado e o manda embora, sem nenhum código de exploit.

Por que é tão traiçoeiro

O que torna a trifecta letal perigosa é que ela não depende de uma falha de software no sentido clássico. Não há buffer overflow, não há injeção de SQL, não há bug para corrigir. Cada uma das três capacidades é um recurso desejado, colocado ali de propósito por quem construiu o agente. O ataque acontece por prompt injection: o atacante esconde uma instrução no conteúdo não confiável, o modelo a lê como se fosse ordem legítima, usa o acesso a dado privado para colher o que interessa e usa o canal de saída para entregar. Do ponto de vista do modelo, ele só seguiu instruções.

É por isso que Willison insiste que o problema não se resolve pedindo ao modelo para se comportar. Filtro de prompt e ajuste fino reduzem a chance, mas não fecham a porta, porque a porta é a própria arquitetura de permissões do agente. Enquanto as três capacidades estiverem no mesmo fluxo, existe um caminho para o vazamento, e a criatividade do atacante para disfarçar a instrução é praticamente ilimitada.

O que isso muda para quem opera

Aqui a tese sai do blog e entra na sua operação. A maioria das empresas que corre para colocar agentes em produção está montando exatamente a trifecta sem perceber. O padrão é sedutor: dê ao agente acesso ao CRM e ao e-mail para ele ser útil, deixe que ele leia mensagens que chegam de fora para ser autônomo, e conecte umas ferramentas de saída para ele agir. Pronto, você construiu o cano. A pressa de tirar o piloto do papel, o mesmo impulso que faz 95% dos pilotos não virarem produção de forma saudável, também faz muita gente ligar as três capacidades de uma vez sem parar para pensar.

A leitura de Willison dá uma regra prática que cabe numa reunião de arquitetura: não deixe as três capacidades coexistirem no mesmo fluxo. Se o agente lê dado sensível e também processa conteúdo externo não confiável, então ele não pode ter canal de saída livre, toda ação de comunicação passa por aprovação ou por uma lista de destinos fechada. Se ele precisa enviar dados para fora, isole-o de entradas não confiáveis, ele só recebe conteúdo de fonte controlada. Quebrar qualquer uma das três pernas derruba o ataque.

Isso conversa direto com o momento mais amplo do mercado. Enquanto a OpenAI tranca o acesso ao GPT-5.6 justamente por causa de capacidade cibernética, o risco que mais provavelmente vai atingir a sua empresa não é um modelo hostil de fronteira, é o seu próprio agente bem-intencionado com permissão demais. A régua de segurança de agentes não é a inteligência do modelo, é o desenho das permissões ao redor dele. Um modelo mais esperto dentro de uma trifecta aberta é um agente mais eficiente em vazar seu dado, não menos.

Vale ainda casar a trifecta com a agenda de conformidade que já ronda quem opera IA no Brasil. Um agente que exfiltra dado pessoal por prompt injection é um incidente de LGPD com nome e sobrenome, e a lógica de rastreabilidade e controle que a regulação europeia vem exigindo aponta para o mesmo lugar: você precisa saber o que o seu agente acessa e o que ele envia, e conseguir provar isso. A trifecta letal é o mapa mental que transforma essa exigência abstrata em três perguntas concretas que qualquer time pode responder sobre cada agente que colocou no ar.

O mérito de Willison foi dar nome ao que muita gente sentia e não sabia formular. Depois de aprender a trifecta, é impossível olhar para um agente em produção sem checar as três pernas. E essa é a melhor definição de um bom modelo mental: ele muda o que você consegue ver.

Se você tem agentes de IA em produção e quer auditar onde as três capacidades se cruzam antes que virem incidente, fale com a gente no WhatsApp para desenhar as permissões com segurança.

Fontes

Perguntas frequentes

O que é a trifecta letal de Simon Willison?

É a combinação de três capacidades num agente de IA que, juntas, criam a tempestade perfeita para exfiltração de dados via prompt injection: acesso a dado privado, exposição a conteúdo controlado por terceiros e a habilidade de enviar informação para fora. Willison argumenta que cada uma parece inofensiva isolada, mas o encontro das três permite que um atacante leia seus dados e os envie para si mesmo, sem precisar de nenhum código de ataque.

Como reduzir esse risco em um agente que já está em produção?

A tática central é quebrar a trifecta: garantir que as três capacidades não coexistam no mesmo fluxo. Se o agente lê dado sensível e processa conteúdo externo não confiável, tire dele o canal de saída livre. Se ele precisa enviar dados para fora, isole-o de entradas não confiáveis. Some a isso limites de escopo, aprovação humana para ações de saída e monitoramento do que o agente efetivamente envia, em vez de confiar que o modelo vai se comportar.

← Todos os artigos