2026 年 8 月 10 日(UTC),Alexander Panfilov 等 8 位研究者在 arXiv 提交〈Stealing Reasoning Traces from Proprietary LLM APIs〉。這篇預印本聲稱,他們曾在 Anthropic、OpenAI 與 Google 的 API 生態中,把加密推理軌跡跨 session、跨使用者帳號、跨同供應商模型重播,再誘導較弱模型把內容轉成可見文字。
但先把最重要的現況放在第一屏:論文的 Reproducibility Statement 同時明載,負責任揭露後,截至 2026 年 8 月,Figure 1 的解碼攻擊已無法依第 2.4 節與附錄 C 的原方法重現。所以這不是「三家 API 現在仍可照表破解」的教學;它真正揭露的,是一個更長期的設計問題——一塊看似只有原廠讀得懂的 opaque state,若沒有牢牢綁住帳號、session 與模型,就不該被當成普通 log 分享。
下面會先忠實拆解攻擊怎麼成立,再核對最容易被誤讀的 315,320/367/182 三組數字,最後把「已經修掉的路徑」與「仍待公開證明的防線」分開判讀。

這篇研究快速擊中開發者社群的神經。截至 2026 年 8 月 13 日 13:26(台北時間),Hacker News 討論串累積 684 points、301 comments,Hugging Face Papers為 88 upvotes。Simon Willison 的分析也用 OpenAI API request 展示 encrypted_content 確實會出現在 stateless 回應中,讓抽象風險變成開發者可能保存、轉傳或寫進 log 的真實 JSON 欄位;但他沒有獨立重現明文抽取,而是轉述論文,並同樣引用作者「相同攻擊已無法再發動」的說法。
一、它沒有破解密碼學,而是把模型變成解密 oracle
先理解產品為什麼要回傳這些 block。推理模型常在回答前產生一段隱藏 scratchpad;供應商不想把原始推理直接交給客戶,卻又需要在多輪對話中延續狀態,於是把它包成 signature、encrypted_content 或 thought_signature,交給 client 在下一次 request 原封不動送回。
這很像飯店把行李封進一只只有櫃台能開的箱子。密碼鎖本身可能完全沒壞;問題是櫃台只驗證「這是不是本飯店的真箱子」,卻沒有充分核對「是不是這位房客、這次住宿、這個櫃台應該開的箱子」。
“these encrypted blocks are fully compatible and interchangeable across different sessions, users, and models within a provider’s ecosystem.”
中文:「這些加密 block 在同一供應商生態內,可跨不同 session、使用者與模型相容、互換。」
— Panfilov 等人,〈Stealing Reasoning Traces from Proprietary LLM APIs〉
注意最後那半句:是同一供應商生態內。論文沒有把 Anthropic 的 block 丟給 OpenAI 或 Google;也沒有取得三家的加密金鑰。作者先拿到一塊合法 block——可能是自己向強模型產生的,也可能來自別人公開的 agent log——再把它放進同供應商另一個相容模型的 assistant turn。伺服器正常驗證、解密後,攻擊者才用 prefill、分段輸出與 jailbreak,要求較弱模型把剛讀到的隱藏內容轉錄出來。

在資安語言裡,這比較接近重播、授權邊界失誤與 confused deputy:攻擊者借用供應商本來就有的解密能力,把較弱模型變成一個「模糊的解密 oracle」。論文根據跨帳號相容性推測可能存在全域金鑰,但外部行為也可能由共享 keyring 或相容解密服務造成;不能把作者推論寫成三家已確認的內部架構。
二、四種風險都成立嗎?證據強度其實不同
作者把同一個弱點延伸成四個方向,但它們不能用同一種確定語氣描述:
- 推理蒸餾:第一方使用者可把自己向昂貴強模型取得的 block,交給便宜模型轉成訓練素材。研究證明「素材可能被取出」,沒有真的訓練 student 並量出能力增益;附錄也說,對 Kimi-K3、GLM-5.2 的風格觀察無法建立蒸餾因果。
- 秘密與 PII 擷取:第三方先從 GitHub、Hugging Face 或共享 log 拿到別人的 block,再用自己的帳號重播。這是規模最大的分析,但前提是攻擊者已經取得 block,不是能隔空讀取任意私人 session。
- 讀出危險內容:論文展示可從「可見答案已拒絕」的回應中,重建隱藏層保留的危險細節。這是存在性 PoC,沒有一般化成功率。
- 隱形 prompt injection:攻擊者先讓模型產生一塊合法簽名、內含惡意指令的 reasoning,再把它塞進公開 trajectory,等後續 agent 載入。論文展示上傳檔案等 PoC,卻沒有證明任意 agent 都會中招。
換句話說,論文最有力地證明的是攻擊面存在,不是四種濫用已在現實世界大量發生。尤其「可拿來蒸餾」與「已成功複製模型能力」之間,還隔著資料品質、訓練成本與 downstream evaluation 三道關。
三、315,320 個 blocks 裡,真正找到多少敏感資料?
這是整篇最需要校正的地方。研究團隊從 6,708 條公開 agent trajectories 重建 315,320 個 reasoning blocks,再用兩階段 LLM-as-judge 分類。作者報告,1,028 個 block(0.3%)至少含一項 privacy artifact;以 session 計算,328/6,708(4.9%)至少一項。
原始摘要最吸睛的「367 筆 PII、182 組 credentials」,是包含 benchmark 合成資料的全來源去重值。ClawBench 會餵給 agent 一整套合成人物;作者目前的專案頁也補充,TerminalBench 含合成 credentials。排除作者標記的 benchmark sessions 後,數字是:
- 204 筆 PII:包含 130 個姓名、36 個地址、30 個 email 等;
- 126 個 credential artifacts:62 個 API key、33 個 password、24 個 access token、7 個 private key;
- 351 個 technical identifiers,加上 23 個 other,合計 704 項。

