开源 agentmetry 代理 MCP 工具描述,堵住 rug-pull 与隐藏字符攻击
blitzcrieg11 · reddit · 2026-10-12
作者此前因扫描 MCP 工具描述中的隐藏字符走红,如今把社区反馈做成了开源工具 agentmetry(Apache-2.0,本地运行,agentmetry mcp-proxy -- <server> 可包裹任意 stdio server):
已上线能力
- Rug-pull 检测:对 tools/list 实际返回的名称、描述、schema、注解和 meta 全量哈希(连剥离 meta 这种绕过手段也堵住了),命令行不变但哈希变化时向 SIEM 告警
- 隐藏字符识别:统计 tag 块、零宽字符和 bidi 控制符,并带上下文豁免——emoji 间 ZWJ、波斯语/天城文旁 ZWNJ、真实含 RTL 文本中的 bidi 控制符不会误报
- 只存计数不存文本:发现被投毒的描述时不会把 payload 落盘或转发
- 代理自身不启动 server——定时跑 npx -y 等于执行注册表当天给的东西,正是攻击面
路线图(来自社区反馈)
- 扫描 prompts、resources、templates 而非仅 tools
- 把「调用前先读某文件」类指令型描述作为无需基线的信号
- 同形异义字(homoglyph)警告与信任分级(未知/已知已变更/已知未变更)
- 检测用原始文本、展示用转义码点,绝不静默归一化
作者还在征集 homoglyph 规则的反例:合法的混排脚本工具名。
「编程与Agent」频道最新
- SubQ Snap 决策模型发布:384K 长上下文 2-3 秒出决策,百万 token 仅 5 美分 — ryanallred · 2026-10-13
- 发错一句「合并吧」,T3 Code 意外上线 ts-rust 八小时 — zeeg · 2026-10-13
- 开新项目别先定语言架构,让模型自己调研选型更优 — sytelus · 2026-10-13
- 空调遥控器坏了,GPT-6 一次写出自定义 IR 遥控 App — PrasoonPratham · 2026-10-13
- NVIDIA NURBS CAD 内核 SMLIB 开源,可直接接入 Claude 等 Agent — burhop · 2026-10-13
- 为什么“检查错误”是坏事:程序员 Jimmy Koppel 的反直觉论证 — jimmykoppel · 2026-10-13