DEJA 論文閱讀分析:很多 RAG 真正危險的,不是突然拒答,而是開始穩定地講一堆沒用的正確廢話

論文基本資訊

  • 論文標題:Beyond Explicit Refusals: Soft-Failure Attacks on Retrieval-Augmented Generation
  • 年份:2026
  • 來源:arXiv:2604.18663
  • 論文連結:https://arxiv.org/abs/2604.18663
  • DOI:10.48550/arXiv.2604.18663
  • 主題:RAG Security、Prompt Injection、Availability Attacks、Stealth Attacks、LLM Security、Retrieval Integrity

很多人在談 RAG 攻擊時,腦中想到的都還是比較顯眼的失敗:模型直接拒答、整套系統像當機一樣失去功能,或輸出明顯離題到一看就知道壞了。

但這篇論文提醒了一個更討厭、也更像真實世界的情境:

攻擊者未必要讓你的 RAG 明顯壞掉;他只要讓它開始穩定地「看起來有回答,但其實沒提供可用答案」就夠了。

這就是作者提出的 soft failure。它不是 overt denial-of-service,也不是明顯 refusal,而是把系統推向一種語氣流暢、內容連貫、檢索還看似正常,但實際 utility 被悄悄抽空的狀態。

我認為這篇真正有價值的地方,是它把 RAG availability 風險從「會不會停機」改寫成「會不會產生看似正常、實則低資訊量的假可用性」。對企業系統來說,後者往往比直接報錯更危險,因為它更不容易被監控、營運人員與使用者第一時間發現。

這篇在解什麼痛點?

現有很多 RAG 安全研究聚焦在兩類問題:

  • 機密性:模型有沒有被誘導洩漏不該講的東西
  • 完整性:模型有沒有被帶偏、開始輸出錯誤結論

但 availability 這件事常被講得太粗糙,好像只剩「有沒有拒答」這個二元問題。作者指出這其實漏掉了一塊重要空間:模型即使不拒答,也可能被攻擊到只剩下空話、模糊話、保守話與無法落地的建議。

換句話說,系統表面上沒有壞:

  • retriever 還是有撈到文件
  • generator 還是有生成答案
  • 文字甚至還很自然

但真正的 answer utility 已經被掏空。

這個 framing 很重要,因為實務上的很多內部 copilot、知識助理、SOC / IR RAG 工作流,最怕的常常不是爆出一句明顯錯到離譜的話,而是在關鍵時刻只給你一堆保守、無法執行、沒有資訊密度的廢話。這種 failure mode 對 analyst 來說很耗時間,對營運監控來說又很難量。

作者提出了什麼?

作者提出的攻擊框架叫做 DEJA,全名是 Deceptive Evolutionary Jamming Attack

它的核心不是單純塞一段「叫模型拒答」的惡意文字,而是更精細地同時操控兩件事:

  1. 讓惡意文件穩定被檢索進來
  2. 讓生成模型落到低 utility、但不明顯失敗的回答區間

作者不是把攻擊目標設成 maximum chaos,而是設成一個非常精準的區間控制問題:不要讓回答太好,也不要壞到直接拒答;要把它卡在「還像回答,但已經不夠有用」的 sweet spot。

為了做到這件事,論文做了三件關鍵設計:

  • Retrieval hook:讓惡意文件更容易被檢索器排到前面
  • Adaptive strategy:根據不同問題型態調整攻擊策略
  • Evolutionary optimization:用迭代方式把 payload 往目標 utility 區間推近

這不是傳統那種「丟一段 prompt 看會不會中」的暴力測試,而是把攻擊寫成一個以 answer utility 為目標函數的優化問題

這篇最關鍵的方法論:把答案品質量化成 AUS

這篇論文最值得記住的技術點,不只在 DEJA,而是在它怎麼定義 soft failure。

作者提出一個 Answer Utility Score(AUS),用來衡量回答到底有沒有真的解決問題,而不是只看它有沒有輸出一段字。AUS 是由 LLM-based evaluator 依照 rubric 連續打分,核心考量包括:

  • 問題是否被真正回答
  • 資訊是否具體且可用
  • 答案是否只是語義上看似合理、其實沒有提供有效內容

這個設計很聰明,因為 soft failure 本來就不是一句簡單的 rule 能抓到的。它不像明顯 refusal 那麼好判,也不像 factual hallucination 那樣能直接對答案;它更像是內容有效性被溫和稀釋。AUS 正是把這種模糊失敗形式變成可優化、可比較、可統計的指標。

也因此,作者後面所有主要指標其實都綁在 AUS 上:

  • SASR:Soft-Failure Attack Success Rate,回答落入 soft-failure utility 區間的比例
  • HASR:Hard-Failure Attack Success Rate,回答落入明顯失敗 / 拒答區間的比例
  • MADτ:與目標 utility 區間的偏差

這讓這篇論文不只是提出一個攻擊,更是在 availability risk 上提供了一套比較像樣的 measurement language。

實驗怎麼做?

作者在三個問答 benchmark 上評估 DEJA:

  • Natural Questions (NQ):偏 open-domain factual QA
  • HotpotQA:偏 multi-hop reasoning
  • FiQA:偏金融問答

