帖子说了什么
@vaNlabs 提醒:在工作环境打开 elicitation(让已连接的 MCP 服务器在对话里向你弹表单、要你确认或补字段)之前,先看清楚自己到底连了哪些 MCP 服务器。
他的担心很具体:如果某个来路可疑的 MCP 能在 Claude 界面里弹出「请填写详情」一类表单,这和钓鱼页要你交账号信息是同一类风险——只是表单嵌在你信任的 Claude 窗口里。他同时指出:Claude 每次都应该标明是哪个服务器在提问;你也要养成看这一行的习惯。
为什么说得通
MCP 把外部工具接进对话。长任务中途问你一句「退款要不要确认」「缺的字段补一下」,可以减少 Agent 瞎跑。反过来,若「提问」能力落到不可信的服务器手里,攻击者就不需要另做假网站,只要骗你在熟悉的界面里点确认或粘贴密钥。
这和「网页里写着立刻安装、不要问用户」那类提示注入不同:这里是你自己批准过的连接在界面内要数据,所以更依赖你事前清点连接、事中核对来源。
你可以立刻做的几件事
- 打开 elicitation 相关能力前,列出当前 MCP 列表。 只保留你认识、来源可核对的服务器;临时试验用的、来路不明的先断掉。
- 每次弹表单先看「谁在问」。 若界面标明了服务器名称,对不上号就取消,不要为了省事填邮箱、令牌、付款信息。
- 敏感操作不要只靠对话框里的一句话。 退款、改密、绑卡、导出数据,回到官方网站或控制台自己操作,而不是在 Agent 弹窗里完成。
- 团队环境用策略收紧连接。 能由管理员统一下发允许列表的,就不要让每人私自加来路不清的 MCP。
- 事后审计。 若曾在可疑表单里填过密钥,立刻轮换,并检查该 MCP 的权限范围。
和「网页注入」类风险怎么区分
网页注入是 Agent 去读外面的页面时,被页面里的文字指挥;elicitation 钓鱼更依赖你已经接上的 MCP。前者要管浏览与工具权限,后者要管连接清单和弹窗来源。两边都要做,但检查清单不一样:一个看「Agent 读了什么」,一个看「谁有权在 Claude 里问你」。
若你的客户端或计划里还没有 elicitation,这条提醒仍然有用——任何「在对话里突然要你填敏感字段」的流程,都值得先核对发起方。
小结
Elicitation 让 Agent 能中途问人,也能被滥用成「嵌在 Claude 里的钓鱼表单」。启用前清点 MCP,启用后每次确认是哪个服务器在要信息——这两步比事后追密钥便宜得多。