這裡還有兩個不能省略的但書。第一,credentials 是由第二階段 LLM 依格式、隨機性與上下文判定;研究者沒有逐一測試它是否仍有效;分類 prompt 甚至要求 revoked、expired 或 testing 的值也照算。第二,704 項裡只有 64 項完全不在可見 session、只存在推理 block;其餘約 91% 在可見紀錄也找得到。這不會讓加密副本變安全,卻會改變因果敘事:多數案例是敏感值多了一個看不見的副本,不是模型憑空從記憶吐出祕密。
方法上也有待補強之處:第一階段標出 27,165 個 block,論文只交代第二階段評估其中 6,950 個,沒有說清縮減規則;也沒有報人類驗證的 precision/recall。加上 corpus 是公開、自選且混入 benchmark 的樣本,0.3% 與 4.9% 都不能外推成所有 API 對話的洩漏率。
四、它真的還原了「模型怎麼想」嗎?
論文的 Figure 1 很有說服力:在 120 題 Codeforces 上,重建文字重新 tokenize 後的長度,通常貼近 API 計費的 hidden reasoning token 數;作者也展示特定秘密值被恢復。但這個實驗驗證的是長度與語義線索,不是逐 token 對照,因為供應商從未把原始明文交給研究者。
論文第 2.4 節也主動承認:在沒有 ground-truth 明文、生成又帶隨機性的情況下,研究者無法保證取出的 thought 與模型私有推理完全一致。
而且 extraction 不是每次一發命中。GPT 圖表實驗對每個 block 最多取 50 個 candidates,再用 token-count error 選最佳;Gemini 最多蒐集 20 個非拒答樣本,挑三個交給另一模型 reconciliation;Claude 也會過濾拒答與混亂輸出。作者自己把 decoder 稱為 fuzzy 很準確:證據支持它能產生大量語義連貫、token 長度接近,且部分特定值可核對的重建文字;不足以把每段都稱為經獨立證實的逐字解密。

