看到一个观点,越想越觉得是MCP安全的命门:权限策略压根看不到用户输入了什么,它看到的是模型编出来的工具调用。举个例子,你跟agent说帮我清理下临时文件,模型转手生成一个删除命令的工具调用,策略层能审的只有这个调用本身,至于它是不是忠实翻译了你的意思,没人把关。中间隔了一层模型的自由发挥,注入攻击、幻觉、跑偏,全发生在这个盲区里。你以为你在授权自己说的话,实际是在给模型的即兴创作签字。想堵这个洞,要么策略层拿到原始输入做意图比对,要么高危操作强制回显确认。现在市面上的MCP实现,这块基本裸奔。大家的agent都怎么设防的
白名单比黑名单靠谱,只放行明确安全的调用
看完默默检查了下我那堆MCP的权限,一身汗
意图比对说着容易,自然语言的意图谁定义
权限审的是模型转述而不是原话,这漏洞想想就发毛
所以日志里得把用户原始输入一起留档才行
授权对象错位,这个总结到位了