Deep Learning 101, Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101
AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
由 TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。
Deep Learning 101 創立初衷,是為了普及與分享深度學習及AI領域的尖端知識,深信AI的價值在於解決真實世界的商業問題。
去 YouTube 訂閱 | Facebook | 回 GitHub Pages | 到 GitHub 點星 | 到 Hugging Face Space 按愛心
| 大語言模型 | 語音處理 | 自然語言處理 | 電腦視覺 |
|---|---|---|---|
| Large Language Model | Speech Processing | Natural Language Processing, NLP | Computer Vision |
同步匯整自 https://zread.ai/trailofbits/afc-buttercup
同步匯整自 trailofbits/afc-buttercup:包含 AIxCC 總決賽中提交的原始程式碼
同步匯整自 漏洞自動分析與修復Agent:Buttercup 如何打通檢索—分析—修補—驗證閉環
同步匯整自 漏洞自動分析與修復Agent:Buttercup
`afc-buttercup` 是 Trail of Bits 團隊為 AIxCC 總決賽(AFC)提交的開源版本。該系統將 AI 增強模糊測試、靜態分析(如 tree-sitter/CodeQuery)與一個創新的「多智能體補丁生成—驗證流水線」相整合。最終,`afc-buttercup` 斬獲 AIxCC 總決賽亞軍,並在 20 類 CWE 上實現了高準確度的漏洞發現與修復表現。
Buttercup 的自動化補丁流程並非單一模型,而是由多個各司其職的專職 Agent 協同運作,形成一條高內聚、低耦合的流水線。系統將複雜的補丁任務拆分為上下文檢索、根因分析、補丁生成、測試驗證和失敗反思等獨立環節。
系統的核心由七個主要的 Agent 組成,由 PatcherLeaderAgent 統一編排調度。
_init_patch_team 方法構建一個多節點的狀態機(StateGraph),定義完整的自動補丁工作流,並啟動和管理整個任務。codequery 等代碼查詢工具,確保後續分析能獲取準確的代碼結構資訊。get_initial_context:根據崩潰堆棧資訊,自動提取相關的關鍵代碼片段(函數名、文件名、行號)。find_tests_node:透過查找腳本、從 Redis 查找指令或 find_tests_agent 自動探索等多種方法,為補丁驗證階段準備可用的測試指令。analyze_vulnerability,主要使用 openai-gpt-4.1 和 claude-3.7-sonnet 模型分析漏洞成因,並解析返回的結構化資訊(如 root_cause、vuln_line 等)。ls、grep、get_function、get_type、get_callers 等)來補充資訊。<request_information>,代表需補充上下文,流程會先跳轉至 ContextRetrieverAgent。<full_description>(詳細設計說明)和 <summary>(核心思路概括)作為補丁策略。build_patch_node: 核心驗證節點。它會調用 _build_with_sanitizer,在乾淨環境下應用補丁並「並行」編譯項目(針對每個 sanitizer)。RUN_POV(運行測試/驗證)階段;如果構建失敗,則進入 REFLECTION(反思)階段。_analyze_failure: 收集詳細失敗數據(如 stdout/stderr),調用 LLM 反思鏈(self.reflection_chain)分析失敗原因、歸納失敗類別。CONTEXT_RETRIEVER 補充上下文、退回 ROOT_CAUSE_ANALYSIS 重新分析根因,還是退回 SWEAgent 調整 PATCH_STRATEGY。reflect_on_patch: 如果 LLM 明確請求更多代碼片段(code_snippet_requests),會自動切換到 CONTEXT_RETRIEVER 節點補充資訊,反思後再回到原節點繼續。Buttercup 的 Agent 協作形成了一個完整的「檢索-分析-修補-驗證-反思」閉環:
codequery 工具。get_initial_context 堆棧崩潰,獲取初始代碼上下文。RootCauseAgent 介入,使用 LLM 和工具集分析漏洞成因。SWEAgent 制定 patch_strategy(包含 <full_description> 和 <summary>),然後 create_patch_node 生成補丁。QEAgent 嘗試並行 build_patch_node。ReflectionAgent 接管。它調用 LLM 分析失敗日誌 (_analyze_failure),並做出決策:是 ContextRetrieverAgent 補充上下文,還是 RootCauseAgent 重新分析,或是 SWEAgent 重新制定策略。`afc-buttercup` 是一個以多智能體和大模型為核心,兼具工程實用性與 AI 智能化的自動化安全補丁平台。
grep、get_function 等工具。ReflectionAgent 能自動分析失敗原因、檢測死循環,並動態調整流程,保證了系統的魯棒性和持續進步能力。