Voltar
AWS mostra como combinar controles do AgentCore Memory contra memory poisoning, com validação de escrita em camadas

AWS mostra como combinar controles do AgentCore Memory contra memory poisoning, com validação de escrita em camadas

Aprofundamento CEVIU

Aprofundamento

O Amazon Bedrock AgentCore Memory mantém contexto entre sessões com memória de curto e longo prazo. O conteúdo gravado é recuperado e injetado automaticamente em conversas futuras, então o caminho de escrita decide o que o agente vai "lembrar". É aí que a AWS propõe agir contra o memory poisoning, uma forma de prompt injection indireta em que o atacante grava instruções maliciosas na memória de longo prazo. Ao contrário do prompt injection efêmero, a memória envenenada persiste e, em namespaces compartilhados, pode atingir vários agentes e usuários.

Os controles nativos já existem: condition keys do IAM (bedrock-agentcore:namespaceVariable/*) no CreateEvent, validação de namespace-variable (allowedValues, regexPattern), consolidation prompts personalizados e a ApplyGuardrail API. O que falta, segundo o texto, é uma camada única e ajustável que combine sinais. A proposta é um Lambda interceptor de pré-escrita no AgentCore Gateway com quatro sinais: desvio semântico (peso de 40%, similaridade de cosseno com embeddings do Amazon Titan Text Embeddings V2), padrão de instrução por regex (25%), fronteira de namespace (25%) e anomalia na taxa de escrita (10%, contador no DynamoDB). O resultado vira ALLOW (abaixo de 35), QUARANTINE (35 a 60, redireciona para um namespace isolado) ou DENY (acima de 60, bloqueia e dispara alerta via Amazon SNS).

Há complementos: oito políticas Cedar no AgentCore Policy para isolamento de namespaces (por exemplo, agentes não escrevem em system/ e só o Lambda de validação escreve em quarentena) e a escolha de failurePolicy entre ALLOW e BLOCK caso a validação fique indisponível. Nos testes, 11 cenários (3 benignos e 8 ataques) retornaram a decisão esperada, mas usando uma aproximação local por sobreposição de palavras-chave, não o Titan. Três ataques sem correspondência de regex (injeção em espanhol, inglês ofuscado e manipulação sutil de preferência) foram pegos pelo desvio semântico. O autor avisa que os resultados variam no ambiente real. A validação ocorre na camada do Gateway, então escritas por chamadas diretas de SDK escapam dela e exigem validação no código do agente ou controles de IAM e consolidation prompts.

Por que isso importa

Para quem opera agentes com memória compartilhada, o ponto central é tratar a escrita na memória como superfície de ataque, não só o prompt. Uma única escrita envenenada em namespace compartilhado vale para todo mundo que lê dele. Vale também olhar a lacuna das chamadas diretas de SDK e decidir a failurePolicy conforme o risco do ambiente. Os números dos testes vêm de uma demo simplificada, então calibrar limiares com dados próprios é parte do trabalho.

Perguntas frequentes

O que é memory poisoning em agentes de IA?

É uma forma de prompt injection indireta em que o atacante grava instruções maliciosas na memória de longo prazo do agente. Como a memória é recuperada automaticamente em sessões futuras, a instrução pode ser executada dias depois, inclusive com outro usuário. Em namespaces compartilhados, o efeito pode alcançar vários agentes.

Como funciona a decisão ALLOW, QUARANTINE ou DENY?

Um Lambda interceptor no AgentCore Gateway pontua cada escrita com quatro sinais ponderados. Abaixo de 35 a escrita segue, entre 35 e 60 ela vai para um namespace de quarentena, e acima de 60 é bloqueada com alerta via SNS.

Por que usar desvio semântico e não só regex?

Regex pega marcadores conhecidos em inglês, mas é contornada por outros idiomas ou frases ofuscadas. O desvio semântico compara o significado da escrita com o contexto da sessão, então depende menos da forma do texto. Nos testes, três ataques sem match de regex foram sinalizados por ele.

A solução cobre qualquer escrita na memória?

Não. Ela valida escritas que passam pelo AgentCore Gateway. Chamadas diretas de SDK que o contornam precisam de validação no código do agente, condições namespaceVariable do IAM ou consolidation prompts personalizados.

Fontes

Avalie este artigo:
Categoria
CEVIU Segurança da Informação
Publicado
09 de novembro de 2026
Editoria
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser