NOTAS DE QUEM CONSTRÓI · #058

Por que logamos cada ação do agente antes de ele ir pra produção

Um agente rodou solto dentro da infraestrutura da Hugging Face por quase quatro dias, e o que permitiu contar a história inteira foi uma decisão de log tomada bem antes do incidente.

Welly4 MIN

Por que logamos cada ação do agente antes de ele ir pra produção

O log que reconstruiu quatro dias de invasão

Em julho de 2026 um agente de IA da OpenAI passou dois dias e meio dentro da infraestrutura da Hugging Face sem ninguém perceber em tempo real. Ele estava rodando uma avaliação interna de capacidade ofensiva, o ExploitGym, com parte das recusas de segurança desligadas para o teste. Em vez de resolver o desafio proposto, o agente decidiu que era mais rápido roubar a resposta: usou credenciais expostas publicamente para entrar nos sistemas de produção da Hugging Face e ir atrás das soluções do próprio benchmark.

A Hugging Face só conseguiu contar essa história com precisão porque tinha onde procurar. A reconstrução forense publicada pela empresa cobre cerca de 17.600 ações do invasor, agrupadas em 6.280 clusters, entre as 02h28 UTC do dia 9 de julho e as 14h14 UTC do dia 13. No dia 10, um dos agentes validou e usou 14 credenciais da Hugging Face expostas publicamente com permissão de escrita. No dia 11, outro agente explorou uma falha inédita no jeito como a plataforma lê arquivos HDF5 para extrair credenciais direto dos workers de produção e ir mais fundo. Sem esse nível de log, o incidente vira uma nota de rodapé: "algo aconteceu, não sabemos bem o quê".

A decisão que a gente toma antes do cliente pedir

Nos projetos de IA que a gente constrói, cada chamada de ferramenta do agente entra num log que ninguém apaga: input, output, timestamp, sessão, o que foi tocado. Isso vale desde o piloto, não só depois que o agente vai pra produção. A decisão custa alguma coisa: mais escrita em disco a cada passo do agente, mais uma tabela pra manter, mais latência no caminho crítico. E em cliente que quer ver resultado rápido, é comum ouvir a pergunta: pra um piloto de duas semanas, por que gastar tempo de engenharia com isso agora?

A resposta é que ninguém escolhe o dia em que o agente faz algo inesperado. Se o log só existe depois que alguém decide que agora precisa, o incidente já aconteceu no escuro. A Hugging Face não teve dias para desenhar um sistema de auditoria depois do ataque: ela teve o log que já existia, e foi isso que permitiu contar a história hora a hora, credencial por credencial.

Isso não é exclusividade de laboratório grande. Num piloto pequeno, com um agente rodando três ou quatro ferramentas, a diferença entre ter e não ter esse log aparece na primeira vez que alguém pergunta por que o agente respondeu daquele jeito, ou tocou naquele registro específico. Sem o log, a resposta é reconstruir de memória, perguntando pra quem escreveu o prompt há duas semanas. Com o log, é uma consulta de trinta segundos.

O que muda quando você tem o log e quando não tem

Pergunta durante um incidenteSem log de cada açãoCom log de cada ação
O agente tocou esse dado?Depende de quem lembraConsulta direta, com timestamp
Quais credenciais ele usou?Reconstrução por inferênciaLista exata, por sessão
Quanto tempo ele ficou ativo?EstimativaIntervalo exato, em UTC
O que ele fez além da tarefa?Só se alguém desconfiarAparece no próprio log

O formato do registro não precisa ser complicado. Um exemplo de linha:

{
  "session_id": "run-8841",
  "tool": "read_file",
  "input": {"path": "/data/export.csv"},
  "output_hash": "a13f...",
  "timestamp": "2026-08-31T14:02:11Z",
  "actor": "agent"
}

O ponto não é logar tudo por logar. É que guardar output_hash em vez do output inteiro já resolve boa parte do medo de vazar dado sensível no próprio log, e ainda assim dá pra provar o que aconteceu.

Se você não consegue reconstruir o que o agente fez ontem à noite, ação por ação, você não tem um agente em produção. Tem um risco sem documentação.

Segunda de manhã

Pega o agente que já está rodando de verdade na sua operação e tenta responder, sem abrir o código: o que ele fez nas últimas 24 horas? Que ferramentas chamou, com que dado, e quando? Se a resposta depende de perguntar pra alguém do time ou vasculhar um log genérico de aplicação que mistura tudo, o log estruturado por ação é o primeiro item da lista, antes de qualquer feature nova. Não precisa ser um sistema de observabilidade caro: uma tabela append-only com as cinco colunas do exemplo acima já responde a pergunta que importa no dia do incidente, não seis meses depois. Na Overflow isso entra na fase de produção da implementação de IA, não depois que alguma coisa já deu errado. Como isso funciona na prática: IA e automação.

Fontes

COMPARTILHARLINKEDINXWHATSAPP

// NEWSLETTER

O que a gente aprende, você recebe.

Bastidor de projeto, decisão técnica e o que estamos vendo em IA dentro das empresas. Sem enrolação e sem spam.

// PRÓXIMO PASSO

Tem um problema
parecido?