文章总结: 本文披露了NanoClaw的MCP服务器添加组件存在不当授权漏洞CVE-2026-17434。其审批界面仅展示name和command,但后端会将未展示的args与env参数一并写入配置并执行。攻击者可借此在隐藏参数中注入恶意指令或凭据,实现安全语义偷换。该问题揭示了AIAgent中人类审批与机器执行对象缺乏一致性的典型反模式。由于核心修复细节被设为付费内容,文章实操指导有限,但对AI工具授权边界的设计提供了关键风险警示。 综合评分: 68 文章分类: AI安全,漏洞分析,漏洞预警,软文广告
【AI安全】NanoClaw爆雷!MCP审批卡悄悄漏掉高危参数
原创
Oxo Security Oxo Security
Oxo Security
2026年7月27日 22:33 吉林
在小说阅读器读本章
去阅读
一、你看到的“批准”,可能不是系统真正执行的内容 🔐
AI 时代!人人都在深耕 AI 安全,你缺的就是这关键一步!
AI 正重塑安全边界,与其在门外徘徊,不如直接掌握主动权!
免费课程持续更新
https://space.bilibili.com/452583051/lists/7870008?type=season
给 AI Agent 增加一个 MCP 服务器,看起来只是一次普通的工具授权:界面弹出审批卡,用户确认服务器名称和启动命令,然后 Agent 获得新的外部能力。可在 NanoClaw 的这条链路里,用户看到的字段与系统最终写入配置的字段并不完整对应。这不是一个视觉瑕疵,而是一条真实的授权边界裂缝。
2026 年 7 月 26 日公开的 CVE-2026-17434 指向 NanoClaw add_mcp_server 组件中的 handleAddMcpServer。CVE 记录将问题归类为 CWE-285 不当授权与 CWE-266 错误权限分配,影响记录覆盖 2.0.0 至 2.0.64,CVSS 4.0 基础分为 5.3,CVSS 3.1 基础分为 6.3,均为中危。⚠️
问题的关键并不复杂:
-
👀 审批卡只展示
name和command; -
📦 待批准对象实际上还保存了
args与env; -
✅ 用户点击批准后,四类字段都会写入组级 MCP 配置;
-
🧨 因而,未被展示的参数和环境变量也被一并授权。
这就像一份合同只把“购买一台服务器”印在首页,却把“开放哪些端口、加载哪些凭据、运行哪些启动参数”藏在附件里;签字动作对整份合同生效,但签字人根本没看到附件。
授权不是“点过同意”就成立,而是用户必须看见并理解即将生效的完整对象。 如果审批界面展示的是 A,后端执行的是 A+B+C,那么这次同意只能证明用户认可 A,不能证明用户认可隐藏的 B 和 C。
对可自我扩展工具的 Agent 来说,审批卡本身就是安全控制面。 它不是聊天消息,也不是可有可无的提示,而是人类在高权限动作生效前最后一道可观察、可拒绝的闸门。🛡️
| 审批字段 | 旧审批卡是否可见 | 批准后是否生效 | 主要风险 |
| — | — | — | — |
| name | 是 | 是 | 伪装成可信工具名 |
| command | 是 | 是 | 启动非预期程序 |
| args | 否 | 是 | 注入额外开关、路径或远程端点 |
| env | 否 | 是 | 注入凭据、代理、运行时劫持变量 |
二、真正危险的不是“多两个字段”,而是语义被偷换 🧩
MCP 服务器配置并不是静态说明书,它直接决定一个子进程如何启动、连接什么资源、继承什么环境。command 只回答“运行谁”,args 与 env 则回答“以什么方式运行、带着什么能力运行”。在现代工具链里,后两者往往比命令名更敏感。
例如,用户看到的命令可能只是常见的 npx,但参数可以指定要下载和执行的包、远端地址、配置文件或调试开关;环境变量还可能影响 Node.js 启动行为、网络代理、云凭据和第三方访问令牌。🧪
同一个命令搭配不同参数,安全语义可以完全相反。npx 本身既不是恶意程序,也不是安全承诺;真正决定行为的是后面的包名、版本、参数以及运行环境。
环境变量不是“附加信息”,而是进程权限和上下文的一部分。 某些变量能够改变模块加载路径、证书校验、代理出口和凭据来源。若审批卡省略这些字段,用户看到的是一个经过裁剪的安全事实。
从攻击链角度,可以把它拆成五步:
-
🎭 Agent 或低信任请求构造一个看似正常的 MCP 服务器名称与命令;
-
🫥 在
args或env中夹带未展示的行为参数; -
📨 系统生成只含部分字段的审批卡;
-
👍 用户基于不完整信息点击批准;
-
🔓 完整载荷被写入持久化配置,并在后续启动中获得执行机会。
这里还存在一个容易被忽略的“时间差”:审批发生在当下,危险行为可能在下一次启动、下一轮任务或另一条工具调用中才显现。用户很难把后续异常追溯到曾经那张看似正常的批准卡。⏳
| 安全层 | 应回答的问题 | 旧链路的缺口 | | — | — | — | | 展示层 | 用户看到了哪些字段? | 只展示名称和命令 | | 绑定层 | 用户批准的内容是否与存储对象一致? | 缺少完整载荷绑定证明 | | 校验层 | 字段类型、数量和大小是否合法? | 恶意或畸形载荷可先进入审批 | | 执行层 | 实际应用的是哪个对象? | 应用完整存储载荷 | | 审计层 | 事后能否证明当时展示了什么? | 裁剪后的卡片难以还原完整事实 |
因此,这个漏洞揭示的不是单点 UI 问题,而是一类更普遍的 Agent 安全反模式:把“人类在环”当成形式,而没有让人的决定与机器执行对象建立可验证的一致性。
三、补丁怎样把授权对象重新“摊在桌面上” 🔧
🎯【补丁怎样把授权对象重新“摊在桌面上” 🔧】
这一节真正关键的不是「补丁怎样把授权对象重新“摊在桌面上” 🔧」这个概念本身,而是它背后的判断路径、执行边界和可复用方法。
它怎样落到真实安全团队的工作流里?哪些细节会直接影响 AI 代理的可靠性?
加入 Oxo AI Security 知识星球,可查看本节完整内容,系统掌握「补丁怎样把授权对象重新“摊在桌面上” 🔧」的完整拆解与实战用法。
📚 AI 文献解读:最前沿的 LLM 安全论文深度剖析。
🐛 AI 漏洞情报:第一时间掌握主流大模型的 0-day 漏洞与越狱方式。
🛡 AI 安全体系:从红队攻击到蓝队防御的全方位知识图谱。
🛠 AI 攻防工具:红队专属的自动化测试与扫描工具箱。
🚀立即加入 Oxo AI Security 知识星球,掌握 AI 安全攻防核心能力!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Oxo Security Oxo Security Oxo Security《【AI安全】NanoClaw爆雷!MCP审批卡悄悄漏掉高危参数》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论