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

周一读的网页,周二把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.

相关推荐
热点推荐
疯疯癫癫、目无法纪、坑蒙老百姓,封号2年的小杨哥复出捞金!

疯疯癫癫、目无法纪、坑蒙老百姓,封号2年的小杨哥复出捞金!

神颜贩卖机
2026-10-17 18:22:00
一语成谶,52岁黄渤确诊入院仅冰山一角,这一病症才是他所恐惧的

一语成谶,52岁黄渤确诊入院仅冰山一角,这一病症才是他所恐惧的

林雁飞
2026-09-04 14:06:23
美国现在对我们使的招数,跟当年整垮日本半导体用的手段一模一样

美国现在对我们使的招数,跟当年整垮日本半导体用的手段一模一样

互联鱼
2026-10-19 19:26:19
“下架好物”相关内容批量出现,山姆:系虚假信息,将依法维权

“下架好物”相关内容批量出现,山姆:系虚假信息,将依法维权

新京报
2026-10-19 19:46:07
非要惹怒中国?高市早苗闯下大祸,中方不再忍耐,这日方自找的!

非要惹怒中国?高市早苗闯下大祸,中方不再忍耐,这日方自找的!

阿裤趣闻君
2026-10-19 09:29:56
张致恒欠百万拖着不还,年过半百竟被曝坐收300万,阿Sa的话果然没错

张致恒欠百万拖着不还,年过半百竟被曝坐收300万,阿Sa的话果然没错

可乐谈情感
2026-10-19 13:39:49
终于明白为什么有钱人的气质穷人模仿不来了,网友的回答我破防了

终于明白为什么有钱人的气质穷人模仿不来了,网友的回答我破防了

另子维爱读史
2026-10-17 19:24:03
陈治珍主任:煮一碗苹果水,一清内热,二养脾胃,三补津液,鼻炎、咳嗽、不长个的孩子,越早喝越好!

陈治珍主任:煮一碗苹果水,一清内热,二养脾胃,三补津液,鼻炎、咳嗽、不长个的孩子,越早喝越好!

蜡笔小小子
2026-07-23 13:48:08
倒计时16天!杨瀚森第3年合同续约去向未定,开拓者主帅亮明态度

倒计时16天!杨瀚森第3年合同续约去向未定,开拓者主帅亮明态度

黄谋仕
2026-10-19 18:56:53
米利唐时隔近6个月复出,登场前反复摸平图斯的头

米利唐时隔近6个月复出,登场前反复摸平图斯的头

懂球帝
2026-10-19 05:08:53
王曼昱打佐藤瞳那场,看台上有个大老爷们咬着后槽牙的那种吼法

王曼昱打佐藤瞳那场,看台上有个大老爷们咬着后槽牙的那种吼法

江启
2026-10-18 18:00:05
黄磊现身乌镇戏剧节,回应“没能减肥成功”:我已经55岁了,胖一点也很正常

黄磊现身乌镇戏剧节,回应“没能减肥成功”:我已经55岁了,胖一点也很正常

极目新闻
2026-10-16 20:55:58
徐浦大桥违规变道的小车司机,
这事尘埃落定之后要面临 4 个窘境

徐浦大桥违规变道的小车司机, 这事尘埃落定之后要面临 4 个窘境

皮蛋儿电影
2026-10-18 09:01:05
一张网图,曝出不交社保的理由,五花八门,让人哭笑不得

一张网图,曝出不交社保的理由,五花八门,让人哭笑不得

丫头舫
2026-10-18 21:39:26
千元羽绒服遇冷,399元冲锋衣走红,年轻人也进入会过日子的时代

千元羽绒服遇冷,399元冲锋衣走红,年轻人也进入会过日子的时代

李砍柴
2026-10-18 23:59:35
暗流正在浮现?苏联当年的颠覆套路重现中国,接连怪事更值得警惕

暗流正在浮现?苏联当年的颠覆套路重现中国,接连怪事更值得警惕

混沌录
2026-10-13 23:07:07
中国将迎来前所未有的死亡高峰,专家得出答案:是这些因素导致的

中国将迎来前所未有的死亡高峰,专家得出答案:是这些因素导致的

混沌录
2026-05-28 22:53:01
数十万人抗议引发“打砸抢”,法国发生了什么?

数十万人抗议引发“打砸抢”,法国发生了什么?

界面新闻
2026-10-18 23:33:25
冷空气+台风!广州或将明显降温

冷空气+台风!广州或将明显降温

广州花都发布
2026-10-19 13:50:48
斯皮尔伯格嫌了30年的电影,观众却打出76%高分

斯皮尔伯格嫌了30年的电影,观众却打出76%高分

赴一场山海啊
2026-10-18 05:14:36
2026-10-19 20:07:00
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
234文章数 122关注度
往期回顾 全部

科技要闻

王晟:近千亿资金涌入后 具身智能开始退烧

头条要闻

女子生龙凤胎起诉已婚董事长确认亲子关系 遭男方起诉

头条要闻

女子生龙凤胎起诉已婚董事长确认亲子关系 遭男方起诉

体育要闻

从NBA退役10年后,他真去警局上班了

娱乐要闻

奚梦瑶回应重返维密:还是很开心的

财经要闻

黄奇帆之子往事:从广微系到魏桥的跳跃

汽车要闻

不知道二代海鸥多好玩? 上赛道跑两圈 很过瘾的

态度原创

本地
时尚
教育
公开课
军事航空

本地新闻

因新荣记出圈,这座浙东小城才是吃货天堂

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

教育要闻

北京市中小学校园安全知识竞赛收官,获奖名单来了——

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

泽连斯基:若乌“被要求”举行战时选举 他将竞选连任

无障碍浏览 进入关怀版