Skip to content

Instantly share code, notes, and snippets.

@G36maid
Created June 15, 2026 04:15
Show Gist options
  • Select an option

  • Save G36maid/111c507519fbfc83144dc86636882ed9 to your computer and use it in GitHub Desktop.

Select an option

Save G36maid/111c507519fbfc83144dc86636882ed9 to your computer and use it in GitHub Desktop.
Hades: A Multi-Agent Security Harness Powered by OpenCode — Poster & 7-min Script

基於多 Agent 協作的 AI 資安分析系統

零代碼整合四開源專案 × Hades 多面向平行資安分析 OpenCode · oh-my-openagent · Ghidra-MCP · VulnClaw

作者: [姓名] · 學號: [學號] · 指導教授: [教授] · 課程: [課程名稱] · 國立臺灣師範大學


🎯 TL;DR — 快速看懂這份專案

  • 一句話主張: 讓 AI Agent 成為資安分析的統一入口,使用者用自然語言描述意圖,Agent 自動編排工具鏈與知識庫,完成從偵察到報告的完整流程。
  • 怎麼做: 以 OpenCode 為引擎、oh-my-openagent 為編排層、VulnClaw 為資安知識庫、Ghidra-MCP 為逆向工程工具,完全透過 config 整合
  • 核心創新: 新增 Hades 資安專屬 primary agent,同時 spawn 多個 subagent 各自帶不同 skill 組合平行分析,讓通用 Agent 在接收任務時動態獲得領域專業能力。
  • 模型選擇: 主力採用 GLM-5.1(SWE-Bench Pro 58.4%、CyberGym 68.7% 開源最強),也支援任何配置,透過 Category 系統讓不同子任務自動路由到最適合的 LLM。

OpenCode UI — 使用者以自然語言與 Hades 對話,Agent 自動呼叫工具鏈完成分析


❓ 問題陳述 — 現有 AI 資安工具的四大困境

痛點 說明
🔧 工具碎片化 逆向工程(Ghidra)、滲透測試(各種框架)、漏洞分析(CVE 資料庫)各自獨立,分析師需手動切換、複製貼上
📚 知識孤島 資安知識分散在不同的 skill、playbook 與參考文件中,AI Agent 難以有效利用
🧠 單一模型限制 單一 LLM 無法同時擅長邏輯推理、程式碼分析、安全評估等所有面向
🌀 缺乏編排能力 現有工具缺乏多 Agent 協作機制,無法平行執行不同面向的分析

⭐ 核心創新 — Hades 多面向平行資安分析

Hades 是本專案透過 config 新增的資安專屬 primary agent。核心能力在於同時分派多個 subagent 執行不同面向的分析,每個 subagent 獨立載入不同的 skill 組合,平行推進互不阻塞

graph TD
    Input["Hades 收到分析任務"]

    Input -->|"task(category='deep',<br/>load_skills=['vuln-discovery'])"| J1["Sisyphus-Junior #1<br/>深度自動化安全掃描"]
    Input -->|"task(category='deep',<br/>load_skills=['pentest-flow'])"| J2["Sisyphus-Junior #2<br/>滲透測試流程執行"]
    Input -->|"task(category='deep',<br/>load_skills=['exploitation'])"| J3["Sisyphus-Junior #3<br/>漏洞利用與 PoC 構造"]
    Input -->|"task(subagent_type='explore',<br/>load_skills=['web-security-advanced'])"| E["Explore<br/>搜尋注入點模式"]
    Input -->|"task(subagent_type='librarian',<br/>load_skills=['pentest-tools'])"| L["Librarian<br/>搜尋外部 CVE 與工具"]

    J1 --> S["🔄 Hades 匯整結果"]
    J2 --> S
    J3 --> S
    E --> S
    L --> S
    S --> R["📄 產生完整安全分析報告"]
Loading

設計精髓: 不是為每個分析面向建立專門的 Agent,而是讓通用 Agent 在接收任務時動態獲得領域知識;Sisyphus-Junior 並非單例,每次 task(category=...) 都會 spawn 獨立 session,因此可同時開啟多個 Junior 以不同 skill 組合平行工作。


