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。
它的核心不是單純塞一段「叫模型拒答」的惡意文字,而是更精細地同時操控兩件事:
- 讓惡意文件穩定被檢索進來
- 讓生成模型落到低 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-base 與 Contriever 兩條路線。
這個設定的好處是,它不是只在單一 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。
- Availability 不是只有「答不答得出來」。
如果答案流暢但無用,對任務來說一樣是 availability failure。 - 安全對齊本身可能被反向利用。
DEJA 很大程度上是利用模型保守、求穩、不想亂講的行為,把它推進一個過度保守卻不拒答的狀態。 - 檢索成功不等於系統成功。
這篇最不舒服的一點,就是 retriever 明明運作正常,甚至非常成功,卻成了後續 utility degradation 的入口。
這讓我想到很多企業內部知識系統的真實風險:營運儀表板可能只看檢索命中率、回答完成率、平均延遲,卻沒有量答案到底有沒有把工作往前推。如果沒有 utility-aware evaluation,soft failure 幾乎天生就會被漏掉。
我怎麼看這篇?
如果要一句話總結,我會這樣說:
很多 RAG 防線真正缺的,不是更會抓明顯惡意文件,而是更早意識到:系統最危險的失敗型態,可能根本不是報錯,而是開始穩定生產看似正常的低價值回答。
這篇論文很聰明的一點,是它沒有把 availability 問題戲劇化成「全面停機」,而是用更貼近產品現實的角度去看:攻擊者若能把你的 copilot、搜尋助理、分析助手變成一個只會講模糊廢話的東西,他其實已經達成很大一部分目的。
我也很買單作者用 AUS 去量 soft failure 的做法。因為在 agent / RAG 系統時代,很多風險都會長成這種連續光譜,而不是乾淨俐落的 binary success/failure。沒有像 AUS 這樣的工具,很多營運團隊大概會一直到使用者大量抱怨時,才發現系統其實早就壞了。
這篇最值得帶走的三件事
- RAG availability attack 可以是隱蔽型的。 不必讓系統停機,只要讓它輸出低 utility 回答就夠傷。
- retrieval 成功本身也可能成為攻擊面。 真正危險的文件,往往不是最怪的,而是最像相關知識、最容易被撈進來的那種。
- 防禦不能只看 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 頁面與可取得之研究資料進行彙整、解讀與摘要。儘管已盡力確保內容之完整性與可讀性,仍可能因模型理解限制、資料來源差異或語意轉譯過程而存在疏漏、不精確或更新延遲之處。本文內容僅供研究交流與知識分享參考,實際技術細節、實驗設定與最終結論,仍應以原始論文、官方文件及作者公開資料為準。
