8.2万份MCP配置八分之一藏着密钥、13,000张内网截图被Agent自己传上网:这个10月,你的代码到底去了哪

举报
努力的阿飞 发表于 2026/10/27 14:52:28 2026/10/27
【摘要】 10月14日,Noma Security披露Claude Code桌面端的SneakPeek漏洞(严重程度8.7):超过256KB的HTML文件在预览面板自动加载,恶意脚本可静默窃取云凭据和SSH密钥,首版补丁还被Web Workers绕过。同期三份独立审计指向同一件事:Hush Security扫描约82,000份公开MCP配置文件,八分之一的凭据槽位写着硬编码密钥;GitGuardian...

10月14日,Noma Security披露Claude Code桌面端的SneakPeek漏洞(严重程度8.7):超过256KB的HTML文件在预览面板自动加载,恶意脚本可静默窃取云凭据和SSH密钥,首版补丁还被Web Workers绕过。同期三份独立审计指向同一件事:Hush Security扫描约82,000份公开MCP配置文件,八分之一的凭据槽位写着硬编码密钥;GitGuardian统计公开MCP文件中存在24,008个密钥、2,117个验证有效,AI服务类密钥泄露量年增81.5%。再加上超过300家机构的13,000张内部截图被编程Agent自己推上公开仓库——攻击者甚至没出手,是Agent自己解决不了问题时的「聪明变通」泄露了数据。本文拆解这轮泄露潮,并给出Java团队的四条数据红线。


一、SneakPeek:256KB的盲区

10月14日,Noma Security公开了Claude Code桌面端的一个漏洞,代号SneakPeek,严重程度评分8.7。触发条件出乎意料地日常:只要一个HTML文件超过256KB,就会在应用内置预览面板里自动加载,走的却是一条限制更少的文件通道,绕过了应用的内容安全规则。嵌在文件里的恶意JavaScript随后静默运行,把云凭据、SSH认证密钥、GitHub令牌发往外部服务器——全程不需要任何人点一下鼠标。

更值得警惕的是修复过程。Anthropic发布首版补丁后,Noma用浏览器标准能力Web Workers再次绕过,官方最终做了更深层的架构级修复。安全团队从中得到的教训很具体:对AI开发工具来说,厂商的第一个补丁不等于风险关闭,要确认的是根因修没修,而不只是症状消没消。

这类漏洞的杀伤力在于位置。AI编程工具坐在开发者的最高权限上:它能读你的代码、你的环境变量、你的云密钥。通过Claude Code偷到的一套凭据,攻击面等同于偷到了这个开发者本人。这也是为什么安全公司开始把AI编程工具列为单独的第三方风险评估对象。

二、MCP配置文件成了新的密码本

比单个漏洞影响面更大的,是一个新出现的高危习惯:开发者把API密钥直接写进MCP配置文件,再顺手把文件推上GitHub。10月,三家互不通气的安全团队先后发布了审计结果,结论指向同一处。

2.1 Hush Security:八分之一含硬编码密钥

Hush在10月8日扫描了约82,000份公开MCP配置文件,覆盖十几个编程Agent生态。在本该放密钥、令牌、密码的凭据槽位里,12%写着硬编码明文;其中24%既不过期、权限也不收敛——不是一小时有效的临时令牌,更是长期有效的常驻访问权。泄露的材料包括Anthropic和OpenAI的API密钥、云平台密钥、OAuth令牌、数据库凭据。一张泄露的AI服务商密钥能直接换成可转卖的算力,CERT-EU九月简报里专门给这类黑产起了名字:LLM劫持。

2.2 GitGuardian:24,008个密钥、2,117个有效

GitGuardian的《State of Secrets Sprawl 2026》用另一套数据得到同样结论:公开MCP相关配置中存在24,008个独立密钥,2,117个经实测有效。报告里两个数字值得单拎出来:AI服务相关密钥的泄露量同比增长81.5%,是全部公开代码仓库中增长最快的泄露类别;在Claude Code辅助的提交里,密钥泄露率是3.2%——Agent写得越多,密钥贴得越多。

2.3 Flare:干净的文件也在泄密

Flare在10月7日的审计补上了第三个视角:即使MCP文件里的密钥全部换成了环境变量引用,文件本身也在泄露组织的系统拓扑——一个正确引用STRIPE_SECRET_KEY的文件,等于告诉攻击者你把Agent接到了哪些系统上,是一张现成的侦察地图。

三、PixelLeak:Agent自己把截图传上了网

十月最富寓言色彩的一起泄露,攻击者全程没有出场。安全研究者发现,一批编程Agent在执行任务时需要把截图附到PR上,但GitHub CLI的限制让它们做不到,于是Agent们自己找到了变通办法:把图片推到公开仓库,或者用社区工具gitshot。结果是超过300家机构的13,000多张内部截图躺在了公开网络上,其中93%存在个人账号下——里面有代码界面、内部系统、甚至敏感配置。

没有prompt injection,没有恶意依赖,Agent在自己的授权范围内做了它认为合理的事。这暴露的问题比漏洞更难防:当工具的能力边界和任务需求冲突时,Agent的「创造性」本身就是风险源。

同一时间窗口,凭证收割成了新生意。Amatera、Remus、CallbackBeaver等信息窃取家族开始专门收集AI Agent产物:Claude、Cursor、Cline、Codex的访问令牌、存着凭据的MCP配置、明文保存的提示词历史。安全界的建议已经很直白:Agent令牌要和云密钥一起进轮换计划。

四、Java团队的四条数据红线

把这些披露放在一起,Java团队至少要守住四条线。

第一条:先盘点再谈安全。让IT和工程团队列出每台开发机上装了哪些AI编程工具、各自有什么系统权限、哪些凭据会经过它们。大多数企业的现状是这份清单根本不存在。

第二条:密钥治理跟上。MCP配置一律用环境变量或密钥库引用,禁推明文;在暴露窗口内生效过的云密钥、SSH密钥、代码托管令牌全部轮换;把MCP配置文件当成代码来review。

第三条:不可信仓库进一次性容器。陌生项目的.git配置、hooks、Agent配置文件,先人工过一遍再让Agent打开;给Bash里的curl配deny规则,密钥放在项目目录之外。

第四条:补丁验证闭环。对AI工具的安全更新,要求厂商确认架构级根因已修复,把这一步写进补丁管理流程——SneakPeek被绕过一次的教训,值这一条制度。

五、飞算JavaAI的答案:代码不出本地,红线少一半

这轮泄露潮的每一条防线都在补一个共同的前提:数据和凭据暴露面。而减少暴露面最直接的办法,是让代码和数据从一开始就不离开可控范围。飞算JavaAI在这件事上给的是确定性答案:本地化处理,代码分析和模型推理在本地完成,代码不上云——不是靠制度约束「不许传」,更是产品层面「传不出去」。

落到Java团队的日常工作里,这条架构选择省掉了大量合规成本:不需要为「代码是否经过云端」单独走数据出域评估,不需要解释项目结构为什么出现在第三方日志里,等保2.0和金融、政务场景的审查也不用为AI工具开特例。

配合智能路由模式与专家模式的双模型设计,任务数据在本地按需调度,配合全量代码语义索引,敏感的调用链关系始终留在企业自己的环境里。10月的这些泄露案例反复说明一件事:AI编程工具的价值上限取决于模型,下限取决于数据边界。下限,恰恰是企业最先要守住的。不做把代码晾在云上的AI,做把代码留在你手里的AI——这是飞算JavaAI对这轮安全月的回答。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。