KeyFrame內部研究專用

From Description to Exploit AI Agents for Smarter Audits

DeFi Security Summit - DSS·11月26日週三·17 min英文

三句話摘要

瑞典皇家理工學院研究團隊開發 AI 代理 Poco,可從自然語言漏洞描述自動生成智能合約 PoC 漏洞利用程式。 將 AI 代理的職責限縮為「從審計師描述生成 PoC」而非「偵測漏洞」,再以真實補丁作為評估 Oracle,是讓智能合約安全自動化研究從模糊走向可量化的關鍵設計決策。 職責分離降低複雜度:Poco 明確不處理漏洞發現,只接受已標注的漏洞描述做輸入,避免將「偵測」與「利用生成」兩個高難度問題混在同一個系統裡,使各自研究可以獨立推進。

重點整理

重點
  • 1

    職責分離降低複雜度:Poco 明確不處理漏洞發現,只接受已標注的漏洞描述做輸入,避免將「偵測」與「利用生成」兩個高難度問題混在同一個系統裡,使各自研究可以獨立推進。

  • 2

    補丁即 Oracle 的評估設計:傳統 PoC 正確性依賴人工驗證,主觀性強。Poco 改用已被接受的真實補丁作為評估標準——若生成的 PoC 在補丁後的程式碼上執行失敗,即可客觀確認該 PoC 是正確的,大幅提升評估的可信度。

  • 3

    沙盒架構確保安全執行:代理框架讓 AI 取得工具存取權時存在風險,Poco 在沙盒環境中運行,限制其無法接觸私鑰等敏感資訊,並明確列舉可用工具清單(代碼探索、規劃、Solidity 編譯與測試)。

  • 4

    架構與模型解耦:Poco 不綁定特定 LLM,同一代理架構可搭配 GLM 4.6、OpenAI O3 或 Claude 4.5 等不同模型使用,使研究結論不依附於單一廠商的能力邊界。

實用技巧與重點

乾貨
  • 工具名稱:Poco(PoC 生成代理)
  • 測試框架:Foundry / Forge(生成 Forge 測試)
  • 使用模型:GLM 4.6(開源)、OpenAI O3、Claude 4.5
  • 資料集名稱:patch-proof dataset,來源為 Sherlock 審計報告
  • 資料集規模:從前 100 份報告中手動篩選出 23 個含補丁連結的漏洞案例
  • 評估結果:23 個樣本中 22 個格式正確(包含斷言、編譯通過、斷言通過),20 個漏洞利用程式正確(被補丁阻擋)
  • 正確率:約 80%(論文數字)
  • 呼叫方式:`uv run poco --rp <合約路徑> --a <描述txt> --model <模型名>`
  • 代理架構:ReAct 迴圈(自主讀取代碼庫 → 撰寫測試 → forge compile → forge test → 迴圈直到斷言通過)
  • 沙盒隔離:代理無法存取私鑰等敏感資源
  • 正確性驗證流程:先 forge compile → forge test → grep 確認存在斷言 → 在補丁代碼庫重跑,失敗即為正確

結論

結論

將 AI 代理的職責限縮為「從審計師描述生成 PoC」而非「偵測漏洞」,再以真實補丁作為評估 Oracle,是讓智能合約安全自動化研究從模糊走向可量化的關鍵設計決策。

完整解析

詳細

智能合約一旦部署於區塊鏈便不可修改,任何已知漏洞都可能造成不可逆的資產損失,因此部署前的安全審計是不可或缺的環節。然而,審計預算與時間有限,加上審計師往往需要手動撰寫概念驗證(PoC)漏洞利用程式來證明漏洞真實存在,這一步驟耗費大量精力卻屬於可自動化的重複性工作,形成整個開發流程中的效率瓶頸。

Poco 的設計出發點正是解決這個瓶頸。索菲亞的團隊刻意將「漏洞發現」與「PoC 生成」兩個問題拆開——Poco 完全不嘗試偵測漏洞,它的輸入是審計師已撰寫好的自然語言漏洞描述(包括漏洞所在位置、可被利用的狀態、預期的驗證方式),輸出則是可在 Foundry/Forge 框架上直接執行的測試程式碼。這種職責分離讓每個子問題都能在各自的研究軌道上獨立演進,而不互相拖累。

在架構上,Poco 採用 ReAct(Reason + Act)代理迴圈:代理自主讀取合約代碼庫、分析依賴關係、規劃步驟,然後逐步撰寫測試;每次撰寫後呼叫 forge compile 與 forge test,若斷言未通過則繼續迭代,直到所有斷言通過才輸出最終 PoC。整個過程在沙盒環境中執行,代理無法接觸私鑰等敏感資源。值得注意的是,架構本身與模型無關,同一套框架可搭配 GLM 4.6、OpenAI O3 或 Claude 4.5 等不同模型運行。

評估方式是本研究最具巧思的部分。傳統 PoC 正確性驗證依賴人工審閱,主觀且耗時。索菲亞團隊改用「補丁即 Oracle」的方法:他們從 Sherlock 審計平台的報告中,手動篩選出含有已接受補丁連結(PR 或 commit)的 23 個漏洞案例,建成 patch-proof 資料集。評估邏輯是:既然補丁已被接受並部署,它必定能阻止所有針對該漏洞的有效利用;因此若生成的 PoC 在補丁後的代碼上執行失敗,即客觀確認該 PoC 是正確的。最終結果顯示,23 個樣本中 22 個格式正確(編譯通過、包含斷言、斷言通過),20 個被判定為正確的漏洞利用程式,整體正確率約 80%,驗證了此方法的可行性。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing
編輯精選
83 min
AI 技術英文PODCAST8月26日

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing

Latent Space

  • 加速傳統物理模擬的典範轉移:氣象科學家原本認為 AI 無法匹敵數十年的物理建模工作,但傅里葉神經算子不僅達到同等精度,還快了一萬多倍。原本需要超級計算機的計算現在用消費級 GPU 就能完成,這改變了整個領域的思維方式。
  • 傅里葉域的非局部現象捕捉:傅里葉域能有效表示非局部現象(如大氣河流跨越千里的影響),且計算複雜度為準線性,遠優於完全連接的全局模型。這特別適合流體動力學、量子化學等自然現象中普遍存在的非局部相互作用。
  • 多解析度連續函數表示:神經算子將輸入輸出視為連續函數而非固定維度向量,可在推論時以任意解析度查詢,並能在更高解析度上疊加物理約束或額外數據,克服了固定解析度神經網路的限制。
Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Why the Next AI Breakthrough May Come from Physics with Max Welling - #774
55 min
AI 技術英文PODCAST8月25日

Why the Next AI Breakthrough May Come from Physics with Max Welling - #774

TWIML AI

  • 多層篩選的材料設計流程:先搜尋文獻資料庫找現有材料,若無合適的就用生成模型產生數十萬個候選分子,用機器學習力場進行分子動力學模擬篩選,再進行實驗驗證。這套流程相比傳統量子力學計算能加速效率數個數量級。
  • 生成AI與熱力學的數學等價性:資訊論是兩個領域的共同基礎,生成模型的擴散過程與非平衡統計力學描述資訊損失的過程在數學上完全對應,許多開發出來的方法工具在兩領域都有精確對應的形式。
  • 基礎模型的遷移學習策略:先在廣泛材料資料集上訓練基礎力場表示,再針對特定材料類別進行蒸餾微調,既能保持計算效率也能獲得專一性。