跳到正文
原文
xplo1t·本站收录· 原文发表精选关注度41

攻破 AWS MCP Server 的 Python 沙箱

Breaking the AWS MCP Python Sandbox

AI 导读

安全研究者 xplo1t 公开披露绕过 AWS MCP Server 的 aws___run_script 工具 Python 沙箱、在 AWS Lambda 环境获得系统命令执行的方法。沙箱以 AST 静态校验加运行时代理两层防护拦截危险属性读取,作者利用 Python 3.10 match/case 类模式经 __match_args__ 隐式读取属性的机制绕过校验,再借助沙箱为函数返回的可变代理类读到真实函数的 __globals__,恢复 __import__ 后用 subprocess 执行了 id 命令。逃逸后可读取 Lambda 执行角色的 AWS_ACCESS_KEY_ID 等凭证和沙箱源码,但该角色除 sts:GetCallerIdentity 外的 AWS API 调用均被显式拒绝,凭证属于 AWS 自有账户,测试中未发现可访问其他会话或客户数据。

推荐理由

文章完整拆解了利用 Python match/case 隐式属性读取绕过 AST 校验的沙箱逃逸链,自建代码沙箱的团队可对照检查同类盲点。

阅读原文xplo1t-sec.github.io