FAUDITOR 論文閱讀分析:很多 smart contract 工具真正缺的,不是更多 warning,而是更早看出哪條路真的能把錢搬走
論文基本資訊
- 論文標題:Capturing Monetarily Exploitable Vulnerability in Smart Contracts via Auditor Knowledge-Learning Fuzzing
- 作者:Bowen Cai、Weiheng Bai、Hangyun Tang、Youshui Lu、Kangjie Lu
- 年份:2026
- 來源:arXiv:2604.18395
- 論文連結:https://arxiv.org/abs/2604.18395
- DOI:10.48550/arXiv.2604.18395
- 主題:Smart Contracts、Fuzzing、Blockchain Security、DeFi、Vulnerability Discovery、Exploitability Analysis
這篇 paper 我會想寫,不是因為它又多做出一個 smart contract fuzzer,而是因為它把一個安全團隊一直都知道、但工具常常沒真的處理好的問題講得很直接:真正讓團隊痛的,往往不是 warning 不夠多,而是 warning 太多、但真正會變成錢被搬走的那幾個風險沒有被先抓出來。
尤其在 DeFi 與 smart contract 世界,很多漏洞不是單純「有 bug」而已,而是會一路穿過價格操縱、資產兌換、狀態更新與多步函式鏈,最後變成可被直接套利、可被直接搬資產的 monetarily exploitable path。這篇論文要補的正是這個落差:不要只問程式哪裡怪,要問它哪裡真的會讓攻擊者賺到錢。
如果把這篇濃縮成一句話,我會寫成:很多漏洞工具卡住的,不是找不到異常,而是還不夠懂「哪種異常真的已經接近攻擊者的提款路徑」。
它想解的不是一般漏洞,而是 MEVuls
作者先定義了一個很關鍵的概念:Monetarily Exploitable Vulnerabilities(MEVuls)。這不是泛泛指所有 smart contract 弱點,而是更聚焦在那些會出現在 monetary transaction / value-transfer logic 裡、能被攻擊者轉成實際金融收益的漏洞。
這個 framing 很重要,因為它其實是在重新排序優先級。很多既有工具會報出:
- 可疑行為
- 潛在 coding flaw
- coverage 能碰到的異常路徑
但對協議團隊、安全稽核員、甚至投資者來說,真正想先知道的是另一件事:哪些路徑真的能組成有經濟意義的 exploit chain?
換句話說,這篇不是單純在做更會撞 code path 的 fuzzing,而是在做更接近現實攻擊動機的 fuzzing。
為什麼這類漏洞特別難抓?
論文點出的難點很實際。MEVuls 難抓,不只是因為 smart contract 本來就難,而是因為它通常同時具備幾個特性:
- 函式呼叫鏈很長:攻擊可能不是單一步驟,而是多次互動後才形成套利條件。
- 金融語意很重:風險往往藏在價格、鑄造、銷毀、兌換、抵押、清算或治理流程裡。
- 同型異構很常見:不同協議長得不一樣,但 exploitable pattern 可能很像。
- 一般 warning 不夠 actionable:就算工具告訴你「這裡可能有問題」,也不代表它能說清楚這個問題到底會不會變成真實損失。
這也是為什麼很多工具最後會讓團隊陷入熟悉的老問題:報警很多,但 triage 成本更高;而真正高價值的 exploitable case 反而被埋在噪音裡。
FAUDITOR 的主軸:把稽核知識灌回 fuzzing
作者提出的系統叫 FAUDITOR。我覺得它最值得看的點,不是名字,而是背後那個思路:把 audit report 裡的人類稽核知識轉成 fuzzing search strategy。
這比單純說「我們用了 NLP」更重要。因為論文真正抓到的是,現實世界裡很多 exploitable pattern 其實已經散落在大量 auditor reports、incident writeups 與漏洞說明裡,只是這些知識大多停留在人讀得懂、工具卻吃不太進去的敘事層。
FAUDITOR 想做的,就是把這些稽核員已經累積的 exploitation pattern 抽出來,拿去引導 fuzzing 更快往高風險金融介面與高價值狀態轉換靠近。
它的核心精神可以理解成:
- 不是盲目亂炸所有輸入
- 而是先理解「歷史上稽核員最常在哪些金融邏輯裡看出可套利結構」
- 再把這種知識回灌到測試探索順序裡
這其實很像把傳統 coverage-guided fuzzing,往economically informed fuzzing 推了一步。
論文提出三個關鍵元件
根據摘要,FAUDITOR 至少有三個值得記的核心設計:
- MEVuls formalization:先把常見真實金融 exploit 抽象成一組可被識別的漏洞類型與模式。
- auditor knowledge integration:利用 NLP 從 auditor reports 萃取 exploitation insights,拿來引導搜尋。
- self-learning mechanism:根據先前 fuzzing 結果持續修正後續策略,而不是每次都從同樣的盲目起點開始。
我覺得這三個拼起來才是這篇的真正價值。單看每一個元素都不算完全新鮮——formalization、NLP 輔助、self-learning 你以前都看過;但這篇把它們串成一個很實務的閉環:
先把「什麼叫有經濟意義的漏洞」定清楚,再讓人類稽核經驗去偏置探索方向,最後再讓系統從已經撞到的結果裡學會下一輪該更像哪種稽核員。
它真正補的,是漏洞偵測到 exploitability judgement 中間那段空白
我最喜歡這篇的地方,是它不是只想把 recall 做大,而是想把發現流程往更接近 exploitability judgement 那邊推。
很多安全工具實際上都停在這裡:
- 它知道有一條怪 path
- 它知道某個 invariant 可能被破壞
- 它甚至知道某個函式組合看起來危險
但它不太知道,這條路徑對攻擊者來說,到底是:
- 只是理論上的異常
- 還是已接近可操作的價值轉移通道
而在 DeFi 世界,這個差別巨大。因為真正會造成 headline-level 損失的,通常不是抽象 bug,而是可被金融化的 bug。
所以我會把 FAUDITOR 看成是在做一種很有工程味的事情:把漏洞發現系統從 syntax / path / anomaly 導向,往 attack economics 導向搬。
最有殺傷力的數字:220 個 zero-day MEVuls
摘要裡最醒目的數字當然是這個:FAUDITOR 找到 220 個 zero-day MEVuls。
這個數字本身很猛,但我覺得更重要的是它代表了兩件事:
- 現有工具確實還漏掉不少真正高價值問題
- 如果搜尋策略開始更懂 exploit pattern,產出會明顯不一樣
另外摘要也提到,和既有 fuzzers 相比,FAUDITOR 不只抓得多,還有兩個很實際的優勢:
- 更快偵測到漏洞
- 更好的 instruction coverage
這兩件事放在一起看就很關鍵。因為這代表它不是靠一堆超慢、超重的事後分析硬拗出結果,而是探索效率本身有改進。這通常才表示方法不是只在某個 dataset 上湊巧有用,而是真的改變了搜尋品質。
這篇和 AI / Agent security 主線其實沒有離很遠
表面上看,這篇比較像 blockchain security paper,和最近站上那串 prompt injection、runtime guardrails、MCP defense 好像是不同宇宙;但我反而覺得它們底層在講同一件事:真正有產線價值的安全系統,不能只會報問題,還要更懂攻擊者想怎麼把問題轉成收益或影響。
最近幾篇論文一直在提醒一個主軸:
- 漏洞 AI 卡住的,常不是 finding,而是報告品質與 triage 可交付性。
- prompt injection 防禦卡住的,常不是知道有毒內容,而是不知道怎麼把最終 action 真正攔下來。
- agent runtime 安全卡住的,常不是看不到風險,而是不知道該把控制放在哪一層。
FAUDITOR 補的則是另一種同型問題:smart contract analysis 卡住的,常不是看不到怪象,而是不夠懂哪種怪象已經接近金融 exploit。
所以如果把它放回 sectools.tw 的最近主線,我會把它看成是把「安全分析必須更接近真實攻擊工作流」這件事,帶到 smart contract / DeFi 這一側。
它最值得實務界記住的啟示
這篇 paper 給實務界最有價值的提醒,我覺得有三個:
- 不要再把所有 warning 視為同質:真正重要的是 exploitability ranking,而不是 alert volume。
- 人類稽核知識是可操作資產,不只是文件:audit reports 不該只是 PDF 存檔,它們其實可以回灌成下一代分析系統的搜尋偏置。
- 自動化要更像懂業務語意的分析師:在 DeFi 場景裡,不懂 value-transfer logic 的工具,再高 coverage 也可能只是在高速產生低價值噪音。
這三點其實不只適用 smart contracts。放大來看,它是在說:安全自動化若要真的變有用,就必須愈來愈會區分「形式上的異常」和「攻擊者真正在意的 exploitable structure」。
最後怎麼看這篇?
Capturing Monetarily Exploitable Vulnerability in Smart Contracts via Auditor Knowledge-Learning Fuzzing 這篇最值得帶走的,不是「又一個 fuzzer 破了幾個 benchmark」,而是它把很現實的一件事落地了:
真正高價值的安全工具,不能只會把可疑路徑找出來,還要更像有經驗的稽核員,知道哪些路徑最可能一路通往資產流失。
如果未來 smart contract security tooling 要繼續進化,我很認同這篇指的方向:不是無止境堆更多 warning,而是把金融語意、稽核經驗與自我修正能力 一起放進搜尋流程裡。因為在 DeFi 現場,真正有價值的從來不是「這裡怪怪的」,而是「這裡很可能就是下一個會被搬錢的地方」。
如果要我把它濃縮成最後一句,我會寫成:
很多 smart contract 安全工具真正缺的,不是再多一點 coverage,而是更像稽核員那樣,知道哪條異常路徑已經離「可以把錢搬走」很近。
本文由 AI 產生、整理與撰寫;內容基於論文摘要、公開資訊與脈絡化解讀,建議仍搭配原始論文交叉閱讀。
