
AIxCC競賽第5名隊伍Shellphish共同領隊Wil Gibbs與Lukas Dresel現身HITCON 2025,揭露其參賽歷程與經驗。攝影/羅正漢
台灣駭客年會HITCON 2025在8月舉行,今年有多場來自美國AI Cyber Challenge(AIxCC)競賽隊伍成員的演說,闡釋了用AI發現並修補漏洞的最新研究經歷,讓臺灣資安社群能近距離掌握第一手資訊。
獲得AIxCC競賽第5名的隊伍Shellphish,他們在決賽中開發的CRS系統,其準確率在7支決賽隊伍中表現最佳,共同領隊Wil Gibbs與Lukas Dresel皆是CTF競賽的常客,兩位專家應台灣駭客年會HITCON 2025邀請來臺,說明用AI發現並修補漏洞的最新研究經歷。
重視驗證流程,Shellphish在準確率方面展現實力
基本上,AIxCC挑戰賽的目的,是促進以AI解決軟體漏洞問題的技術發展,鼓勵參賽者打造能自動發現並修補漏洞的AI自動化網路推理系統(CRS)。
以Shellphish團隊的決賽表現而言,他們開發的CRS系統名為Artiphishell,同樣驗證了以AI自動發現與修補漏洞的可行性。在競賽中,Artiphishell共發現28個合成漏洞,並成功修補其中11個,甚至還找出一個Java的零時差漏洞。值得一提的是,這些成果還是在Artiphishell系統出現一些狀況之下達成。
在HITCON 2025的演說現場,他們強調,LLM已從早期的偵察輔助工具,逐步成為核心的邏輯推理引擎。Wil Gibbs進一步闡釋了Artiphishell CRS系統的設計策略,並將整體流程歸納為4個主要階段,分別是:靜態分析、動態分析、分類引擎、修補。
在靜態分析階段,Wil Gibbs指出,AIxCC決賽有兩種類型的挑戰,一種是full-scan模式,一種是delta-scan模式,因此他們需要不同的對應方式。
例如,以full-scan模式而言,要從數十萬行程式碼找出潛藏漏洞,因此他們選擇SEMgrep和CodeQL靜態分析工具,並開發名為CodeSwipe的元件,可整合CodeQL、Semgrep、DiffGuy的結果並分配權重,以找出優先處理的問題程式碼。
以delta-scan模式而言,則是要在原始碼儲存庫與一組待套用的變更中,他們主要檢查兩種錯誤,包括判斷這些變更是否引入新漏洞,或是暴露了原本難以觸及的舊漏洞。為此,Shellphish開發了DiffGuy,用於生成查詢並找出受影響的程式碼,再交由LLM評估是否可能存在可觸發的弱點。
由於傳統模糊測試工具難以發現更深層次的弱點,因此Lukas Dresel指出,他們採用多種強化方法。
例如,採用基於狀態的IJON模糊測試工具,來突破傳統模糊測試的瓶頸,同時利用LLM來識別重要段落,並引導工具產生可觸及新狀態的種子輸入。
另一個重點是,他們開發了LLM驅動的漏洞搜尋引擎DiscoveryGuy Agent,該代理具備多種工具呼叫能力,可分析程式原始碼並回傳潛在的函式呼叫路徑,判定可能存在漏洞的程式區段,進一步推測觸發條件並自動生成測試輸入。
此外,還有grammar-agent模組的設計,可利用LLM生成語法以擴大模糊測試的覆蓋範圍。可惜的是,他們在決賽中因配置疏失,導致該模組無法運作,進而影響整體表現。
另一方面,為了生成高品質的修補,Shellphish強調必須先找出錯誤的根本原因。為此,他們主要採用Kamushi、DyVA根因分析方法,鎖定問題後再進行修補。
對於自動修補這件事,Shellphish提供大家更多思路與想法,例如,選擇正確的漏洞證明不難,但選擇正確的修補並非易事。Wil Gibbs表示,在發展基於LLM的修補時,他們相當重視驗證流程,例如,首先確保套用修補後不會產生新的問題,並採用兩項輔助措施,一是額外模糊測試,另一是繞過測試,以驗證修補有效性。他認為,這也可說是模仿了人類的作法,撰寫修補程式後,檢查系統是否穩定、漏洞是否消失,進而提交修補成果。
同時,Lukas Dresel強調需有效處理重複出現的問題,因為他們發現,許多Crash事件其實來自相同的錯誤根因,因此,應將同質性問題進行分類,才能提升修補品質。
理解團隊管理並不容易,檢討競賽未能完全展現實力的原因
面對這場競賽,兩人表示,Shellphish是一支由多所學校聯合組成的團隊,成員來自亞利桑那州立大學、加州大學聖芭芭拉分校,以及普渡大學,成員共26人。
要管理這樣的團隊是否容易?據該團隊在賽後發表的部落格文章中表示,要管理一個由近30名同時肩負學術研究任務的研究人員組成的團隊,並協力開發一套龐大的系統,是極具挑戰的工作。即使已盡最大努力落實良好的工程實踐,隨著比賽期限逼近、休息時間不斷壓縮,一個小小的疏忽都有可能讓數月努力功虧一簣。
因此,他們也彙整了團隊所犯下的7個錯誤。例如,他們設計的grammar-agent,在決賽前夕為了緩解單一LLM供應商的速率限制,調整了LLM配置與預算策略(因為競賽本身有LLM預算限制),但過程中有了疏失,導致該模組在決賽中幾乎無法運作,依賴該模組的其他技術也失效;負責挑選最佳修補並提交的模組,也在中途因意外錯誤而故障,儘管系統原本有設計重啟機制,但因啟動器一個致命錯誤,導致編排器無法偵測到該模組崩潰,因此未能自動重啟。因此,後續系統雖已生成修補結果,但部分成果未能成功提交。
雖然整體表現因多項技術故障而受影響,不過,Artiphishell系統仍在競賽中自動發現28個漏洞並提交11個修補成果,仍展現其設計的確能發揮作用。
整體而言,我們可以看到,這些AIxCC決賽隊伍皆強調,目前AI在漏洞修補上的潛力仍未被完全發揮。他們也鼓勵業界與研究單位持續投入相關研究與技術開發。在AIxCC競賽結束後,這些團隊不僅開源各自的CRS系統,並在官方部落格中分享架構設計與實作經驗,以啟發更多研究與創新。
熱門新聞
2025-12-31
2025-12-31
2025-12-31
2026-01-02
2025-12-31
2025-12-31
2025-12-31

