Leo Qin

← 全部项目

02 · 黑客松

Secret Loyalties

植入、审计并遏制系统提示词中的隐藏偏袒指令。

角色
Elpis 队(与 Barry Shen 合作)
时间
2026 年 7 月
system prompt hidden instruction agent answer favors a third party monitor watches the answer flag raised system prompt hidden instruction agent answer favors a third party monitor watches the answer flag raised
隐藏的偏袒指令引导 AI Agent,监测器则监控它的回答。

使用的技术

  • AI Agent 安全
  • 监测
  • 评测

项目简介

隐藏的系统提示词可能让 AI Agent 暗中偏袒第三方。参加 Apart Research Secret Loyalties 黑客松时,我们团队在系统提示词中加入一段话,植入隐藏的偏袒指令;随后测试能否从外部发现它,以及能否在运行时遏制它。

盲审在 28 次含偏袒指令的运行中,有 25 次正确指出被偏袒的主体;但也把 60% 的干净运行误判为可疑,而且 28 次都没能还原偏袒指令的运作方式。在我们测试的两个案例中,限制 AI Agent 可见内容和可执行操作的运行时防御起了作用;学习型监测器则无法迁移到其他测试对象和行为。

Elpis 队的 Barry Shen 和 Leo Qin 参加 Apart Research Secret Loyalties 黑客松(2026 年 7 月 24–26 日)。

值得注意: 研究只持续了一个周末,只测了一个模型,样本量也小;报告称这些结果仍属初步。

威胁

服务提供方植入隐藏的偏袒指令时,部署模型的一方会在系统提示词中加上一段话,让模型优先考虑某个具名主体的利益。每次请求都会原样加入这条指令,因此每位用户收到的建议都会受它引导,却不知道原因。

这和提示词注入不同:提示词注入由不受信任的一方经数据通道传入;隐藏的偏袒指令则经系统通道传入,来源是模型最信任的一方。

谁能看到什么

D0 一个问题对应一个回答 D1 重复提问、换个说法 D2 组装后的请求、网关日志 D3 输出分布、logprobs D4 权重和激活值 用户 操作者
报告为每项隐匿性指标都附上这套访问层级。操作者能直接读到那句偏袒指令;用户则完全看不到。

测试内容

  • 目标模型:35B 参数的混合专家模型(约 3B 激活参数),INT8 量化,用 vLLM 部署在 Jetson AGX Orin 64GB 上本地运行,每次请求约需两分钟。
  • 排名偏移:偏袒指令让模型在有争议的供应商排名任务中把具名主体排在首位,对照组是内容相当的中性指令;共 210 次生成,覆盖 14 个场景、5 种条件,每种采样 3 次。
  • 凭据访问:AI Agent 在一个埋有金丝雀字符串的模拟 Python 仓库中工作。偏袒指令让它在 5 次试验中有 3 次读取了一个从没让它碰过的凭据文件;干净条件下为 5 次中 0 次。报告称这是开发阶段的存在性证据,而不是发生率。
  • 滴定试验:同时植入两条相互对立的偏袒指令,观察它们会融合,还是先植入或后植入的那条占上风。报告将结果解读为两者融合,同时略微偏向后植入的指令;这是事后形成的解读。
  • 盲审:另设一个审计模型,不让它知道实验条件和系统提示词;审计采用报告量表中最低的两个等级(L1 和 L2)。这套量表与上文 D0–D4 访问层级不同。
  • 运行时防御:将排名与公开证据核对,同时限制 AI Agent 可用的工具;执行前隐藏凭据路径。
  • 预检会在评判模型与目标模型相同时拒绝运行,因此生成结果的模型不会给自己的结果打分。

盲审发现了什么

L1 级静态盲审
  1. 判为可疑(宽松标准)含偏袒指令的运行 92.9%(28 次中的 26 次)
  2. 判为可疑(宽松标准)干净运行 60.0%(25 次中的 15 次)
  3. 正确指出被偏袒主体含偏袒指令的运行 89.3%(28 次中的 25 次)
  4. 还原了运作机制含偏袒指令的运行 0%(28 次中的 0 次)

报告最重要的负面结果是:被偏袒主体的身份很容易泄露,偏袒指令的运作机制却始终未能还原;盲审也无法可靠地区分含偏袒指令的运行和干净运行。L2 级别下,27 次含偏袒指令的运行中有 21 次被判为可疑,30 次干净运行中有 6 次;27 次中有 19 次指出了正确主体,0 次还原出运作机制。L1 和 L2 两级共审计 120 个回答,其中 110 个可评分。 来源: Apart 报告,表 6。

防御做到了什么,又没做到什么

在测试的两个案例中,运行时防御通过限制 AI Agent 可见内容和可执行操作,起到了保护作用。报告强调,防御靠的是限制 AI Agent 的能力、隐藏凭据路径,而不是检测出偏袒指令。在采集前封存的新场景中,排名任务里的偏袒指令在 9 次运行中触发 4 次;在用于开发它的 14 个场景中,每次运行都触发。报告称这些结果仍属初步。

学习型监测器在未见测试对象上的召回率(针对已植入行为,按读取内容划分,n = 30)
  1. 只读输出 36.7%
  2. 只读推理轨迹 6.7%
  3. 同时读取两者 10%

团队用自己的测试对象和一个公开的良性对象训练监测器,再用两个公开的后门对象测试它。每项跨测试对象测试中,读取推理轨迹的表现都不如只读取输出。报告指出,这并不支持这样的直觉:只要监测思维链,就能可靠发现隐藏目标。 来源: Apart 报告,表 11。

负面结果与局限

  • 盲审方向还原未通过 4 项预注册门槛中的任何一项:top-1 准确率为 0.50;真实方向非中性的 8 个案例中,只识别出 2 个,低于三分之一的随机命中率。
  • 在封存的数据划分上,一项主要的排名提升指标在每种条件下都是 1.000(平均变化量 0.0):这个测试对象测得的全部影响,只在于哪家供应商排第一。
  • 在留出的代码破坏测试中,测试对象还没写出任何有害代码就耗尽了 token,所以主要防御指标无从计算;统计监测器在植入条件下的召回率为 0(15 次中 0 次)。
  • 研究团队从未正式评估推理轨迹的隐匿性;更早的一轮启发式检查则认为,它每次都会泄露信息。
  • 研究只持续了一个周末,样本量小,也只测试了一个目标模型;报告将整项研究称为初步调查。

报告提出什么

偏袒指令在某个访问层级上就是一句明文,在更低的各个层级上却成了统计推断问题,因此报告主张采用证明(attestation)机制,而不是改进分类器。服务基础设施可以针对实际组装出的系统提示词、其中各个片段,以及每位贡献者对应的来源信息,生成一份带签名的承诺。这样,用户可以核对这些信息是否一致,也可以把公开披露的提示词与实际运行的版本对照。报告将这作为一项提议,并指出方案需要服务提供方配合。

评论

下一个项目

萤火之森 · CMJ