MCP 匿名化工具若接收代码作参数就形同虚设:维护者剖析设计陷阱
Aggressive-Course-24 · reddit · 2026-09-30
一位 MCP server 维护者分享源码匿名化的关键设计决策:
陷阱:让工具接收代码本身(anonymize({code:...}))是自我失败的——agent 调用工具前,真实代码已进入上下文窗口。
正确做法:工具只接收文件路径(anonymizefile {path}),由 server 在自己的进程内打开并掩码文件,只返回掩码后的文本(如 CLS1.FN2()),掩码名稳定,答案返回时可还原。
配套约束:
- --root 限定可读路径,防止 agent 被诱导读取 ../../.ssh/idrsa 等任意文件;
- 零运行时依赖,JSON-RPC 框架自实现;
- stdout 仅承载协议,诊断走 stderr;
- 失败以 tool error 返回,便于模型自我纠正。
诚实的缺口暴露:结果头中有两行仅在适用时出现——语言标记未匹配时按 TypeScript 掩码可能出错;注释中的真实姓名/工单号未掩码,每次运行都会明确计数提示而非掩盖。
单向脱敏:检测到的凭据被替换为永不进入映射表的 token,无法还原——可逆掩码等于把秘密存进 map 文件,是把漏洞当功能发布。
「编程与Agent」频道最新
- OpenHands 发布 agent canvas 自动化任务教学视频 — rajistics · 2026-10-01
- AI 智能体遭遇钓鱼攻击,下一代安全威胁浮现 — rohanjamin · 2026-10-01
- OpenAI 工程师用智能体日修数十个 bug,bug 报告要像 prompt 一样写 — victor_explore · 2026-10-01
- AI 助手 Muse 遭钓鱼攻击,下一代攻击瞄上智能体 — rohanjamin · 2026-10-01
- 让浏览器 agent 玩 Minecraft,其现实观当场崩溃 — KyleCranmer · 2026-10-01
- R 包 quallmer 0.5.0:用 LLM 给文本图像表格做定性编码 — RexDouglass · 2026-10-01