四個開源專案的角色分工

專案 角色 整合方式 關鍵能力
⚙️ OpenCode 基礎引擎 直接使用 LLM 對話迴圈、工具系統、MCP 客戶端、Plugin API
🧩 oh-my-openagent 編排層 Plugin 直接使用 + 新增 Hades agent 多 Agent 協作、Skill 系統、54+ lifecycle Hooks
🔧 Ghidra-MCP 逆向工程工具 透過 skill_mcp 嵌入 249 個 binary 分析工具(反編譯、call graph、IOC 提取)
📚 VulnClaw 資安知識庫 21 個 skill 作為 Hades 專屬 skill 來源 21 個 skill、180 份參考文件、覆蓋完整 pentest 生命週期

整合協定 — MCP (Model Context Protocol): 開放標準,讓 AI 應用透過統一協定連接外部工具與資料來源,支援 stdio / SSE / Streamable HTTP 三種傳輸。Ghidra-MCP 透過它暴露 249 個分析工具,VulnClaw skill 則可攜帶自己的 MCP server。


🔧 領域知識與工具 — Layer 4 兩大支柱

Layer 4 是 Hades 戰力的來源:VulnClaw 提供 21 個 skill × 180 份參考文件構成的資安知識庫,Ghidra-MCP 提供 249 個逆向工程工具構成的分析能力。兩者皆透過 oh-my-openagent 的 skill 系統嵌入 Hades 專屬使用。

📚 VulnClaw — 21 個資安 Skill

7 個核心 skill(覆蓋完整 pentest 生命週期):

Skill 用途
pentest-flow 全流程編排(偵察→發現→利用→後滲透→報告)
recon 被動 + 主動偵察
vuln-discovery 漏洞掃描(CVE、SQLi、XSS、SSRF 等)
exploitation 漏洞利用(PoC 構造、WAF bypass)
post-exploitation 後滲透(提權、橫向移動)
reporting 結構化報告 + Python PoC 生成
waf-bypass WAF 繞過技巧庫

14 個特化 skill(共 180 份參考文件,漸進式載入):

Skill 參考文件 用途
secknowledge-skill 39 Web + AI 安全知識庫(WooYun、先知、GAARM、OWASP)
web-security-advanced 34 24 個 playbook(SQLi、XSS、SSRF、SSTI、XXE 等)
client-reverse 20 客戶端逆向(Android/Browser/Desktop)
pentest-tools 18 14 類工具速查
intranet-pentest-advanced 15 內網滲透(AD、ADCS、憑證竊取)
ctf-web 9 CTF Web 攻擊知識
android-pentest 9 Android APK 滲透
osint-recon 7 OSINT 四維模型
ai-mcp-security 7 AI/MCP 安全測試
ctf-crypto 6 密碼學攻擊
ctf-misc 6 CTF 雜項
web-pentest 4 Web 滲透基本
crypto-toolkit 3 編解密工具(29 種操作)
rapid-checklist 3 快速 Payload 速查

Skill 專屬限制: 透過 SKILL.md frontmatter 的 agent: hades 欄位,這 21 個 skill 僅 Hades 及其委派的 subagent 可載入,其他 primary agent(如 Sisyphus)看不到也用不了。

🔧 Ghidra-MCP — 249 個逆向工程 MCP 工具

三層架構將 Ghidra 的逆向能力暴露給 AI Agent:

graph LR
    Agent["AI Agent (Hades)"] -->|"MCP Protocol (stdio)"| Bridge["Python Bridge<br/>(FastMCP)"]
    Bridge -->|"HTTP REST (localhost:8089)"| Plugin["Ghidra Plugin<br/>(Java 21)"]
    Plugin -->|"Ghidra API"| Engine["Binary Analysis"]
Loading

249 個工具依職責分類(精選 6 大類,完整共 13 類):