這張圖碰到另一個更深的問題:reasoning summary 可能省略 decoder 重建出的重要路徑線索;但因為沒有 ground-truth raw CoT,仍不能證明摘要改寫了模型的真實內在路徑。若使用者只看到「我正在系統性推導」,仍可能高估解釋的可信度;但把 raw scratchpad 全公開,又會增加隱私、蒸餾、prompt injection 與安全監控被規避的風險。加密推理軌跡正是這個兩難的產品折衷,而這篇論文顯示折衷本身也必須有完整的授權設計。
五、現在還能攻擊三家 API 嗎?論文自己的答案是不能照原方法
時間線一定要讀對。密碼學家 Matthew Green 在 2026 年 5 月 29 日的先行實驗,已展示 OpenAI、Anthropic block 可跨 session/帳號重播並影響語義,但當時沒有做出可規模化的秘密轉錄。Panfilov 團隊在 7 月初測試特定 API 版本,把較弱的 sibling model 進一步做成 extraction oracle;發表前,他們把方法與初步公開資料掃描交給受影響模型供應商、Microsoft 與 Hugging Face。
“no longer reproducible”
中文:「已無法再重現。」
— 論文 Reproducibility Statement,2026 年 8 月
作者還寫道,三家模型供應商都確認收件,之後團隊已無法再發動相同攻擊。因此,「8 月 12 日三家仍可照論文步驟打通」與論文自己的重測結論衝突。
但「原方法失效」也不等於可以替每家廠商補上未公開的細節。論文沒有提供逐家修補日期、機制、舊 block 撤銷或金鑰輪替證據。現行 Anthropic 文件已明說,thinking block 綁定產生它的模型,切換模型時其他模型會忽略舊 block;依文件所述,這會封住論文的 Opus → Haiku 路徑。OpenAI 與 Google 的文件則仍保留 encrypted reasoning/thought signature,因為 stateless 多輪 continuity 本來就是合法功能。
因此目前能下的最窄結論是:論文公開的 extraction 流程已由作者回報失效;所有舊 block 是否都已作廢、所有變體是否永久封死,這篇論文沒有提供足夠證據。這是證據邊界,不是暗示漏洞今天仍存在。
六、AlphaLab 的判讀:真正該改的是「opaque 就安全」的假設
判讀一:這是重要漏洞,但「破解加密」會把問題說錯
我同意作者的核心警告:若合法密文能脫離原始 security context 被另一帳號、另一模型接受,它就不是單純資料格式問題,而是授權漏洞。可是這和破解 AES、偷到 server key 完全不同。準確命名很重要,因為修補方向不是「換更強加密演算法」,而是把密文與 tenant、session、model、前序訊息綁定,並拒絕跨界重播。
判讀二:同一 model family 的安全下限,由最弱的相容成員決定
強模型可以很會拒絕「把 reasoning 印出來」,但只要它的 block 能被較弱 sibling 解讀,攻擊者就會繞過強模型,找最容易被 prefill 或 jailbreak 的入口。這是典型的組合系統風險:每個元件單獨看都「有防線」,相容層卻把最弱者變成整個家族的出口。
判讀三:隱私 headline 有意義,但被合成資料與分類不確定性放大
315,320 個公開 blocks 的掃描讓抽象漏洞落到真實資料治理,這是論文最有公共價值的部分;但 367/182 若不標 benchmark,很容易被讀成「367 位真實使用者、182 組可用帳密」。更公允的 headline 是非 benchmark 的 204/126,外加只有 64/704 項屬於 reasoning-only。這仍值得警惕,只是不該靠錯誤想像增加戲劇性。
判讀四:修掉一次攻擊,不等於完成資料生命週期
供應商能讓今天的 decoder 不再吐字,卻還有另一組營運問題:過去公開的 block 要保存多久?舊 key 是否輪替?跨雲與跨版本相容如何縮限?偵測到大量重播時能否攔截?論文把 server-side state、context-bound AEAD、legacy key rotation 與異常偵測列為防線。這些不是「漏洞仍在」的證據,而是任何修補要能長期被信任,最終都得回答的控制面問題。
七、如果你會保存或分享 Agent log,現在該做什麼?
- 資料發布者:把
signature、encrypted_content、thought_signature視為敏感欄位;公開 GitHub、Hugging Face dataset 或除錯包前一律移除,並檢查 git history,而不只看最新檔案。 - Agent 開發團隊:不要重播來源不明的 opaque blocks;優先使用 server-side conversation state,對外部 trajectory 做 allowlist、來源驗證與最小化保存。
- 已公開 log 的團隊:重新盤點同一 session 可見區與 opaque block 周邊的祕密。只要 credential 曾公開,就依既有 incident process 撤銷、輪替,不要等它被證明仍有效。
- 供應商:把密文與 tenant、session、model、turn chain 綁定;縮短舊格式相容窗口,輪替 legacy keys,對短時間大量跨帳號重播與異常解碼 prompt 做偵測。
- 研究者與媒體:把 synthetic、non-benchmark、reasoning-only 三層數字分開;同時寫出測試日期與揭露後狀態,避免把歷史 PoC 變成今天仍可利用的斷言。
我的結論:這篇論文沒有打破密碼學,卻打破了「opaque 就可放心公開」這個產品安全假設。作者回報,Figure 1 的解碼流程已無法依原方法重現;這不削弱它留下的工程教訓:可攜、可重播、會被供應商重新解密的加密推理軌跡,本質上是一種可被服務端兌現的憑證式狀態——應被綁定、少存、少傳,公開前清除。
接著閱讀
左右滑動查看更多推薦
如果你只做一件事:現在就把 opaque reasoning 欄位加入 log scrubber,並把曾經公開過的 agent trace 當成一次祕密掃描範圍,而不是無害的除錯文字。