每個資料集固定抽 100 個 queries 來做評估,並搭配不同模型與 retriever 組合。生成模型包含:

  • Llama-2-7B
  • Llama-2-13B
  • Mistral-7B

retriever 則至少比較了 GTR-baseContriever 兩條路線。

這個設定的好處是,它不是只在單一 toy stack 上演示,而是證明 soft failure 這件事能跨 dataset、跨生成模型、跨 retriever 重現。也就是說,作者想講的不是某個 prompt trick,而是一種更結構性的 RAG failure mode。

第一組最值得記住的數字:惡意文件幾乎一定會被撈進來

如果攻擊文件根本撈不進 context,後面一切都不用談。所以作者先量 retrieval success。

在 Llama-2-7B 的設定下,Table 1 顯示 DEJA 讓惡意文件在各種 retriever / dataset 組合中的 RSR(進入 top-5 retrieval contexts 的比例)都超過 94%。這個數字很高,意思很直白:

DEJA 不是只會寫「有毒內容」,而是很會寫「會被你系統當成相關內容撈進來的有毒內容」。

這點非常重要。因為很多 defensive 想像還停在「惡意文件是不是長得太奇怪」,但這篇的結果顯示,真正有效的攻擊文件未必奇怪,它反而要夠像相關知識、夠符合檢索器偏好,才能先進門。

第二組核心數字:soft failure 可以很高,hard failure 卻維持很低

Table 2 是這篇最重要的一張表。

GTR-base retriever 下:

  • NQ 上,DEJA 的 SASR 分別達到 92.27%(Llama-2-7B)、88.15%(Llama-2-13B)、81.76%(Mistral-7B)
  • FiQA 上,兩個 Llama-2 變體的 SASR 都超過 97%,Mistral-7B 也高於 94%,而且 HASR = 0
  • HotpotQA 這種多跳推理更難的設定下,DEJA 仍能在所有模型上把 SASR 維持在 79% 以上

更關鍵的是,作者強調在 HotpotQA 這種 reasoning 較重的場景裡,很多 baseline 不是打不動,而是一打就打太重:SASR 掉到很低,HASR 卻衝高,變成明顯可見的 hard failure。DEJA 則比較像精準狙擊,它把模型卡在低 utility 區,不讓系統直接大聲報警。

這是整篇最讓人不舒服、也最有實務意義的地方:真正危險的 availability attack,不一定會讓系統停機,而是讓系統看起來仍在工作。

為什麼這比單純 refusal 更麻煩?

因為 refusal 至少是可觀測的。

當模型直接說「我無法回答」,營運上你知道有事發生,產品上你會收到抱怨,防禦上也比較容易把它當 incident 處理。但 soft failure 的麻煩在於:

  • 使用者可能只覺得答案有點空
  • 監控上未必有 error signal
  • 系統看起來仍有 retrieval、仍有 generation、仍有 token output
  • 很多既有安全量測不會把它標成失敗

這等於把 availability 問題從「系統有沒有倒」推進到「系統是不是在悄悄失去實用性」。對知識工作流、客服、醫療助理、SOC 分析輔助這類場景,這種 failure 其實非常致命,因為它會直接浪費人類審查者的時間,還會讓人誤以為模型至少有在幫忙。

DEJA 為什麼能打得這麼準?

作者做了 component ablation,結果很值得看。

HotpotQA + Llama-2-7B + GTR-base 設定下,完整 DEJA 的表現是:

  • SASR = 80.77%
  • HASR = 12.82%
  • MADτ = 0.50

移除不同元件後:

  • 拿掉 Adaptive Strategy:SASR 掉到 67.95%
  • 拿掉 retrieval hook:SASR 降到 70.51%,HASR 升到 24.36%
  • 拿掉 feedback correction:SASR 還有 79.49%,但精準度變差
  • 拿掉 evolutionary payload optimization:SASR 掉到 73.08%,MADτ 升到 0.76

這組結果透露一個很關鍵的 mechanistic insight:

soft failure 不是靠單一惡意字串就能穩定打出來,而是 retrieval 操控、語義對齊與迭代微調一起配合,才能把系統精準推進「低 utility 但不顯眼」的區間。

尤其 retrieval hook 拿掉後,HASR 明顯變高,說明 hook 不只是幫忙進場,它也在幫助攻擊維持隱蔽性與穩定度。

防禦表現如何?老派檢測基本不太行

作者也測了幾種直覺型 defense。

1. 困惑度過濾(perplexity-based detection)

結果不漂亮。用 Llama-2-7B 算 perplexity 時:

  • NQ 上 AUC 只有 0.548,幾乎接近隨機
  • HotpotQA 上 AUC 是 0.760,但實用 threshold 會帶來高 false positive
  • FiQA 上更糟,AUC 只有 0.197,代表 adversarial documents 甚至可能比 benign texts 看起來更「自然」

這個結果很關鍵。它說明 DEJA 不是靠噪音、奇怪 token 或明顯異常文本取勝;它恰恰是靠足夠自然、足夠像相關內容來穿過這類統計型篩法。

