Pesquisador quebra sandbox Python do AWS MCP Server
Um pesquisador publicou um writeup mostrando como contornar as restrições do sandbox Python da ferramenta aws___run_script do AWS MCP Server e obter execução de comandos do sistema dentro do ambiente Lambda da AWS. O serviço gerenciado permite que agentes de IA chamem ferramentas da AWS. O material divulgado não informa correção; quem conecta agentes de IA ao serviço deve acompanhar os avisos da AWS.
O que aconteceu
Um pesquisador publicou um writeup mostrando como escapar do sandbox Python da ferramenta aws___run_script do AWS MCP Server. As restrições podem ser contornadas até a execução de comandos do sistema dentro do ambiente Lambda onde o script roda.
Por que importa
O AWS MCP Server é um serviço gerenciado que permite a agentes de IA chamar ferramentas da AWS. Com o bypass, o código enviado à ferramenta escapa das restrições e obtém execução de comandos do sistema no ambiente Lambda. Empresas que conectam agentes de IA ao serviço ficam expostas enquanto não houver correção divulgada.
O que fazer
Acompanhe os avisos da AWS sobre o AWS MCP Server. Verifique se seus agentes de IA usam a ferramenta aws___run_script e considere restringir esse uso até haver correção confirmada.
Para o time técnico
- Afetados
- AWS (Amazon Web Services) AWS MCP Server, servidor MCP remoto gerenciado (ferramenta aws___run_script) · AWS MCP Server, servidor MCP remoto gerenciado da AWS (ferramenta aws___run_script). Versões não especificadas nas fontes.
- Exploração
- Writeup técnico publicado em 28/10/2026, anunciado pela conta @ptdbugs no X e hospedado no dbugs, descreve o bypass completo com a cadeia de exploração. As fontes não relatam exploração na natureza.
- Correção
- Não informada. O material divulgado não menciona correção nem mitigação.
- Vetor
- A ferramenta aws___run_script do AWS MCP Server aceita um script Python curto e o executa em um sandbox no AWS Lambda. Havia duas camadas de proteção: um validador estático de AST, que inspecionava a árvore sintática e rejeitava operações suspeitas antes da execução, como ler atributos dunder (obj.__class__), chamar getattr ou importar operator para usar operator.attrgetter; e uma camada de runtime, que substituía built-ins por implementações restritas ou objetos proxy, por exemplo type substituída por _safe_type, que retornava classes proxy, open restrita e getattr bloqueada. Essas restrições podem ser contornadas até a execução de comandos do sistema dentro do ambiente Lambda.
- Mais detalhes
- Cadeia de exploração descrita: (1) o validador rejeitava nomes dunder escritos como strings simples, então o nome era montado em runtime com chr; (2) não era possível definir uma classe no sandbox, mas uma classe podia ser criada por meio de collections.namedtuple, que usa type internamente e permite reatribuir __match_args__; (3) __match_args__ era definido como __reduce_ex__; chamar esse método com o protocolo 4 do pickle retornava uma receita de reconstrução do objeto cujo primeiro elemento era copyreg.__newobj__, uma função Python real fora da camada de proxy; (4) um objeto função era necessário para isinstance verificar que o objeto era uma função. Segundo o writeup, o script pode combinar várias chamadas de API da AWS, filtrar respostas e processar o resultado em uma única requisição.
Linha do tempo
Writeup publicado anuncia quebra das restrições do sandbox Python da função aws___run_script.
Fontes 1 fonte
- @ptdbugs @ptdbugs