類別 數量 功能
函數分析 ~30 反編譯、call graph、xrefs、完整度評分、相似度比對
資料型別 ~28 struct/union/enum CRUD、匈牙利命名
Bridge 管理 ~28 instance 管理、connect/disconnect、debugger proxy
動態分析 ~25 P-code 模擬、live debugger(gdb / lldb / dbgeng)
符號與標籤 ~15 imports、exports、strings、標籤 CRUD
安全分析 ~5 惡意行為偵測、IOC 提取、API 呼叫鏈分析、反分析偵測

嵌入式整合: 透過 skill_mcp 機制,Ghidra-MCP server 在 Hades 載入含此 MCP 的 skill 時自動啟動(stdio transport),session 結束自動清理,以 sessionID:skillName:serverName 為 key 隔離確保並行安全。


⚙️ 機制支撐 — Skill 動態注入 × Agent 階層

A. Skill 動態注入 — 通用 Agent 即時獲得資安能力

Skill 是 Markdown 格式的可攜式指令集,透過 load_skills 機制,Hades 在委派任務時可將資安 skill 動態注入 subagent 的 system prompt:

sequenceDiagram
    participant H as Hades
    participant SR as skill-resolver
    participant SM as Skill Manager
    participant Sub as Subagent (e.g. Sisyphus)

    H->>SR: task(load_skills=["pentest-flow"])
    SR->>SM: getAllSkills() 合併 discovered + built-in
    SM-->>SR: skill 列表
    SR->>SR: matchSkillByName("pentest-flow")
    SR->>SR: isSkillAllowedForTargetAgent()
    SR->>SM: extractSkillTemplate() 讀取 SKILL.md
    SM-->>SR: skill 內容
    SR->>Sub: 注入到 subagent 的 system prompt
    Note over Sub: 以資安角度執行任務
Loading

漸進式載入(Progressive Disclosure): Agent 啟動時只看到 skill 名稱與描述(極少 context);需要時才載入完整 SKILL.md;更深層的 180 份參考文件只在 Agent 主動讀取時才進入 context。

B. 四層 Agent 階層 — 從 Orchestrator 到終端 Subagent

graph TD
    subgraph LV1["Level 1 — 頂層 Orchestrator"]
        Sisyphus["Sisyphus<br/>主控 orchestrator"]
        Hephaestus["Hephaestus<br/>自主深度工作"]
        Prometheus["Prometheus<br/>策略規劃"]
        Atlas["Atlas<br/>Todo 編排"]
        Hades["★ Hades<br/>資安分析(本專案新增)"]
    end

    subgraph LV2["Level 2 — Sisyphus-Junior"]
        Junior["Sisyphus-Junior<br/>分類委派執行器<br/>(每次 task spawn 獨立 session)"]
    end

    subgraph LV3["Level 3 — 諮詢型 Subagent"]
        Oracle["Oracle<br/>唯讀架構顧問"]
        Metis["Metis<br/>缺口分析"]
        Momus["Momus<br/>計畫審查"]
    end

    subgraph LV4["Level 4 — 終端型 Subagent"]
        Explore["Explore<br/>codebase grep"]
        Librarian["Librarian<br/>文件/OSS 搜尋"]
        Looker["Multimodal-Looker<br/>PDF/圖片分析"]
    end

    LV1 -->|"task(subagent_type / category)"| LV2
    LV1 -->|"task(subagent_type)"| LV3
    LV2 -->|"call_omo_agent"| LV4
    LV1 -->|"task / look_at"| LV4

    classDef hadeStyle fill:#fff3a8,stroke:#d4a017,stroke-width:2px,font-weight:bold
    class Hades hadeStyle
Loading

階層規則: 每一層只能向下調用,不可逆向委派。


🧠 模型選擇 — 為何選擇 GLM-5.1 開源模型

GLM-5.1 是智譜 AI (Z.AI) 2026 年 4 月發布的 754B MoE 開源模型(MIT 授權),在軟體工程與資安基準測試中表現突出。

CyberGym Leaderboard — GLM-5.1 在 1,507 個真實漏洞場景中以 68.7% 排名 #5,為開源模型最強

CyberGym 排行榜(節錄前 10 名,來源 cybergym.io論文 arXiv:2506.02548):

