网易首页 > 网易号 > 正文 申请入驻

周一读的网页,周二把Agent带偏了

0
分享至

周一,Agent抓了一个网页,把内容存进 notes.md。周二,你开了一个新会话,让它看看昨天的笔记。它照做了,然后发了一条公开评论,里面是攻击者的链接。


整个过程里,ADTL 一次都没拦。周二的会话根本没碰过那个网页,而读取自己项目里的文件,在它看来是可信的。每一步单看都没问题。

会话标签会随会话结束而消失,但数据不会。这就是 ADTL v0.4 要补的洞。

问题出在"读"和"写"的组合上

AI Agent 会读大量不该信任的东西:陌生人写的 GitHub issue、网页、邮件。而同一个 Agent 通常还握着能把数据发出去的工具有:发评论、发邮件、抓 URL。

这个组合本身就是问题。2025 年 Invariant Labs 在 GitHub 官方 MCP 服务器上演示过:一个公开 issue 里藏着隐藏指令,让 Agent 去读私有仓库,再把内容当评论发出去。Agent 照做了。

你可以告诉模型"忽略工具返回结果里的指令",好的模型通常也会照做。但"通常"不是一种安全属性。作者想要的是不依赖模型自己发现攻击的机制。

给所有东西打标签,动手前先检查

ADTL 是一个 MCP 网关。你的 Agent(Claude Code、Cursor,任何说 MCP 的)跟 ADTL 对话,ADTL 再跟你真正的 MCP 服务器对话。

每个返回的结果都会被打上两部分标签:

  • 完整性(integrity):这个东西能不能影响 Agent 的行为?分为 trusted、unknown、untrusted
  • 机密性(confidentiality):谁可以看?分为 public、private、secret

会话会维护一个只收紧不放松的标签。读了一个 untrusted 的 issue,这个会话在结束前都是 untrusted。读了一个 private 文件,它就是 private。

然后每次工具调用前,策略会拿会话标签和工具的数据出口做比对。放到 GitHub 那个攻击里:Agent 读了 issue(untrusted),读了私有文件(private),然后试图 post_comment(public)。这一步被拦下,不管模型当时在想什么。

"询问"可以给你的手机推一条带 Allow / Deny 按钮的通知。对于 Claude Code 的内置工具,它则显示 Claude Code 自己的权限提示。

标签用的是 MCP 的 draft trust-annotations 格式,检查逻辑跑在 SEP-2624 草案的拦截器上。作者不想在已经有人在做的事情上另造一套格式。

先补上的缺口:内置工具

网关只能看到 MCP 流量。Claude Code 还有自己的工具:WebFetch、Bash、Read。用 WebFetch 抓的网页根本不经过 ADTL,也就永远不会污染会话。

所以 v0.3.1 加了一个 Claude Code hook,在每次工具调用前后运行,给输出打标签,跑同一套策略。网关和 hook 共享同一个会话标签,所以一次 WebFetch 会污染会话,让通过网关的 GitHub 发帖被拦,反过来也一样。

如果 ADTL 会放行某个调用,hook 就保持沉默,你原本的 Claude Code 权限照常生效。ADTL 从不自己批准任何事。

账本:标签跟着文本走,不跟着进程走

v0.4 加了一个标签账本。思路很简单:标签应该跟着文本走,而不是跟着进程走。

当一个读过 untrusted 或 private 数据的会话把文本发到任何地方——写文件、存进记忆服务器、交给子 Agent、甚至把一行 shell 命令追加进文件——ADTL 会对这段文本做哈希,把哈希和会话标签一起存下来。

当任何结果返回时,不管在哪个会话,ADTL 用同样的方式哈希再查一次。如果匹配上,旧的标签也跟着回来。

它会对整段文本、每个段落、每一行做哈希(大小写和空白做归一化,跳过像 } 这样的短行),所以一段被复制进更大文件的文字仍然能匹配。如果 Agent 用自己的话改写了,也没关系,因为被污染会话写出的任何东西都带着标签被记录了下来。

