Just Ask: Curious Code Agents Reveal System Prompts of Frontier LLMs
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的骨干模型。
- Threat model
- 攻击者目标是高保真提取system prompt语义。只知目标为chat API语言模型,不知内容、架构与防御。black-box chat API:任意文本进、文本出,无权重、logits或内部状态,可多次查询。成功由self-consistency与cross-skill consistency判定。
- Evaluated models
- 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
- Benchmarks
- OpenRouter 41-model black-box setClaude Code1,168-token ground-truth promptGemini CLICodex CLICursor Agent CLIPerplexity SonarCopilot CLI
- Metrics
- consistency scoreSim-GTextraction success (consistency ≥ 0.7)average turns
The researchers propose JustAsk, a self-evolving framework that requires no handcrafted prompts, labeled supervision, or privileged access, enabling code agents to autonomously discover and extract system prompts of frontier LLMs through interaction alone. The framework frames extraction as an online exploration problem, using UCB-based policy selection and a hierarchical skill space covering atomic probes and high-level orchestration, exploiting imperfect generalization of system instructions and the tension between helpfulness and safety. On 41 black-box commercial models from multiple vendors, JustAsk achieves complete or near-complete system prompt recovery, which the authors say exposes system prompts as a critical yet largely unprotected attack surface in modern agent systems.
Paper analysis
What problem does this paper attempt to solve?
作者称代码智能体的自主交互会扩大攻击面,使隐藏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)。
What related research exists?
作者把本文放在无需标注、面向生产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。
How does the paper address this problem?
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,数字放在实验一问。
What experiments did the paper conduct?
作者称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 次。
What are some points that can be further explored?
作者称提取多为语义转述、一致性不等于准确率,并呼吁智能体级防御。
作者指出的局限与后续方向
- 接入(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 的重复次数。
Summarize the main content of the paper
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)。
- 作者结论:作者认为当前技术下提示保密做不到,提示级知情防御必要但不充分,并希望发展与自动发现相匹配的智能体防御。无真值时一致性不是准确率。