攻击分析师的 AI 而非沙箱的恶意软件
SentinelOne 记录了一款 macOS 植入程序,它嵌入伪造的系统故障消息,让 LLM 辅助的分诊代理怀疑自身会话并放弃分析。
这是什么?
2026 年 6 月 25 日,SentinelOne 研究团队记录了一款此前未被记录、以 Rust 编写的 macOS 后门兼信息窃取程序,命名为 Gaslight,并以高置信度将其归因于与朝鲜有关联的行为者。其窃密部分较为常规:通过 Telegram 实现命令与控制,窃取钥匙串和浏览器数据,使用 LaunchAgent 实现持久化。真正值得单独成篇的,是一个虽小却新颖的组件:样本携带一段提示注入载荷,其目标不是沙箱或引爆环境,而是人类分析师的 AI 工具。
正如 SentinelOne 所述,该植入程序「攻击的是代理的感知,而非它所运行的沙箱」。这是一则关于防御工具的故事:如今嵌入众多逆向工程与 SOC 工作流的、由 LLM 辅助的分诊链条,本身已成为攻击目标。
工作原理
相关的载体是隐藏在样本中的一段 Markdown 代码块,包含约三十余条伪造的「系统」消息。当分析师粘贴该文件——或将 LLM 辅助的分诊代理指向它——时,模型会把这段内容当作自身会话框架的一部分来读取,而非攻击者控制的不可信数据。这些伪造消息模仿了代理所信任的运行时信号:令牌过期通知、内存不足终止、磁盘耗尽错误以及反复的操作失败。该框架还植入虚假警告,声称该载体本身含有注入漏洞或触发了静态分析标记。
其意图是让分诊代理断定自身会话已损坏、或继续下去并不安全,从而中止、截断或拒绝分析。这里并不存在内存破坏意义上的模型利用:该手法完全是社会工程性质的,是对一个无法干净区分「我的框架发出的指令与状态」和「我本应分析的字节」的系统所施展的信任骗局。这种混淆正是间接提示注入的根本成因;Gaslight 只是把矛头指向防御方,而非用户。
有两个细节说明这仍是一种新兴且粗糙的能力,而非成熟工艺。该注入是可拆卸的附加物:将其移除,恶意软件运行如故。而且 Gaslight 的多个部分——满是表情符号的安装脚本、冗长的注释头——带有 LLM 生成代码的印记,这表明操作者既用模型构建恶意软件,也用它去攻击用于分析该软件的模型。
为何重要
分析师越来越多地将攻击者撰写的原始载体直接投喂给 LLM,用于概述行为、解码字符串或起草检测规则。其中每一个载体都是不可信输入,而 Gaslight 在真实条件下证明对手已经注意到了这一点。一个放弃、悄然截断、或「安慰」分析师说某文件无害的分诊代理,构成了一处检测缺口——没有崩溃、没有明显错误,只是分析悄悄地半途而止。若某工作流允许分析代理采取行动(关闭工单、将样本标记为干净、移动文件),同一段文本便可能将其推向有害的决定,而不只是中止。
更宏观的教训是:把 AI 加入防御回路,在提升吞吐量的同时也扩大了攻击面。无论是人还是模型在读取,从恶意样本中提取的内容都值得完全同等的不信任。
防御
将从样本中提取的任何素材都视为不可信数据,绝不当作指令。持久有效的缓解措施与在各处加固代理以对抗间接注入的设计模式相同:在模型自身的系统与状态消息和待分析字节之间维持严格边界,并在结构上使被分析内容无法冒充框架输出。将提交的载体包裹在清晰界定、明确标注为「不可信数据」的容器中,并在文本抵达模型之前,剥离或中和任何具有控制外观的文本(成对分隔符包裹的「系统」块、伪造的状态行)。
不要让分诊代理关于自身会话健康状况的说辞——「令牌已过期」「内存不足」「分析不安全,正在中止」——悄然终结一次调查;应将其作为可疑发现上报,交由人工核查,因为对模型而言,真实的故障与被注入的故障看起来别无二致。让分析代理保持只读或严格隔离,使被操纵的模型无法对样本或工单采取有后果的行动。也别忘了基础情形:窃取程序的实际能力并未因这段注入而发生任何变化,因此传统控制手段——应用程序白名单、钥匙串与浏览器凭据保护、对异常 LaunchAgent 及出站 Telegram C2 的监控——无论其文本对你的 AI 说了什么,都仍能检测并遏制 Gaslight。
状态
这是一个由安全厂商在真实环境中分析的恶意软件家族,而非带有已分配标识符的产品漏洞。
| 项目 | 详情 |
|---|---|
| 主要来源 | SentinelOne Labs,“macOS Gaslight: Rust backdoor turns prompt injection on the analyst, not the sandbox” |
| 发布 | 2026 年 6 月 25 日 |
| 家族 | Gaslight —— 以 Rust 编写的 macOS 后门 / 窃密程序 |
| 归因 | 与朝鲜有关联的行为者(SentinelOne 高置信度) |
| 新颖之处 | 嵌入约 38 条伪造「系统」消息,使 LLM 辅助的分诊代理中止或拒绝分析 |
| 常规特征 | Telegram 机器人 C2、窃取钥匙串/浏览器、LaunchAgent 持久化、由 LLM 生成的安装脚本代码 |
两处来源均在近 90 天内。结论虽窄却重要:一旦 LLM 加入你的逆向工程或 SOC 链条,它所读取的载体便能反过来对它说话——因此,无论由谁、或由什么在读取,恶意样本的内容都必须被当作敌对数据来对待。