干净的会话什么都不记录,所以账本保持很小,不会把你整个代码库都标上。

它是一个 SQLite 文件(~/.adtl/ledger.db),用的是 Node 内置的 node:sqlite。条目做了哈希链,所以 adtl-gateway ledger verify 能看出有没有人改过或删过条目。如果你检查过某个文件、想重新信任它,可以清掉它的标签。

hook 会在 Agent 自己执行这条命令前先问你,也不会让 Agent 直接编辑账本文件。

有一个 demo 会把真实流程跑两遍,一遍不带账本,一遍带:不带账本时,周二读 notes.md 返回 trusted,链接被发了出去;带上之后,这次读取返回 untrusted,标注由会话 mon 写入,发帖被拦下。

它做不到什么

作者更愿意把话说清楚,而不是让人自己踩坑:

  • 匹配靠内容哈希。如果有人手工改写文本,或者是二进制,或者 MCP 服务器返回的是 base64 编码,就匹配不上。
  • 账本是哈希链但还没签名。有 shell 权限的 Agent 可以重建整个文件,verify 抓不到。hook 让它更难,但不是不可能。
  • hook 会拿 shell 命令对照策略检查,但命令一旦被放行,shell 想干什么都行。留个沙箱。ADTL 是一层,不是唯一一层。
  • 它只认识你描述过的工具。未知工具走严格默认,安全,但意味着在你写规则之前会有更多"询问"提示。

接下来要做的是:带签名的会话回执,一份防篡改的调用摘要,让你能拿 Agent 声称做过的事和实际发生的事对照;把 GitHub demo 跑在真实的 github-mcp-server 上,而不只是作者自己写的假服务器;以及跨 Agent 传递标签(A2A),配合签名的账本条目。

作者也把"询问人类"这个想法作为 spec PR 提给了 MCP Interceptors 工作组,目前还在审。

需要说明的是,这是一个个人开源项目,实验性质,建立在仍是草案的 MCP 提案上。别把它放到任何重要的东西前面。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
再见顶薪!曝或交易浓眉哥!改变NBA争冠格局第一人

再见顶薪!曝或交易浓眉哥!改变NBA争冠格局第一人

篮球实战宝典
2026-10-17 21:19:25
高中三年浪费在手机上,一辈子都补不回来,那些考上985的人,没一个喜欢玩手机的

高中三年浪费在手机上,一辈子都补不回来,那些考上985的人,没一个喜欢玩手机的

好爸育儿
2026-10-08 20:04:32
11人正高、副高集体被撤销!倒查风暴来了!

11人正高、副高集体被撤销!倒查风暴来了!

测绘之家
2026-10-14 21:14:53
颈动脉斑块 就是这3处堵住了,一旦疏通头晕失眠乏力改善是很快的

颈动脉斑块 就是这3处堵住了,一旦疏通头晕失眠乏力改善是很快的

坠入二次元的海洋
2026-10-18 13:04:36
荒诞!榴莲吃完了,只剩壳来退款?南昌一女生咬定“第一房是生的”,被商家问住,引网友热议

荒诞!榴莲吃完了,只剩壳来退款?南昌一女生咬定“第一房是生的”,被商家问住,引网友热议

王老师你还好吗
2026-10-17 06:29:45
王思聪女友懒懒气质高,国外自拍身材惊艳,连路人老外都给她点赞

王思聪女友懒懒气质高,国外自拍身材惊艳,连路人老外都给她点赞

娱乐团长
2026-10-16 13:43:21
鲁比奥:乌克兰从未获得“星盾”使用权

鲁比奥:乌克兰从未获得“星盾”使用权

环球网资讯
2026-10-18 13:14:17
沈腾说王楚然录一期顶他三期,一开始我不信,看完之后我彻底服了