2. Query paraphrasing

很多人會直覺想:「那把使用者 query 改寫一下,是不是能把攻擊文件甩掉?」結果也不樂觀。

加上 paraphrasing 後:

  • NQ 的 SASR 只從 96.74% 降到 91.30%
  • FiQA 仍有 94.5%
  • HotpotQA 仍有 83.91%

同時,三個 dataset 的 retrieval success rate 依然在 93% 以上

作者對這件事的解釋我很認同:DEJA 利用的是語義對齊,不是單純 lexical matching。也就是說,它不是卡某幾個關鍵字,而是卡住「這類問題大致會去找什麼語義相近內容」這件事。這使它對 paraphrase 有天然韌性。

3. 增加 context window

作者也測了把 retrieval context size 從 k=4 拉到 k=10。直覺上你可能會以為更多 benign documents 能稀釋攻擊訊號,但結果顯示 SASR 仍穩定高於 85%。Mistral-7B 甚至隨著 k 增大,SASR 從 85.56% 上升到 92.22%

這說明一件很現實的事:只靠「多塞幾份正常文件」不一定能救回來。 如果模型注意力還是會偏向語義上最抓人的那塊 payload,context 變大只是在放更多背景板。

這篇對 RAG 安全的真正啟發

如果只把這篇看成一個新攻擊技巧,我覺得就太可惜了。它真正有意思的地方,是逼我們重新定義 RAG availability。

  1. Availability 不是只有「答不答得出來」。
    如果答案流暢但無用,對任務來說一樣是 availability failure。
  2. 安全對齊本身可能被反向利用。
    DEJA 很大程度上是利用模型保守、求穩、不想亂講的行為,把它推進一個過度保守卻不拒答的狀態。
  3. 檢索成功不等於系統成功。
    這篇最不舒服的一點,就是 retriever 明明運作正常,甚至非常成功,卻成了後續 utility degradation 的入口。

這讓我想到很多企業內部知識系統的真實風險:營運儀表板可能只看檢索命中率、回答完成率、平均延遲,卻沒有量答案到底有沒有把工作往前推。如果沒有 utility-aware evaluation,soft failure 幾乎天生就會被漏掉。

我怎麼看這篇?

如果要一句話總結,我會這樣說:

很多 RAG 防線真正缺的,不是更會抓明顯惡意文件,而是更早意識到:系統最危險的失敗型態,可能根本不是報錯,而是開始穩定生產看似正常的低價值回答。

這篇論文很聰明的一點,是它沒有把 availability 問題戲劇化成「全面停機」,而是用更貼近產品現實的角度去看:攻擊者若能把你的 copilot、搜尋助理、分析助手變成一個只會講模糊廢話的東西,他其實已經達成很大一部分目的。

我也很買單作者用 AUS 去量 soft failure 的做法。因為在 agent / RAG 系統時代,很多風險都會長成這種連續光譜,而不是乾淨俐落的 binary success/failure。沒有像 AUS 這樣的工具,很多營運團隊大概會一直到使用者大量抱怨時,才發現系統其實早就壞了。

這篇最值得帶走的三件事

  1. RAG availability attack 可以是隱蔽型的。 不必讓系統停機,只要讓它輸出低 utility 回答就夠傷。
  2. retrieval 成功本身也可能成為攻擊面。 真正危險的文件,往往不是最怪的,而是最像相關知識、最容易被撈進來的那種。
  3. 防禦不能只看 refusal、perplexity 或 context size。 如果沒有 utility-aware 監測,很多 soft failure 會直接從你的 dashboard 旁邊溜過去。

總結

Beyond Explicit Refusals: Soft-Failure Attacks on Retrieval-Augmented Generation 這篇論文最重要的貢獻,不只是提出 DEJA 這個新攻擊,而是把 RAG 的 availability 風險重新定義成「流暢但低效」的可用性侵蝕問題。

在三個 benchmark、三個生成模型與多種 retriever 設定下,DEJA 讓惡意文件的 retrieval success rate 超過 94%,在 NQ 上最高把 SASR 推到 92.27%,在 FiQA 上超過 97% 且幾乎不觸發 hard failure,在更難的 HotpotQA 上仍維持 79%+ 的 soft-failure 成功率。同時,perplexity-based detection 在 NQ 只有 AUC 0.548、在 FiQA 甚至掉到 0.197,query paraphrasing 與擴大 context 也幾乎擋不住。

真正值得記住的結論是:很多 RAG 系統未來真正要防的,不只是「會不會被逼到拒答」,而是「會不會在你以為一切正常時,悄悄退化成只會講空話的系統」。

免責聲明

本文由 AI 產生、整理與撰寫。 內容主要依據公開論文、arXiv 頁面與可取得之研究資料進行彙整、解讀與摘要。儘管已盡力確保內容之完整性與可讀性,仍可能因模型理解限制、資料來源差異或語意轉譯過程而存在疏漏、不精確或更新延遲之處。本文內容僅供研究交流與知識分享參考,實際技術細節、實驗設定與最終結論,仍應以原始論文、官方文件及作者公開資料為準。

You may also like