# Agent Model Success Rate 類型
1 MDASH Multi-model 88.4% 閉源
2 Anthropic Agent Claude Mythos Preview 83.1% 閉源
3 OpenAI Agent GPT-5.5 81.8% 閉源
4 OpenAI Agent GPT-5.4 79.0% 閉源
5 Claude Code 🟢 GLM-5.1 68.7% 開源 #1
6 Anthropic Agent Claude Opus 4.6 66.6% 閉源
7 Codex CLI GPT-5.4 66.3% 閉源
8 Anthropic Agent Claude Sonnet 4.6 65.2% 閉源

選擇理由:

  1. CyberGym 開源最強 — 在 1,507 個真實漏洞場景中超越同為開源的 GLM-5(+20.4 分)、Kimi K2.5(41.3%),且唯一超越部分閉源模型(超越 Claude Opus 4.6 的 66.6%)。
  2. SWE-Bench Pro 58.4% — 軟體工程能力是資安分析的基礎,理解程式碼結構、追蹤資料流、定位漏洞都依賴強大的程式碼理解。
  3. MIT 開源授權 — 可自由部署、修改、商用,無閉源模型的法律與供應商鎖定風險。
  4. 成本優勢 — API 定價 $1.40/$4.40 per M tokens,僅 Claude Opus 4.6($5.00/$25.00)的 1/7。

多模型協作: 不同 Agent 依任務特性使用不同 LLM(Hades → GLM-5.1 資安主力;Oracle → GPT-5.5 高推理顧問;Explore → gpt-5.4-mini-fast 快速 grep),透過 Category 系統task(category="deep") 自動選模,無需手動指定。


🚀 實戰場景 — Binary 安全分析完整流程

使用者交付一個 binary 檔案,Hades 自動完成從逆向到報告的全流程:

sequenceDiagram
    participant User as 使用者
    participant H as Hades
    participant MCP as Ghidra-MCP
    participant O as Oracle
    participant E as Explore

    User->>H: 分析這個 binary 的安全性
    H->>H: 載入 vuln-discovery skill
    H->>MCP: skill_mcp 啟動 Ghidra-MCP
    Note over MCP: 249 個分析工具自動可用
    H->>MCP: decompile_function + call graph

    par 平行委派(同時進行)
        H->>O: task(load_skills=["secknowledge-skill"])<br/>評估架構安全性
        O-->>H: 安全性評估報告
    and
        H->>E: task(load_skills=["pentest-tools"])<br/>搜尋惡意模式
        E-->>H: 惡意模式搜尋結果
    end

    H->>H: 匯整:靜態分析 + 安全評估 + 模式搜尋
    H-->>User: 完整安全分析報告
Loading

其他支援場景: Web 應用滲透測試( pentest-flow skill)、自主攻擊與報告生成(category="deep" 自主循環)、CTF Challenge 解題(ctf-web + web-security-advanced 雙 skill)。


✅ 結論與未來展望

主要成果

貢獻 說明
🔌 零代碼架構整合 不修改任何原始碼,純 config 完成四個開源專案的組合
🎓 動態知識傳遞 「通用 Agent + 領域 Skill 注入」模式,Subagent 在接收任務時動態獲得資安能力
多面向平行分析 同時 spawn 多個 Subagent 以不同 Skill 組合平行分析,互不阻塞
🔧 統一工具介面 MCP 協定整合 Ghidra 249 個逆向工程工具,AI Agent 可直接操作專業級 binary 分析

未來展望

  • 整合 VulnClaw 的 12 個 MCP server(chrome-devtools、burp、frida 等)到 skill_mcp
  • 利用 oh-my-openagent 的 Team Mode,讓 Hades 作為 lead agent 帶領多個資安專門成員平行分析
  • 建立 CTF / 靶場自動化測試 pipeline,驗證 Hades 分析準確性
  • 整合 OWASP、MITRE ATT&CK 等外部知識庫
  • 分析完成後自動產生結構化資安報告

📚 References

四個開源專案:

專案 GitHub 授權
OpenCode anomalyco/opencode MIT
oh-my-openagent code-yeongyu/oh-my-openagent SUL-1.0
Ghidra-MCP bethington/ghidra-mcp Apache 2.0
VulnClaw Unclecheng-li/VulnClaw MIT

