SlotGuard barra vazamento de segredos e dados privados em transcripts de agentes LLM sem quebrar o raciocínio do modelo
SlotGuard é uma proposta para impedir que agentes de LLM vazem caminhos de arquivo, e-mails e credenciais capturados de saídas de ferramentas, logs de shell e leituras de arquivo que acabam anexadas ao transcript enviado ao provedor do modelo. Em vez de redação por placeholder — que os autores mostram ser frágil, perdendo referências entre turnos e destruindo estrutura útil ao raciocínio —, o sistema reescreve vínculos estruturais em "slots" tipados e substitui segredos por valores sintéticos que preservam o formato original.
O problema que o SlotGuard ataca é bastante concreto para quem opera agentes de LLM com acesso a ferramentas: cada chamada de ferramenta, leitura de arquivo ou saída de shell que o agente processa acaba sendo anexada ao histórico da conversa (transcript) enviado de volta ao provedor do modelo a cada novo turno. Se esse conteúdo contém um caminho de arquivo com nome de usuário, um e-mail pessoal ou uma API key capturada incidentalmente, essa informação sensível passa a viajar, turno após turno, para fora do ambiente de execução local — inclusive para provedores de modelo hospedados remotamente.
A abordagem defensiva mais comum hoje, redação por placeholder (substituir o valor sensível por algo como [REDACTED]), é descrita pelos autores como estruturalmente frágil: ela pode não capturar referências embutidas ou que aparecem de novo em turnos posteriores sob outra forma, pode redigir excessivamente strings benignas que apenas parecem sensíveis, e — o ponto mais interessante tecnicamente — pode destruir a estrutura textual que o modelo precisa para continuar raciocinando corretamente sobre o que já fez (por exemplo, referenciar de novo o mesmo caminho de arquivo mencionado antes).
SlotGuard resolve isso operando como uma fronteira de reescrita no transcript local: vínculos estruturais (como caminhos e identificadores) são convertidos em "slots" tipados e sensíveis a sufixo, que preservam a forma e a relação entre menções ao mesmo objeto sem expor o valor real; segredos são substituídos por valores sintéticos que preservam o formato (mesmo comprimento e padrão de uma API key, por exemplo), o que mantém a plausibilidade para o raciocínio do modelo; e um grafo de sessão leve conecta referências entre turnos diferentes, permitindo restaurar os valores reais apenas dentro do runtime confiável local quando necessário para executar uma ação.
Os números do artigo são fortes o suficiente para chamar atenção: remoção completa dos 20.814 caracteres estruturalmente sensíveis anotados em 9.229 caminhos de teste, vazamento de credenciais reduzido a 0% em 852 valores plantados (contra apenas 2,5% de sucesso da redação genérica em manter a tarefa funcional), com overhead de apenas ~14 microssegundos por turno de agente. Para times construindo agentes de codificação ou automação com acesso a sistemas de arquivo e shells reais, isso posiciona o SlotGuard como um componente de infraestrutura de segurança — não um filtro cosmético — que pode ser adotado sem sacrificar a taxa de sucesso da tarefa em relação a um transcript sem qualquer proteção.