
AWS marca o tráfego de agentes com novas chaves de contexto IAM
Em 6 de maio, a AWS lançou o AWS MCP Server geralmente disponível com duas novas chaves de contexto IAM. aws:ViaAWSMCPService é um booleano, definido como verdadeiro em qualquer solicitação que flua através de um MCP gerenciado pela AWS. aws:CalledViaAWSMCP carrega o principal do serviço do MCP de origem, com valores como aws-mcp.amazonaws.com e eks-mcp.amazonaws.com. Ambas as chaves são injetadas na camada de serviço; os chamadores não podem falsificá-las. O CloudTrail registra o mesmo identificador sob invokedBy.
Leia o anúncio e o blog IAM-for-MCP. A AWS lançou a superfície de controle L3 mais limpa no espaço do agente. Crédito onde é devido.
Aqui está a parte que o walkthrough GA não inclui.
O bypass que sobrevive à política
O blog IAM-for-MCP fornece este exemplo de SCP, palavra por palavra:
{
"Sid": "DenyDeleteWhenAccessedViaMCP",
"Effect": "Deny",
"Action": ["s3:DeleteObject", "s3:DeleteBucket"],
"Resource": "*",
"Condition": { "Bool": { "aws:ViaAWSMCPService": "true" } }
}
Parece à prova de balas. Um agente roteado através do MCP não pode deletar um objeto S3. A chave de contexto é definida na camada de serviço; nada pode mentir sobre isso.
Agora faça o agente chamar lambda:InvokeFunction(my-cleanup-fn). A chamada Invoke em si é registrada com aws:ViaAWSMCPService=true e é permitida. O Lambda é executado sob seu próprio papel de execução e chama s3:DeleteObject de dentro de seu manipulador. Essa chamada é do principal do Lambda, não do usuário. As chaves de contexto do MCP não se propagam através dele, porque o Lambda não é um serviço de Sessão de Acesso Direcionado. Ele executa seu código com seu próprio papel.
A negação não é acionada. O objeto desapareceu.
Isso não é um CVE. É como o IAM sempre funcionou, e a AWS não sinaliza isso porque não há propagação para documentar. A forma se generaliza para qualquer coisa que execute código do cliente sob seu próprio principal: tarefas do Step Functions, alvos de regras do EventBridge, projetos do CodeBuild, trabalhos do Glue. Qualquer negação L3 que dependa das novas chaves de contexto precisa de uma negação espelho no papel downstream, avaliada sem a chave de contexto. O blog IAM-for-MCP não mostra essa política acompanhante.
Três lugares mais onde L3 para
A "sem rede" do run_script é um ACL de rede, não um sandbox. A AWS descreve o runtime Python como não tendo acesso à rede enquanto herda suas permissões IAM. O boto3 ainda funciona; o sandbox existe para que o agente possa chamar APIs da AWS. Uma permissão IAM para s3:PutObject contra um recurso curinga, comum em papéis de desenvolvimento, permite que o script escreva em qualquer bucket acessível. O runtime está mais próximo de um Python gerenciado com um filtro DNS não-AWS do que um sandbox de segurança no sentido de seccomp ou V8-isolate. "Sem rede" para o curl. Não impede a exfiltração permitida pelo IAM.
O CloudTrail captura recibos, não conversas. A trilha registra cada chamada de API que o MCP faz, incluindo as novas chaves de contexto e invokedBy. Não registra o prompt. Não agrupa chamadas em uma sessão. "Listar usuários IAM, simular suas políticas, criar uma chave de acesso para um deles" é um padrão de reconhecimento-para-pivot; o CloudTrail registra três chamadas em ordem de tempo, nada mais. Há também uma armadilha de configuração: a própria orientação de segurança da AWS observa que chamadas downstream originadas do MCP são classificadas como eventos de dados, então um cliente que nunca ativou o registro de eventos de dados não captura nenhuma delas. A trilha é silenciosa sobre as chamadas que mais importavam.
Somente leitura é moldada como somente leitura. Um papel com iam:Simulate*, iam:List*, lambda:InvokeFunction *, e cloudformation:UpdateStack é lido como somente leitura em uma auditoria rápida. O agente enumera cada caminho de escalonamento, invoca uma função privilegiada esquecida e atualiza um modelo de pilha que controla o IAM. run_script é o multiplicador; o modelo pode sequenciar todo o pipeline de reconhecimento-para-pivot dentro de uma única invocação e retornar um resultado limpo para o usuário.
Qual é a lacuna na verdade
Os controles L3 fazem exatamente o que dizem. As novas chaves de contexto marcam a solicitação na borda do serviço. Os SCPs negam a chamada na avaliação. O runtime Python bloqueia as syscalls que alegou bloquear. O CloudTrail registra o que a AWS disse que registraria, quando você o habilitou.
A lacuna está um nível acima. Nenhum controle L3 pode correlacionar o prompt à sequência de ferramentas ao resultado entre serviços, porque o prompt não existe no ponto de avaliação do IAM. O perfil comportamental de um agente, que ele executou esse tipo de cadeia de reconhecimento-para-mutação antes, que sua identidade acumulou confiança ao longo de sessões anteriores, que a ação que ele acabou de solicitar se encaixa ou não em seu histórico, não é uma pergunta que o IAM pode responder. Também não é algo que o CloudTrail pode reconstruir depois do fato, porque os recibos não referenciam a conversa que os produziu.
Isso é L4. Telemetria comportamental que vive fora do runtime do agente, assinada por uma autoridade que o agente não controla, exposta ao serviço que recebe a solicitação antes de honrar a ação. O AgentLair emite um Token de Atuação do Agente, assina cada ação em um registro de auditoria à prova de violação e expõe a agregação comportamental através de um endpoint pagável x402. O serviço receptor, AWS ou outro, verifica a pontuação de confiança e decide se deve honrar a chamada.
O lançamento dos Projetos CF+Stripe tornou a metade financeira disso concreta: um agente pode permanecer sob um limite mensal de $100 enquanto registra sessenta domínios semelhantes. O AWS MCP Server torna a metade IAM concreta: um agente pode contornar aws:ViaAWSMCPService através de qualquer serviço de computação que execute código do cliente. Ambas as lacunas são a mesma lacuna. A política responde "a ação foi autorizada?" quando a pergunta é "este agente deve estar fazendo esse tipo de ação?".
O L3 é necessário. A AWS acabou de lançar alguns dos mais fortes primitivos L3 no espaço do agente. O L4 é com o que eles se compõem. O AgentLair opera lá.
Se você está integrando
As novas chaves de contexto IAM da AWS podem impactar empresas brasileiras ao melhorar a segurança em operações com agentes. No entanto, a falta de correlação entre ações e permissões pode criar vulnerabilidades. É crucial que as empresas entendam essas dinâmicas para proteger seus dados.


