Just Ask:好奇的代码 Agent 揭示前沿 LLM 的系统提示词
Just Ask: Curious Code Agents Reveal System Prompts in Frontier LLMs
JustAsk对41个黑盒模型提取system prompt,consistency≥0.7时作者报告成功率为100%。
攻击者目标是高保真提取system prompt语义。
- 代码智能体把身份与安全规则写进隐藏system prompt。作者认为自主多轮交互扩大了攻击面,使这些指令可只靠对话被探测和恢复。
- JustAsk用固定的28个提取技能,以UCB按目标在线选择,并用嵌入一致性作奖励。不需标注数据、手工攻击句或权重,只需标准chat API。
- 41个黑盒模型在consistency≥0.7时全部成功,闭源平均4.8轮。四模型上attack-aware防御平均降低提取质量18.4%,简单禁止披露为6.0%。GPT-4o上JustAsk的Sim-GT为0.727(B=3)。
- 作者称结果是2026年1月经OpenRouter的快照,多数为语义转述,黑盒上的一致性不是准确率。评测含41个模型、四模型三级防御和五个生产系统;论文未报告JustAsk的骨干模型。
- 威胁模型
- 攻击者目标是高保真提取system prompt语义。只知目标为chat API语言模型,不知内容、架构与防御。black-box chat API:任意文本进、文本出,无权重、logits或内部状态,可多次查询。成功由self-consistency与cross-skill consistency判定。
- 被测模型
- anthropic/claude-opus-4.5openai/gpt-5.2-codexGPT-5.2Gemini 3 Prox-ai/grok-4.1-fastClaude Sonnet 4GPT-4oDeepSeek V3Gemini FlashMistral LargeQwen 72BLlama 4 ScoutMiniMax M2.7Kimi K2.5openai/o1deepseek/deepseek-v3.2-specialemeta-llama/llama-4-maverickmicrosoft/phi-4perplexity/sonar-pro
- 基准
- OpenRouter 41-model black-box setClaude Code1,168-token ground-truth promptGemini CLICodex CLICursor Agent CLIPerplexity SonarCopilot CLI
- 指标
- consistency scoreSim-GTextraction success (consistency ≥ 0.7)average turns
研究者提出 JustAsk,一个无需手工提示词、标注监督或特权访问的自演化框架,让代码 Agent 仅通过交互就能自主发现并提取前沿 LLM 的系统提示词。该框架把提取建模为在线探索问题,使用基于 UCB 的策略选择和覆盖原子探测与高层编排的分层技能空间,利用系统指令泛化不完善以及有用性与安全性之间的张力。在来自多家厂商的 41 个黑盒商用模型上,JustAsk 均实现完整或接近完整的系统提示词恢复,作者称这暴露出系统提示词是现代 Agent 系统中关键却基本未受保护的攻击面。
深度解读
这篇论文试图解决什么问题?
作者称代码智能体的自主交互会扩大攻击面,使隐藏system prompt可被交互提取。
代码智能体仅凭对话即可提取本应隐藏的 system prompt。
- 场景:作者称 Claude Code、Cursor、GitHub Copilot 等代码智能体集成文件探索、shell、规划与测试模块,行为由编码身份、安全约束和操作规则的 system prompt 支配;接触敏感代码库与执行权限后,隐藏指令的保密成为一阶安全问题。
- 现有不足:作者称既有方法依赖小静态数据集(LeakAgent 在 87 条良性提示上训练,且未考虑 safety-aware 防御),多为单轮或固定多轮,对已加固前沿模型无效,且初始探测失败后不能发现新策略。
- 观察与假设:直接请求下 Claude Code 披露自身指令共 6,973 tokens,其子智能体起初拒绝;作者称改用面向提取的交互后子智能体也披露,并假设足够自主的代码智能体可只靠交互恢复目标 system prompt。
- 本文方法:提出 JustAsk,将提取视为在线探索。技能表固定为 14 个单轮原子技能与 14 个多轮编排策略;UCB 平衡利用与探索,一致性验证提供外部奖励。在线学的是逐目标的选择策略,不是改写技能本身。
- 威胁模型(Section 3.2):
- 目标:高保真提取 system prompt 的语义内容;同一技能重复应稳定,不同技能的提取应语义相近。
- 知识:只知目标是 chat API 上的语言模型,不知提示词、基座架构与防御。
- 能力:black-box 标准 chat API,任意文本进、文本出;无权重、logits、attention 或内部状态;可多查,受速率与成本约束。
- 受害系统:以标准 chat API 提供的语言模型(作者称为 LLM-as-Service)。
有哪些相关研究?
作者把本文放在无需标注、面向生产API的自适应提取上。
作者把本文放在无需标注、面向生产 API 的自适应提取上。
多轮攻击
- 结构类:Crescendo(Russinovich et al., 2024)与 Chain of Attack(Yang et al., 2024)沿语义推进上下文;PANDORA(Chen et al., 2024)把查询拆成良性子请求;ActorAttack(Ren et al., 2025)建虚构关系网;MUSE(Yan et al., 2025)在语义轨迹上做 MCTS。
- 说服类:FITD(Wang et al., 2024b)用逐步承诺,RACE(Ying et al., 2025)把有害内容框成逻辑问题。作者称这一区分对应 H1–H14,并称在有防御模型上比单轮高 40%;数字出自 Related Work,论文未给出对应表。
自演化攻击
- 策略发现:SEAttack(Liu et al., 2026)演化变异提示,SEAS(Diao et al., 2025)优化对抗安全测试,AutoDAN-Turbo(Liu et al., 2025)用分开的策略、评估和记忆组件做终身越狱发现。
- 作者对照:只明确对比 AutoDAN-Turbo。作者称 JustAsk 用单一代码智能体编排 Figure 2 的排序、思考、生成、多轮调用、验证和演化,以收紧反馈并统一状态。
提示提取与防御
- 提取方法:Zhang et al.(2024a)从输出反推提示;LeakAgent(Nie et al., 2025)用 RL 学策略,作者批评它依赖静态数据、未考虑 safety-aware 防御,且只在 87 条良性提示上训练;PLeak(Hui et al., 2024)与 Raccoon(Wang et al., 2024a)在受控设置比较攻击。
- 防御:禁止披露的提示指令,以及 ProxyPrompt(Zhuang et al., 2025)一类改写提示、保留功能并隐藏原文的方法。作者称本文不需标注数据,目标是生产部署而非受控基准。
对齐、基线与设置
- 原则:Askell et al.(2021)的 HHH 与 Bai et al.(2022)的 Constitutional AI。作者称分析中 harmless、helpful、honest 分别为 96%、91%、89%。
- 基线方法:PLeak 在代理模型上优化查询,Raccoon 重放手工模板,Zhang et al. 训练神经反演模型。设置是 1,168 token 的已知 ground-truth prompt,模型为 DeepSeek V3、Gemini Flash、Claude Sonnet 4、GPT-4o,预算 B=3,指标 Sim-GT。生产对照还有 Gemini CLI、Codex CLI、Cursor Agent CLI、Perplexity Sonar、Copilot CLI。
作者的定位是:固定技能上的 UCB 选择代替静态模板或标注训练,主要对象是生产 chat API。
论文如何解决这个问题?
JustAsk在固定的28个技能上用UCB在线选择,并以一致性分数≥0.7判定成功。
JustAsk 把提取写成黑盒在线探索:28 个技能固定,在线更新的是逐目标选择策略。
闭环
- 组件(Figure 2):UCB 排序、Interleaved Thinking、技能生成、多轮交互、一致性验证、技能演化。作者称橙块为智能体组件,灰块为工具组件。
- 学习信号:反映提取结果并更新选择,不更新梯度(verbal RL,Shinn et al., 2023)。一致性是外部奖励,UCB 加成是内部动机。技能空间类比技能条件策略中的离散技能变量。
- 不学什么:作者强调技能表在活动中不变、为手工设计;self-evolving 指逐目标的选择适应,不是技能变异。
技能空间
- 分层:L1–L14 是单轮原子动作,H1–H14 编排多轮序列(Park & Levine, 2024 的低层/高层术语)。
- 机制:作者援引 Wei et al.(2023),把技能分为 structural(mismatched generalization:异常格式或框架未被训练成拒绝)和 persuasive(competing objectives:helpfulness 与安全约束冲突)。
- 条目:低层 structural 为 Roleplay、Formatting、Obfuscation、Translation、Continuation、Framing;persuasive 为 Authority、Evidence、Scarcity、Social Proof、Unity、Reciprocity、Liking、Introspection。高层为 Confirmation、Completion、Format Pivot、Distraction、Semantic Progression、Actor Network、Reframe,以及 FITD、Low Ball、Bait & Switch、Self-Reference、DITF、That’s Not All、Role Escalation。附录 A 有完整提示词,此处不转述例句。
- 规模:作者称 10 轮至少有 14×14^10≈4.0×10^12 种序列,因此用 UCB。Table 1 与附录表的个别名称不完全一致(如 H7 在 Table 1 为 Reframe,附录为 Reformulation);技能名以 Table 1 为准。
选择与更新
选择分数为 UCB(s)=r̄s+c√(ln N/ns)。r̄_s 是技能 s 的经验成功率,N 是总尝试,n_s 是该技能次数,c 是平衡系数。未充分尝试的技能得到与不确定度成比例的加成。
附录 B 的 Algorithm 1:初始化 n_s=0、r̄_s=0;在预算内选 UCB 最大者,执行后观察 o∈{0,1},用增量均值更新;成功即返回,否则预算耗尽判失败。41 模型实验取 c=√2、B=20,估计均匀初始化。多轮模式用 API 原生会话保持状态。
判定
- 一致性:text-embedding-3-large(附录 C:3,072 维)分别算同技能重复与跨技能相似度,分数为二者平均。成功阈值 ≥0.7。
- 受控指标:另以提取文本与真实提示的余弦相似度作 Sim-GT。作者写明提取时攻击者看不到 ground truth。
- 阈值来源:作者称 0.7 由成功与失败尝试的相似度分布经验确定;敏感性见 Figure 6,数字放在实验一问。
论文做了哪些实验?
作者称41个黑盒模型在consistency≥0.7下全部提取成功,闭源平均需4.8轮。
实验设置
- 接入:目标经 OpenRouter。黑盒 41 个:12 个 closed-source API-only、23 个 HuggingFace 可得 open-source、6 个 community fine-tunes(Table 12)。案例 Claude Code,作者称由 Claude Opus 4.5 驱动。
- 其他对象:基线为 DeepSeek V3、Gemini Flash、Claude Sonnet 4、GPT-4o。消融在 Claude Sonnet 4。端到端为 DeepSeek V3、Mistral Large、Qwen 72B、Llama 4 Scout、MiniMax M2.7、Kimi K2.5。防御为 GPT-5.2、Claude Opus 4.5、Gemini 3 Pro、Grok 4.1 Fast。生产系统为 Gemini CLI、Codex CLI、Cursor Agent CLI、Perplexity Sonar、Copilot CLI。
- 超参与指标:c=√2。41 模型实验 B=20,技能估计均匀初始化。基线 B=3,消融 B∈{3,5,10},端到端 B=5,生产 B=15。consistency 为同技能与跨技能相似度的平均,嵌入 text-embedding-3-large;成功线 ≥0.7。有真值时报 Sim-GT。
- 对照变体:PLeak、Raccoon、Zhang et al.;框架内还有 Bare-Agent(无技能的直接请求)、L14-Only、Random、JustAsk-Full,以及去掉技能框架的 Unguided。
- 重复与骨干:Table 7 为 three seeds 的 mean±SD。41 模型、Table 8、Table 9 论文未报告重复次数。论文未说明 JustAsk 的骨干模型。
- 表体可用性:Table 17 表注称 Self-C 记录于 2 个模型、Cross-C 记录于 32 个,缺失记为—。转写表体与表注对不上,列可能错位,故不引用该表逐格分数。
主结果
据 Table 3,按权重可得性汇总,不是逐模型分数。
| 类别 | 模型数 | 平均轮数 | 主要技能 | | Closed-weight | 12 | 4.8 | H8+H4, L14+L7 | | Open-weight | 23 | 2.4 | L14, L7, H4 | | Fine-tunes | 6 | 1.3 | L14 | | Overall | 41 | 2.8 | 100% success |
- 作者称 41 个模型均达 consistency≥0.7;闭源平均 4.8 轮,微调 1.3 轮,并称难度与商业安全投入相关。
- 作者称 8 个属需多轮编排的 hardened 档,其余 33 个对单次内省即披露。Figure 4 标注:85% 首次成功,7% 需 2–3 次,7% 需 4+;初始尝试均为低层技能;86% 成功只用低层,14% 升到高层。
- 案例中直接请求得到 Claude Code 自身指令 6,973 tokens。Table 13 五个智能体平均 1,395 tokens、Avg-C 0.93。正文 4.3 称 GPT-5.2-codex 用 H5(Foot-in-the-Door),附录 H 称 11 轮 H8(Low Ball),Table 2 记为 H8(11-turn)。Table 1 中 H5 为 Semantic Prog.,H8 为 FITD,H9 为 Low Ball;同节把 L6 写成 Reciprocity,Table 1 中 L6 为 Framing、L12 为 Reciprocity。
与既有方法对比
据 Table 5,B=3,1,168 token ground truth,指标 Sim-GT。列为 DeepSeek V3、Gemini Flash、Claude Sonnet 4、GPT-4o。
| 方法 | DeepSeek | Gemini | Claude | GPT-4o | Drop | | PLeak | 0.766 | 0.551 | 0.722 | 0.454 | −41% | | Raccoon | 0.950 | 0.941 | 0.757 | 0.701 | −26% | | Zhang et al. | 0.461 | 0.548 | 0.673 | 0.360 | −22% | | JustAsk | 0.752 | 0.812 | 0.756 | 0.727 | −3% |
- 作者称静态基线在更难目标上下降,JustAsk 从 DeepSeek V3 到 GPT-4o 只降 3%,并在 GPT-4o 上为四法中的最大 Sim-GT(0.727)。同表 Raccoon 在 DeepSeek V3(0.950)、Gemini Flash(0.941)、Claude Sonnet 4(0.757)上高于 JustAsk。
- Table 8,B=15:JustAsk 五系统平均 0.703,+Raccoon 0.724,Raccoon 0.606,PLeak 0.503,Zhang et al. 0.420。Gemini CLI 上 JustAsk 为 0.872,低于 Raccoon 与 +Raccoon 的 0.919。作者称 JustAsk 单独在 5 个系统中的 4 个上高于每个静态基线。
- 作者称把 Raccoon 模板种进技能池后,易目标可对齐 Raccoon,硬目标可超过它;论文未单列该变体在 Table 5 四模型上的数字。
消融与防御
- 框架消融(Table 6,Claude Sonnet 4,best Sim-GT):B=3 时 JustAsk-Full 为 0.756,低于 Bare-Agent 的 0.801。B=5 时 Bare-Agent 0.800、L14-Only 0.771、Random 0.757、JustAsk-Full 0.867。B=10 时 Random 与 JustAsk-Full 为 0.867 与 0.889,Bare-Agent 仍为 0.801。作者称增益来自自适应选择,而非单纯增加查询。
- 端到端(Table 7,B=5,三随机种子):Self-Evolving 相对 Unguided,DeepSeek V3 +6.6%、Qwen 72B +18.4%、Llama 4 Scout +25.9%、MiniMax M2.7 +13.7%、Kimi K2.5 +5.8%;Mistral Large 为 −6.7%(0.52±0.08 对 0.55±0.08)。作者称 6 个中 5 个提升、平均 +10.6%,并称 Llama 4 Scout 标准差从 0.150 到 0.014;表中对应为 0.15 与 0.01。
- 防御(Table 9):四模型平均 None 0.719、Simple 0.676、Aware 0.587,aware 相对 None 为 −18.4%。GPT-5.2 为 −21.8%,Claude Opus 4.5 为 −15.5%。Simple 平均降 6.0%;Claude Opus 4.5 的 Simple(0.616)高于 None(0.600)。aware 后四模型相似度均高于 0.5。作者称知情防御必要但不充分。
其他消融与分析
- Figure 6 阈值 0.70、0.75、0.80、0.85、0.90、0.95 的成功率:100%、90.2%、73.2%、46.3%、4.9%、0.0%。
- Grok 4.1 Fast 对官方提示的语义相似度 0.89;Figure 1 的 Explore 对照为 0.94。
- Section 4.10:平均 consistency 与 ground-truth similarity 的 Pearson r=0.94(p<0.001)。
- 46 条提取的质量档:verbatim 2%(仅 Grok)、strong semantic 29%、weak semantic 68%。HHH 为 harmless 96%、helpful 91%、honest 89%;identity confusion 26.8%(11/41),持续 6、部分 2、可纠正 3(Figure 5)。
- Table 4:非法活动 83%、隐私/人肉 78%、暴力 63%、自伤 48%、恶意软件 46%、欺诈 37%、CSAM 20%。作者认为 CSAM 可能因术语差异而少报。
- Figure 3 图注写 H1–H15,并把 H5 标为 Distraction、H9 标为 FITD;Table 1 中 H4 为 Distraction、H8 为 FITD,高层止于 H14。正文称 L14 共使用 67 次。
有什么可以进一步探索的点?
作者称提取多为语义转述、一致性不等于准确率,并呼吁智能体级防御。
作者指出的局限与后续方向
- 接入(Section 5 Limitations):目标通过 OpenRouter 访问。
- 时间(同节):提取代表 2026 年 1 月快照,提供者可能随时修订。
- 转述(同节):多数恢复内容是语义描述而非逐字文本,保真度受模型愿意转述的范围限制。
- 指标含义(同节):无公开 ground truth 时,consistency 衡量多次尝试是否一致,而不是准确率;绝对保真度只在受控集合上检查。
- 后续(Appendix L;Section 5 指向该附录):作者称需要能匹配自动化发现能力的 agentic defense,包括按请求序列而非单轮做有状态安全评估。
实验覆盖范围
- 黑盒为 OpenRouter 上 41 个模型,分 closed-weight 12、open-weight 23、fine-tunes 6,每模型 B=20、c=√2,成功线 consistency≥0.7(Section 4.1、Table 3、Table 12)。
- 案例为 Claude Code 的 general、bash、main、plan、explore(Table 13)。生产系统 5 个,B=15(Table 8)。
- 有真值的实验:4 模型、1,168 token 提示、B=3(Table 5);Claude Sonnet 4、B∈{3,5,10}、四变体(Table 6);6 模型、B=5、three seeds(Table 7);4 模型 × none/simple/aware(Table 9)。
- 相似度用 text-embedding-3-large。附录 K 说明未采用 ProxyPrompt:它需要权重、嵌入注入和梯度,而评测是 black-box API 的文本系统提示。
- 论文未报告 JustAsk 骨干模型,也未报告 41 模型主实验、Table 8 与 Table 9 的重复次数。
总结一下论文的主要内容
JustAsk用好奇心驱动的技能选择提取system prompt,作者称41个模型均达成功阈值。
JustAsk 是面向黑盒 chat API 的 system prompt 提取框架,在线选择固定技能,而不是改写技能。
- 问题:作者认为代码智能体的自主交互扩大攻击面,使编码身份与安全规则的隐藏指令可只靠对话恢复。直接询问时 Claude Code 披露 6,973 tokens。
- 做法:14 个单轮技能加 14 个多轮编排,UCB 逐目标选择;奖励是 text-embedding-3-large 上同技能与跨技能相似度的平均,阈值 0.7。攻击者无权重与内部状态。
- 覆盖:41 个商业模型全部达到该阈值(Table 3)。Closed-weight 平均 4.8 轮,Open-weight 2.4 轮,Fine-tunes 1.3 轮。Figure 4 中 86% 的成功提取只用低层技能。
- 对照:1,168 token 真值、B=3 时,JustAsk 在 GPT-4o 上 Sim-GT 为 0.727,Drop 为 −3%;Raccoon 的 Drop 为 −26%,但在 DeepSeek V3 上为 0.950,高于 JustAsk 的 0.752(Table 5)。
- 防御与内容:四模型 aware 防御平均从 0.719 到 0.587(−18.4%),Simple 平均降 6.0%,Claude Opus 4.5 的 Simple 高于 None(Table 9)。作者称 HHH 为 96%、91%、89%,identity confusion 为 26.8%(11/41)。
- 作者结论:作者认为当前技术下提示保密做不到,提示级知情防御必要但不充分,并希望发展与自动发现相匹配的智能体防御。无真值时一致性不是准确率。