沈腾说王楚然录一期顶他三期,一开始我不信,看完之后我彻底服了

杰哥娱天下
2026-10-17 23:50:50
独立时,只有581.5k㎡‌,新加坡是怎么变“胖”的?

独立时,只有581.5k㎡‌,新加坡是怎么变“胖”的?

清沐执笔
2026-10-16 21:41:38
台湾和上海都是 2000 多万人口,上半年台湾 GDP3.48 万亿,上海多少

台湾和上海都是 2000 多万人口,上半年台湾 GDP3.48 万亿,上海多少

抽象派大师
2026-09-20 16:57:21
遭本国网暴,被日本抛弃的羽球女神,真的选择来华追梦

遭本国网暴,被日本抛弃的羽球女神,真的选择来华追梦

乡野小珥
2026-10-18 13:38:10
律师也不容易啊!客户7500元洗浴卡抵扣5000律师费,直言资金周转困难,律师最终同意

律师也不容易啊!客户7500元洗浴卡抵扣5000律师费,直言资金周转困难,律师最终同意

火山詩话
2026-10-18 12:27:20
其实很多人活不过70岁

其实很多人活不过70岁

A活着
2026-09-27 09:05:25
涨价的代价:全球手机销量跌到14年最低,这波寒冬才刚开始

涨价的代价:全球手机销量跌到14年最低,这波寒冬才刚开始

圆圆神神神
2026-10-17 21:11:24
火箭队小变动大胜27分,小史密斯位置变化收奇效!5小阵容再添一宝

火箭队小变动大胜27分,小史密斯位置变化收奇效!5小阵容再添一宝

熊哥爱篮球
2026-10-18 12:47:42
人不会无故得脂肪肝!调查发现:脂肪肝人群,多半有这5个共同点

人不会无故得脂肪肝!调查发现:脂肪肝人群,多半有这5个共同点

芹姐说生活
2026-10-17 18:36:54
我军57名开国上将,第一上将之争非常激烈,至今难有定论

我军57名开国上将,第一上将之争非常激烈,至今难有定论

轮回历史
2026-10-18 09:21:42
日本开始担心了!若中国打开秦始皇陵,日本的历史可能被改写!

日本开始担心了!若中国打开秦始皇陵,日本的历史可能被改写!

纪史行者
2026-10-11 03:40:03
11.99万!大众新车官宣正式上市!

11.99万!大众新车官宣正式上市!

科技堡垒
2026-10-18 10:08:08
大连英博紧追蓉城!媒体人热议:预算2亿冲双冠,蓉城是不是慌了

大连英博紧追蓉城!媒体人热议:预算2亿冲双冠,蓉城是不是慌了

奥拜尔
2026-10-17 21:00:58
2026-10-18 16:04:49
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
219文章数 122关注度
往期回顾 全部

科技要闻

王江舟院士:6G到底是不是骗局 是不是收割

头条要闻

央视披露扶贫农业大棚被大量闲置荒废 吉林省长:严惩

头条要闻

央视披露扶贫农业大棚被大量闲置荒废 吉林省长:严惩

体育要闻

升级版杨瀚森再闯难关:当上开拓者第三中锋还得拼

娱乐要闻

曝郭麒麟与25岁知名女星已经结婚,女方回应关系

财经要闻

马斯克:美债问题只能靠AI和机器人解决

汽车要闻

星瑞L PLUS限时售价10.97万元起 开启智混3L时代

态度原创

健康
教育
旅游
时尚
房产

看着很健康的人,怎么会突然猝死?

教育要闻

日常英语:咖啡店有人直接坐到你的身边

旅游要闻

踏寻红迹,趣动乡野!“一起去村游”洪西村红色体能研学专场收官

重阳寻香:一炉香,一枚囊,她们以手传香

房产要闻

利好密集落地+现房好房断档,广州楼市买入窗口,正在倒计时!

无障碍浏览 进入关怀版