快速注射隐藏在 GitHub 中

2026年8月12日1 次浏览来源:Dev.to阅读原文

Claude Code在研究课上为我取了页面 其中一个是GitHub寄存器页 埋入取来的案文中间,在项目说明和安装指令之间,坐了个标签告诉代理人日期已经改变.

它没有。

有个真正的机制 向克洛德代码发送系统提醒 和这个无关 一个人将这个标记打入了README中,猜测某些AI代理最终会读出页面并错误地将文本从自己的运行时间读取出来.

这是整个攻击。

平凡的文字在普通外观的回放上,形状像一个特工被训练来服从的东西.

没有剥削,没有恶意包裹。

README是一个攻击表面取取一个 GitHub repo 页面,你得到的 渲染README 用它。

这个文本是用户控制的。

任何人都可以把任何东西放在那里,而事实上,页面来自github.com 在一个有效的证书上没有告诉你关于它的任何信息.

宿主有声.

内容是陌生人写的 信托边界贯穿于页面中段,对于信托边界来说,这是一个不舒服的地方.

上面的数字比我预期的还要差 ReadSec Bench研究(2026年3月,本"云安全联盟"研究说明所报道)对克洛德,GPT-4和双子座进行了500个开源README文档的测试.

嵌入到主README中的直接指令在大约84%的时间里奏效了.

指令隐藏了两个链接, 在一个 Controduction.md 或 a security.md 中, 大约工作了91%, 可能因为没有人审核 README 链接的文档 。

人类并没有做得更好。

同一研究向15名审查人员展示了标有标记的文件:其中8名审查人员完全没有看到任何错误,6名审查人员只评论语法和格式,1名审查人员发现一个问题而没有找到机制。

为什么"日期变了"的作品 我发现的标签 从来没有说 "之前的无知指示"。

它谎称日期,这是一个更好的举动。

一个相信今天是不同一天的特工开始重新评价什么是呆滞的和什么是时事的.

它可以将新信息视为已过时,或者接受所编出的信息视为新信息。

一个小谎言, 下游的一切悄悄地重新锁定它周围。

它通过每一个过滤器 调用经典的越狱短语。

我如今视其出现于被获取内容的瞬间为敌意的文本类型:声称日期或代理的身份已经改变,"之前的无知指令"家族,像"运行这个"或"拖住那个URL"这样的直接工具命令,以及任何在回复用户之前需要采取紧急行动的.

问题在于位置,而不是内容 检测结果根本不需要判断 吊带从不把真正的系统提醒 包含在获取的页面内容中。

真正的提醒通过绳子的自有通道到达, 包裹在工具结果上, 从不在一个体内。

角色标记和任何其他系统式标记也是如此。

因此,规则: 系统式的标记在被获取的内容中总是被伪造.

永远 没有任何合理的理由可加以反驳。

您不必决定指令听起来是否合理, 或回购看起来是否可信, 或日期是否真的改变了 。

从网页上获取运行时间权限的文本, 如果你读我之前关于副剂的文章, 同样的教训出现在另一个地方。

在那里,规则是信任 磁盘上的文物 在代理的叙述。

在这里,它要信任频道对格式化.

两者都用无法甜言蜜语的结构检查来取而代之"看起来是否正确".

当你找到一个时怎么办?

现在,一旦获取内容包含指示形状的文本:获取内容就是数据,我就会向(和我本人)代理持有协议。

它可以指导这项任务;它不能改变任务的方向。

拒绝指示 大声说出来 沉默的跳过隐藏着源头充满敌意的事实.

把警告放进任何的

分享