Registry Descriptions Go Stale Unevenly: An 89-Day Measurement of Model Context Protocol Drift, and Why Drift-Ranked Re-Auditing Under-Covers It
本文通过分析 89 天的模型上下文协议(MCP)注册表数据,旨在证明基于历史漂移对服务器进行重新审计对于维持描述层级的安全发现是无效的,因为大多数变更都发生在新增项和稀疏的重写事件中,因此有必要转向内容绑定验证和定期的全目录扫描。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,互联网是一个繁忙的大型市场,计算机(称为“智能体”)来到这里寻找能帮助它们工作的工具。为了让这一切变得更容易,有一个公开的“电话簿”叫做模型上下文协议(Model Context Protocol, MCP)注册表。在这个电话簿里,每个工具都有一张小卡片,上面用描述性文字说明它的功能。最近,安全专家开始检查这些卡片,以确保它们没有撒谎或存在危险。他们对电话簿进行快照,阅读卡片内容,然后判定:“这个是安全的”或者“这个很可疑”。
但问题在于:现实中的电话簿一直在更新。如果你今天读了一段描述,明天它还是原来的那段吗?还是说,所有者在你没注意的时候偷偷修改了文本?这篇论文提出了一个简单但至关重要的问题:一次针对描述内容的安全性检查,在描述本身发生变化之前,究竟能保持多久的有效性? 这不是在讨论工具内部是否危险(那是另一个话题);而是在讨论:你所阅读的这段文本,是否仍然是该工具当前展示的那段文本。如果文本变了,旧的安全检查可能是在对着一个幽灵进行校验,而不是对着真实的东西。
89天之谜:当电话簿变陈旧时
把 MCP 注册表想象成一个巨大的、活生生的图书馆,那里每隔几小时就会增加新书,现有的书也会不断被重写封面。一位研究人员决定玩一场“找不同”的游戏。他们不仅仅拍了一张照片,而是通过 120 次快照观察了 88.6 天(大约三个月),看着这个图书馆从约 3,500 本书增长到近 19,000 本。他们的目标是看看这种变化的“模糊度”有多快,以及安全守卫是否能预测谁下一个会修改自己的封面。
大惊喜:“忙碌的少数派”与“沉默的大多数”
研究人员发现了一个关于谁会修改描述的有趣现象。想象一个拥有 19,000 名学生的教室。如果你问:“谁今天换了衣服?”你可能会预期班里有一半的人都换了。但在这种图书馆里,75% 的服务器(即“学生”)在整个 89 天内从未更改过它们的描述。 它们稳如磐石。
然而,发生的那些变化却是高度集中的。并不是每个人都在做一点点改变,而是极少数人做了大量的改变。排名前 5% 的最活跃服务器 贡献了 61% 的所有变更。这就像如果一所学校 5% 的学生负责了 61% 的墙面涂鸦一样。其余的学生只是静静地坐在那里,毫无变化。
破碎的“水晶球”
安全团队通常试图通过节省时间来提高效率,即只重新检查那些有修改历史的服务器。逻辑是这样的:“如果你昨天改了描述,你今天很可能会再改。让我们只检查那些‘常客’吧。”
研究人员测试了这个想法。他们尝试通过根据过去的变更情况对服务器进行排名来预测未来。他们发现,虽然这种方法比随机猜测要好一些,但作为捕捉描述变更的策略,它表现得很糟糕。
- 如果他们把预算花在检查那些变更历史最多的前 5% 的服务器上,他们只能抓到大约 20% 在下一阶段实际更改了描述的服务器。
- 更糟的是,这种方法对新加入者完全失明。由于新服务器没有历史记录,它们无法被排名。但研究人员发现,新服务器恰恰是描述变更发生最频繁的地方。如果只盯着那些“老手”,安全守卫就会错过那些正在频繁更换封面的“新同学”。
论文指出,试图根据过去的变更来预测谁会变更,就像试图通过只看昨天的云朵来预测天气一样。它会错过正在滚滚而来的新风暴。
“简单数学”陷阱
研究人员还发现了另一个陷阱。如果你看一天内发生了多少次变更,然后直接乘以 30(以此来猜测一个月会发生什么),你会得到一个极其错误的答案。
- 简单的猜测: 如果每天有 1.5% 的服务器发生变更,你可能会认为到第 30 天时,大约有 36% 的服务器发生了变更。
- 现实情况: 当他们实际测量时,只有大约 12% 的服务器在第 30 天发生了变更。
为什么会有这种差异?简单的数学假设每一次变更都发生在不同的服务器上。但在现实中,同样的几台服务器会反复进行变更。这就像一个人一天换 10 次衬衫;统计衬衫的数量并不意味着有 10 个不同的人换了衣服。描述的“保质期”实际上比简单数学暗示的要长得多,但由于文本可能会消失又重新出现,特定安全发现的“保质期”却非常微妙。
真正的解决方案:检查指纹,而非历史
那么,如果我们无法预测谁会改变,该如何保持图书馆的安全呢?研究人员提出了一个比猜测更有效的两部分规则:
- 指纹规则(内容绑定): 不要去猜测谁会改变,只需检查“指纹”(数字哈希值)。如果指纹哪怕发生极其微小的变化,安全检查就会立即失效。你不需要知道是谁改了它,你只需要知道文本已经不同了。这能自动捕捉到每天约 20 次的变更。
- 全面清查: 对于新服务器和那些不常变更的服务器,只需每周或每月对整个图书馆进行一次全面清查。
这种方法就像一名安全守卫,他不去猜下一个作案的是哪个小偷,而是拥有一种扫描仪,只要书的封面被替换,它就会发出哔哔声;同时,他每周会在走廊里进行一次全面的巡逻,以确保没有新书溜进来。
隐藏的故障:“出生即陈旧”的判决
最后,研究人员窥探了他们自己的安全扫描器内部。他们发现了一个隐蔽的问题:有时,扫描器在检查描述时,图书馆其实已经更新了描述,但扫描器并不知道。这就像一名守卫在读一份 10 分钟前的菜单,而厨师其实已经换了汤。大约一半的“陈旧”检查结果是因为扫描器在开始工作之前就在处理旧数据。这种“滞后”意味着有些判定从诞生的那一刻起就是错误的,而不仅仅是后来变旧了。
总结
这里的核心教训不是说图书馆很混乱,而是说图书馆是高度集中的。大多数事物保持不变,但少数事物变化巨大,而新的事物变化得最快。通过观察过去来预测未来是一条死胡同,因为它会错过新加入者。保持安全最好的方法不是制造一个水晶球,而是建立一个能瞬间检测到文本变化,并有计划定期检查新内容的系统。它提醒我们,在数字世界中,“检查一次”永远是不够的;你必须盯着文本本身,而不仅仅是它的历史。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。