智能体安全的讨论大多围着攻击技术转,一份新报告把镜头对准了更朴素的东西:配置文件。安全公司 Hush Security 发布报告《The State of MCP Configuration: The Identity Security Gaps》,扫描了 GitHub 上约 8.2 万份公开的 MCP 配置文件,覆盖 Claude Code、Cursor、VS Code、Windsurf、Gemini、OpenAI Codex、JetBrains 等主流编码智能体的配置格式。结论不绕弯子:12% 的凭据槽里直接写着明文密钥——API Key、访问令牌、数据库口令,任何能上网的人都找得到。
五条读数:硬编码占比不算惊人,但权限大、不失效、扫描器看不见的子集构成了主要风险。
这份体检的读数比「泄露了」三个字更有信息量。硬编码的密钥里,55% 连厂商可识别的令牌格式都没有,其中 31% 是指向内部 MCP 服务的无格式持有者令牌——为已知密钥格式设计的扫描器对它们按设计漏检。能界定权限范围的凭据中,53% 一到手就是组织级、账号级、工作区级或数据库级的全域权限;设有过期策略的凭据里,80% 默认永不过期。两个条件叠加,24% 的硬编码密钥同时具备「权限大」与「不失效」两个特征,构成影响面最大的子集。方法上,团队用厂商特征加香农熵判定疑似密钥,未保留任何原始值,也未尝试用这些密钥登录验证——再加上 GitHub 代码搜索的索引限制,报告明确把所有数字定位为下限估计。
报告里最扎心的部分在 Git 历史。Hush 回溯了 7681 份含凭据配置的历史版本,最深翻到七个提交之前,发现 243 份配置的密钥已从当前文件里删掉、却仍躺在此前的提交里,谁都能取回;另有 1394 个密钥至今仍在公开可见的位置活着。安全团队多年训练出的肌肉记忆——扫到密钥、拦下提交、轮换泄露物——在这里只完成了三分之二:扫与拦都做了,「删掉」却终结不了暴露,因为 Git 从不忘记。真正能收尾的动作只有一条:去服务商那里轮换凭据。
提交链示意:删除只作用于当前版本,历史提交里的密钥依旧人人可读。
为什么常规手段在这里系统性失灵?Hush 的 CEO Micha Rave 点破要害:这些文件本来就设计成要提交进仓库的,秘密却永远不该跟着进去;一旦进去,风险高的那批密钥匹配不上任何已知格式,它们背后的身份没有主人、没有过期时间、没人盯着。Gartner 分析师 Keith Guttridge 的提醒更直接——利用这些配置甚至不需要技术理解,把文件复制粘贴给一个智能体就够了。TechTarget 的报道还提到,泄露的密钥中包括 Anthropic 与 OpenAI 的 API Key;虚拟 CISO Matthew Smith 补充了一个务实动机:攻击者盯上 AI 密钥,是要拿它们喂自己的 token 消耗,账单算在原主头上。
这份报告真正的论点藏在标题里:MCP 凭据是一类快速膨胀的非人类身份,继承了 API Key 的权限失控问题,却没继承为人类身份建起来的那套治理工具——没有入职调岗离职流程可以撤销它,常常也没有记录说明它是谁建的。把 MCP 配置文件当成普通环境文件来管,正是这份报告量化的那个缺口。报告给出的处置清单也朴素:排查配置里的硬编码,改用变量展开、密钥管理器或占位符;用网关或聚合器统一管理 MCP 服务访问;确认现有的网络与终端检测能否发现未批准的 MCP 客户端;升级到 2026 年 7 月 28 日版的 MCP 规范。
放进近几个月的智能体安全线索里看,方向是一致的:GitLab 沙盒的信任传递问题、备份侧的智能体状态治理、执行前的动作管控,再加上西班牙数据保护局收到头一份由自主智能体执行入侵的泄露通报——防线正在从「内容安全」外扩到「身份与行为」。MCP 的铺开速度决定了这份体检的时效性不会短:配置文件每多一份,明文密钥的绝对数量就只增不减。对正在把智能体接进生产系统的团队,本周就值得做的一件事是自查一遍自家仓库里有多少 mcp.json——至于全行业受影响面的准确数字,目前官方及行业暂未披露更多细节,后续将持续跟进迭代动态。
技术拆解
No.1317
八点二万份智能体配置体检:每八个凭据槽里就有一个明文密钥
安全公司 Hush Security 扫描 GitHub 上约 8.2 万份 MCP 配置文件:12% 的凭据槽硬编码明文密钥,其中 55% 无厂商可识别格式、53% 为全域权限、80% 永不过期;7681 份配置的历史中有 243 份的密钥已从当前版本删除、仍可从 Git 历史取回——报告称这类凭据是「无主人、无过期」的非人类身份。