模型與基準測試:

協定與規範:

本專案完整報告:

Hades: A Multi-Agent Security Harness Powered by OpenCode — 7 分鐘講稿

使用说明: 大字標題為段落,括號 [XX:XX] 為累計時間標記,可對照計時器練習。底線處 [姓名] 等為需自行填入的資訊。建議練習 3 次,第一次順過、第二次對計時、第三次對著 poster 指點練習。


[00:00] 開場

各位老師、同學大家好,我是 [姓名]。今天要向大家報告的專案是 Hades — 一個以 OpenCode 為基礎、透過多 Agent 協作運作的 AI 資安分析系統

用一句話講我想做的事:讓 AI Agent 成為資安分析的統一入口。你用自然語言描述意圖,Agent 自己決定該用哪些工具、哪些知識、哪些模型,最後把完整分析報告交給你。


[00:30] 問題與動機

那為什麼要做這件事?因為現在的 AI 資安工具,有四個很痛的問題。

第一是 工具碎片化。逆向工程用 Ghidra、滲透測試用各種框架、漏洞查 CVE 資料庫,這些工具各自獨立,分析師要不斷切換、複製貼上,非常沒效率。

第二是 缺乏編排能力。單一工具很強,但沒辦法多面向同時跑——你要先掃漏洞、再評估架構、又查外部 CVE,這些事其實可以平行,但現有工具不會幫你平行。

另外兩個我快速帶過:知識孤島(資安知識散落在各種 playbook 與參考文件中,AI Agent 難以有效利用)、以及 單一模型限制(沒有任何一個 LLM 能同時擅長邏輯推理、程式碼分析、安全評估所有面向)。

這四個綜合起來,就是 沒有一個統一的 AI 介面能整合整個資安分析流程


[01:30] 核心創新 — Hades 多面向平行分析

我的解法,是設計一個叫 Hades 的資安專屬 primary agent。它最大的特色是 —— 多面向平行分析

當 Hades 收到一個分析任務,它會 同時 spawn 多個 subagent,每個帶不同的 skill 組合。例如:

  • 一個 Sisyphus-Junior 帶 vuln-discovery skill,跑深度自動化安全掃描;
  • 另一個帶 pentest-flow,跑完整滲透測試流程;
  • 第三個帶 exploitation,構造 PoC;
  • 同時,Explore 帶 web-security-advanced skill,搜尋注入點模式;
  • Librarian 帶 pentest-tools,搜尋外部 CVE 與工具速查。

這 5 個 subagent 平行進行、互不阻塞,結果統一回到 Hades 整理成報告。

這個架構真正的創新,不是「為每個分析面向打造專門 agent」——而是 讓通用 agent 在接到任務時,動態獲得領域知識。同一個 Sisyphus-Junior,這次帶 pentest-flow 就是滲透測試員、下次帶 exploitation 就是漏洞利用工程師。


[03:00] 系統架構 — 四層堆疊 × 四專案

Hades 不是憑空存在的,它架在一個 四層堆疊 之上:

  • 最底層是 基礎設施——LLM Providers、MCP 協定、Ghidra 引擎;
  • 往上是 OpenCode,提供對話迴圈、工具系統、Plugin API、權限控制;
  • 再往上是 oh-my-openagent 這個 plugin,負責多 Agent 編排、Skill 管理、54 個以上的生命週期 hooks;
  • 最上層是 領域知識——VulnClaw 跟 Ghidra-MCP。

最關鍵的是——這四層的組合完全是零代碼的。我只寫了 opencode.json config,沒改任何一個專案的原始碼。而這四個專案透過 MCP,Model Context Protocol 這個開放標準串接:OpenCode 當引擎、oh-my-openagent 當編排層、Ghidra-MCP 跟 VulnClaw 透過 skill 系統嵌入 Hades。


[04:00] 領域知識與工具 — Layer 4 兩大支柱

Hades 的戰力來源是 Layer 4 的兩大支柱。

第一是 VulnClaw,提供 21 個資安 skill,總共 180 份參考文件。7 個是核心,覆蓋完整 pentest 生命週期——偵察、漏洞掃描、利用、後滲透、報告;14 個是特化,涵蓋 Web 安全、客戶端逆向、內網滲透、CTF、AI/MCP 安全測試等等。這些 skill 只給 Hades 用,其他 primary agent 看不到。

第二是 Ghidra-MCP,提供 249 個逆向工程 MCP 工具。架構是三層:Agent 端透過 stdio 連到 Python Bridge,Python Bridge 再透過 HTTP REST 連到 Ghidra 的 Java Plugin。包含反編譯、call graph、動態分析、惡意行為偵測、IOC 提取等等。

這兩個透過 skill_mcp 機制 嵌入,用的時候自動啟動、用完自動清理,每個 session 隔離確保並行安全。


[05:00] 機制 — Skill 注入 × Agent 階層

講完了「有什麼」,接下來講「怎麼動起來」。

Skill 動態注入:Hades 委派任務時,透過 load_skills 參數把 skill 內容注入到 subagent 的 system prompt。Subagent 原本是通用 agent,接到 skill 瞬間就變成資安專家。

Agent 階層:整個系統分四層——Level 1 是頂層 orchestrator,包含 Hades、Sisyphus 等共五個;Level 2 是 Sisyphus-Junior,分類委派執行器;Level 3 是諮詢型,如 Oracle;Level 4 是終端型,如 Explore、Librarian。每一層只能向下調用,不可逆向委派,防止越權。


[05:45] 模型選擇 — GLM-5.1

模型方面,我選了 GLM-5.1——智譜 AI 2026 年 4 月發布的 754B MoE 開源模型。

為什麼選它?三個理由:第一,CyberGym 排行榜 #5、68.7%,是開源模型最強,而且唯一超越部分閉源模型,贏過 Claude Opus 4.6;第二,MIT 授權,可自由商用;第三,成本只有 Claude Opus 的七分之一

而且不同 agent 用不同模型——Hades 用 GLM-5.1、Oracle 用 GPT-5.5、Explore 用 gpt-5.4-mini-fast——透過 Category 系統 自動路由,不用手動指定。


[06:15] 實戰場景 — Binary 安全分析

最後用一個場景把整個架構串起來——Binary 安全分析。

使用者丢一個 binary 給 Hades,只講一句話:「分析這個 binary 的安全性」。接下來 Hades 自己:

  1. 載入 vuln-discovery skill;
  2. 啟動 Ghidra-MCP,249 個工具自動可用;
  3. 呼叫反編譯、call graph 做靜態分析;
  4. 同時平行委派——Oracle 帶 secknowledge-skill 評估架構安全性、Explore 帶 pentest-tools 搜尋惡意模式;
  5. 匯整靜態分析、安全評估、模式搜尋;
  6. 產出完整安全分析報告。

整個流程,使用者只講了一句話。


[06:45] 結論

總結一下,這個專案有四個主要貢獻:零代碼架構整合、動態知識傳遞、多面向平行分析、統一工具介面

未來方向包括整合更多 MCP server、利用 Team Mode 讓 Hades 帶領資安專門成員平行分析、以及建立 CTF 靶場自動化測試 pipeline。

以上是我的報告,謝謝聆聽。


練習備忘

  • 總字數: 約 1150 字,中文口語速度約 170 字/分,預估 6 分 50 秒,保留 10 秒緩衝
  • 節奏提醒:
    • [01:30] Hades 主角段是重點,語氣要放慢、放重
    • [03:00] 四層堆疊可指向 poster 的架構圖
    • [06:15] 場景段節奏稍快,營造「一路往下跑」的動態感
  • 可能被問的問題(預先準備):
    • 為什麼用 Hades 而不是直接擴展 OpenCode 既有 agent?
    • VulnClaw 跟 Ghidra-MCP 為什麼不直接 fork,而是用 skill 嵌入?
    • 249 個工具會不會佔用太多 context window?(答:skill_mcp 按需啟動 + session 隔離 + 漸進式載入)
    • GLM-5.1 在實際 binary 分析上的表現如何?有沒有量化數據?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment