EYY7592/ThreatHunter
GitHub: EYY7592/ThreatHunter
基于多Agent协作的AI驱动威胁情报平台,通过漏洞链推理和对抗式辩论机制,将多个中等风险漏洞的组合升级识别为关键威胁,并生成带置信度的可执行修复报告。
Stars: 0 | Forks: 0
# 🛡️ ThreatHunter — AI 驱动的网络安全威胁情报平台
**一个自主的多 Agent 系统,用于侦察漏洞、推理链式风险并生成可执行的安全报告——具备记忆功能。**
[](https://www.amd.com)
[](https://crewai.com)
[](https://vllm.ai)
[](https://python.org)
[English](#english) | [中文](#中文)
## 🌐 English
### 什么是 ThreatHunter?
**ThreatHunter 是一个具备记忆功能的 AI 网络安全顾问。**
传统的漏洞扫描器只会提供一份按 CVSS 分数排序的 CVE 列表。ThreatHunter 则更进一步——它能**推理**漏洞如何组合成攻击链,并且能**记住**您的架构信息,在不同扫描之间追踪风险随时间的演变。
### 核心功能
| 功能 | 描述 |
|---|---|
| 🧭 **输入感知路由** | UI 和后端的 L0 检测会在 Agent 计划运行前,对包列表、源代码、配置文件、Prompt 注入尝试和 SQL 审查负载进行规范化处理 |
| 🛡️ **确定性代码审计** | Security Guard 不信任提交代码中类似 Prompt 的注释,而是提取代码面、imports、secrets、危险模式和 CWE 参考 |
| 🔎 **基于证据的情报融合** | Scout 和情报融合结合了 OSV、NVD、GHSA、OTX、EPSS、KEV、Exploit 和 ATT&CK 证据,并严格区分了直接 CVE 和代表性 CVE 的边界 |
| 🧠 **链式漏洞分析** | Analyst 和 Critic 负责推理攻击链,质疑薄弱证据,并降级缺乏支撑的发现 |
| 📋 **可执行的报告** | Advisor 输出优先行动、修复命令、置信度和 `code_patterns_summary`,而不是将代码模式转化为虚假的包 CVE |
| 🧬 **记忆与检查点** | JSON/LlamaIndex 记忆、JSONL 检查点和 SSE 进度事件会保留扫描历史,并使 pipeline 具备可审计性 |
| ⚙️ **AMD LLM 主接口** | `LLM_PROVIDER=amd` 优先使用 AMD Developer Cloud 的 vLLM/OpenAI 兼容端点,然后在配置后回退到 OpenRouter 免费模型级联 |
### 系统架构
```
Browser UI / CLI Input
Package list · Source code · Config · SQL corpus · Prompt-injection sample
│
▼
┌─────────────────────────────────────────────────────────┐
│ ui/static/app.js detectInputType() │
│ POST /api/scan { tech_stack, input_type } │
└───────────────────────┬─────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ ui/server.py │
│ _canonical_scan_input_type() + FastAPI/SSE scan store │
└───────────────────────┬─────────────────────────────────┘
▼
╔═════════════════════════════════════════════════════════╗
║ L0 input_sanitizer.py ║
║ scan_blocklist · infer_input_type · hash · l0_findings ║
╚═══════════════════╤═════════════════════════════════════╝
│
┌───────────┴───────────┐
▼ ▼
Blocked / recovered Canonical runtime input type
prompt injection pkg · code · config · injection · sql_review
│
├── sql_review
│ ▼
│ tools/sql_syntax_reviewer.py
│ payload/syntax evidence only
│
▼
┌─────────────────────────────────────────────────────────┐
│ Orchestrator Agent │
│ Path A package scan · Path B code audit · Path C config │
│ L0 route correction prevents source code as pkg scan │
└───────────────────────┬─────────────────────────────────┘
▼
┌─────────────────────────────── Layer 1 Discovery ───────────────────────────────┐
│ Security Guard Agent Scout Agent │
│ deterministic code surface package/CVE discovery │
│ CWE registry + package extractor OSV -> NVD, GHSA, OTX, Memory │
└──────────────────────────────┬─────────────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ Intel Fusion Agent │
│ NVD/OSV/GHSA/OTX/EPSS/KEV/ATT&CK scoring │
│ Evidence contract: direct_cve vs representative_cve │
└───────────────────────┬─────────────────────────────────┘
▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Analyst │ → │ Critic/Debate│ → │ Advisor │
│ chain risk │ │ evidence QA │ │ action report│
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
└─────────────────┴──────────────────┘
▼
╔═════════════════════════════════════════════════════════╗
║ Final JSON report ║
║ actions · vulnerability_detail · code_patterns_summary ║
║ pipeline_meta · report_sources · confidence ║
╚═══════════════════╤═════════════════════════════════════╝
▼
Checkpoint JSONL + FastAPI SSE + dashboard UI
LLM Provider Chain:
AMD Developer Cloud vLLM/OpenAI-compatible
→ OpenRouter free-model waterfall fallback
Harness Verification:
arch_linter.py · entropy_scanner.py · pytest
```
### 独特之处
```
Traditional Scanner:
CVE-A (SSRF, CVSS 6.5) → Medium ⚠️
CVE-B (Redis unauth, CVSS 5.3) → Medium ⚠️
Result: Two medium vulnerabilities.
ThreatHunter:
CVE-A (SSRF) + CVE-B (Redis unauth)
→ SSRF reaches internal network
→ Redis has no password
→ Attacker writes crontab = shell access
→ Result: Two mediums = ONE CRITICAL 🔴
⬆️ Only an LLM can reason about this.
Traditional tools can't.
```
### 技术栈
| 组件 | 技术 |
|---|---|
| Agent 框架 | CrewAI (ReAct 模式) |
| LLM | AMD Developer Cloud vLLM/OpenAI 兼容主接口,OpenRouter 免费模型作为备选 |
| 威胁数据 | OSV, NVD API, GHSA, AlienVault OTX, EPSS, CISA KEV, Exploit/PoC 来源, MITRE ATT&CK |
| 代码智能 | Security Guard, CWE 注册表, SQL 语法审查器, 包/版本提取器 |
| 记忆 | JSON + LlamaIndex 持久化存储 |
| UI | FastAPI (SSE) + HTML/JS/CSS |
| 方法论 | Harness Engineering (OpenAI) |
### 项目结构
```
ThreatHunter/
├── main.py # Pipeline Entrypoint (Orchestrator driven)
├── config.py # LLM configs + API Keys + Degradation Waterfall
├── checkpoint.py # JSONL event persistence + Checkpoint recorder API
├── input_sanitizer.py # L0 input sanitation (Python core + Rust bindings)
├── build_nvd_cache.py # Offline NVD cache builder utility
│
├── agents/ # Multi-Agent Definitions (7 runtime agents + debate engine)
│ ├── orchestrator.py # Dynamic Path Routing (A: PKG / B: Code / C: Config / D: Refine)
│ ├── security_guard.py # Deterministic multi-language code audit + prompt-injection defense
│ ├── intel_fusion.py # Evidence fusion (OSV/NVD/GHSA/OTX/EPSS/KEV/ATT&CK)
│ ├── scout.py # Package/CVE/GHSA scouting (ReAct + memory-aware)
│ ├── analyst.py # Chain Vulnerability Reasoning
│ ├── critic.py # Adversarial Debate, recall challenge, authenticity review
│ ├── debate_engine.py # Debate scoring and challenge orchestration helpers
│ └── advisor.py # Final Action Report
│ # Harness Layer 4.5: Constitution CI-1/CI-2 Guard
│ # (CODE-pattern blocked from URGENT, moved to code_patterns_summary)
│
├── tools/ # CrewAI @tool functions and deterministic utilities
│ ├── nvd_tool.py # NVD API (Primary CVE DB / CPE-aware search)
│ ├── otx_tool.py # AlienVault OTX (Threat Intelligence)
│ ├── kev_tool.py # CISA KEV (Known Exploited Vulnerabilities)
│ ├── epss_tool.py # EPSS (Exploit Prediction Scoring System)
│ ├── exploit_tool.py # GitHub Exploit DB / PoC Finder
│ ├── ghsa_tool.py # GitHub Security Advisory
│ ├── osv_tool.py # OSV (Open Source Vulnerabilities, ecosystem-aware)
│ ├── attck_tool.py # MITRE ATT&CK TTP Mapping
│ ├── cwe_database.py # Local CWE metadata and representative evidence
│ ├── cwe_registry.py # Canonical pattern → CWE/OWASP/severity mapping
│ ├── sql_syntax_reviewer.py # SQL corpus/payload syntax review without app-vuln claims
│ ├── memory_tool.py # Hybrid Memory Persistence (JSON + LlamaIndex)
│ └── package_extractor.py # Extract packages/imports and dependency versions for OSV/NVD
│
├── sandbox/ # Multi-Layer Sandbox Security (Phase 1, 3)
│ ├── ast_guard.py # L1 AST Bomb DoS Protection (50k node limit, 3s timeout)
│ ├── memory_sanitizer.py # L3 Memory Poison & Hallucination Scan
│ ├── docker_sandbox.py # L2 Docker Runner API for full pipeline isolation
│ ├── sandbox_runner.py # Sandbox execution entrypoint (inside container)
│ ├── Dockerfile # Minimal pipeline container (non-root, read-only)
│ └── seccomp-profile.json # Linux syscall allowlist
│
├── rust/ # Rust High-Performance Security Layer (Phase 2)
│ ├── sanitizer/ # L0 Input Sanitizer (regex DFA, SHA-256, ReDoS O(n))
│ ├── json_validator/ # JSON Bomb Protection (depth ≤ 32)
│ ├── memory_validator/ # Memory Hallucination Screening (Rust speed)
│ ├── url_builder/ # Safe URL Builder (SSRF prevention, allowlist)
│ └── prompt_sandbox/ # PyO3 host wrapper for WASM guest isolation
│
├── skills/ # Agent SOP Directives (path-aware .md files)
│ ├── threat_intel.md # Scout: Threat intelligence SOP
│ ├── source_code_audit.md # Security Guard: Code audit SOP
│ ├── chain_analysis.md # Analyst: Chain vulnerability reasoning SOP
│ ├── debate_sop.md # Critic: Adversarial debate SOP
│ ├── code_action_report.md # Advisor: Code findings action report (v5.1 Anti-Fabrication)
│ ├── intel_fusion.md # Intel Fusion: 6D weighting SOP
│ ├── orchestrator.md # Orchestrator: Path routing SOP
│ ├── security_guard.md # Security Guard: Pattern match SOP
│ └── skill_loader.py # Hot-reload skill caching system
│
├── harness/ # Harness Engineering 3-Pillar Architecture
│ ├── context/ # Layer 1: System Context Rules
│ ├── constraints/ # Layer 2: Boundary definitions + arch_linter.py
│ └── entropy/ # Layer 3: Entropy scanner + UNTIL CLEAN loop
│
├── scripts/
│ └── clean_memory_contamination.py # Startup memory cleanup (removes ancient CVEs)
│
├── docs/ # Architecture and design documentation
├── memory/ # Persistent agent memory (JSON + vector index)
├── data/ # Runtime/generated API caches; package_map.json is the only committed data file
├── ui/
│ ├── server.py # FastAPI + SSE real-time streaming backend
│ └── static/
│ ├── index.html # Main scan UI
│ ├── app.js # SSE client, report rendering (CWE badge + snippet diff)
│ ├── style.css # UI theme + action card styles
│ ├── checkpoint.html # Pipeline checkpoint viewer
│ ├── checkpoint.js # Checkpoint data handler
│ └── checkpoint.css # Checkpoint viewer styles
│
├── project_CONSTITUTION.md # Project development constitution (rules & guardrails)
├── HARNESS_ENGINEERING.md # Harness methodology spec
├── FINAL_PLAN.md # Harness delivery plan and validation contract
├── AGENTS.md # AI assistant task routing guide
└── walkthrough.md # Full architecture walkthrough (v5.3)
```
### 快速开始
```
# 1. Clone
git clone https://github.com/EYY7592/ThreatHunter.git
cd ThreatHunter
# 2. Install dependencies
pip install -r requirements.txt
# 3. Set environment variables
export LLM_PROVIDER="amd"
export AMD_LLM_BASE_URL="https://your-amd-vllm-endpoint/v1"
export AMD_LLM_MODEL="meta-llama/Llama-3.3-70B-Instruct"
export AMD_LLM_API_KEY="your-amd-key-or-dummy"
export OPENROUTER_API_KEY="your-key"
export NVD_API_KEY="your-key"
# 4. Run
uv run python ui/server.py
```
### 开发方法论:Harness Engineering
我们使用 **Harness Engineering** 来构建 Agent——这是一种专注于让 AI Agent 变得**可靠**,而不仅仅是强大的方法论。
| 支柱 | 实现方式 |
|---|---|
| **约束** | 在每个 Agent 的 prompt 中写入系统章程 |
| **可观测性** | `verbose=True` — 完整的 ReAct 推理过程可见 |
| **反馈循环** | 记忆系统 — Agent 从过去的扫描中学习 |
| **优雅降级** | 离线缓存 + 备用 LLM 提供商 |
| **评估** | 置信度评分 (HIGH/MEDIUM/NEEDS_VERIFICATION) |
## 🇹🇼 中文
### ThreatHunter 是什么?
**ThreatHunter 是一个有记忆的 AI 安全顾问。**
传统漏洞扫描器只会给你一份按 CVSS 分数排序的 CVE 清单。ThreatHunter 更进一步——它会**推理**漏洞之间的连锁攻击关系,并且**记住**你的基础设施,追踪风险随时间的变化。
### 核心功能
| 功能 | 说明 |
|---|---|
| 🧭 **输入类型感知路由** | UI 与后端 L0 检测会先将包列表、源代码、配置文件、Prompt 注入尝试、SQL 负载进行规范化,再交给 Agent 计划 |
| 🛡️ **确定性代码审计** | Security Guard 不信任提交代码里的指令型注释,先机械性抽取代码面、imports、secrets、危险 patterns 与 CWE 佐证 |
| 🔎 **证据导向情报融合** | Scout 与情报融合整合 OSV、NVD、GHSA、OTX、EPSS、KEV、Exploit、ATT&CK,并区分直接 CVE 与代表性 CVE |
| 🧠 **漏洞链推理与辩论** | Analyst 推理攻击链,Critic/Debate 挑战薄弱证据,缺乏佐证时保守降级 |
| 📋 **可执行报告** | Advisor 生成优先行动、修复指令、置信度与 `code_patterns_summary`,避免把代码 patterns 包装成假包 CVE |
| 🧬 **记忆与检查点** | JSON/LlamaIndex 记忆、JSONL 检查点与 SSE 事件让整个 pipeline 可追踪、可回放 |
| ⚙️ **AMD LLM 主接口** | `LLM_PROVIDER=amd` 优先使用 AMD Developer Cloud vLLM/OpenAI 兼容端点,必要时降级到 OpenRouter 免费模型级联 |
### 为什么跟传统工具不一样?
```
傳統掃描器:
CVE-A (SSRF, CVSS 6.5) → 中危 ⚠️
CVE-B (Redis 未授權, CVSS 5.3) → 中危 ⚠️
結論:兩個中危漏洞。
ThreatHunter:
CVE-A (SSRF) + CVE-B (Redis 未授權)
→ SSRF 可以讓攻擊者打到內網
→ 內網的 Redis 沒密碼
→ 攻擊者可以直接寫入 crontab = 拿到 shell
→ 結論:兩個中危 = 一個致命 🔴
⬆️ 這個推理只有 LLM 能做。
傳統工具做不到。
```
### 整体架构图
```
瀏覽器 UI / CLI 輸入
套件清單 · 原始碼 · 設定檔 · SQL corpus · Prompt Injection 樣本
│
▼
┌─────────────────────────────────────────────────────────┐
│ ui/static/app.js detectInputType() │
│ POST /api/scan { tech_stack, input_type } │
└───────────────────────┬─────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ ui/server.py │
│ _canonical_scan_input_type() + FastAPI/SSE scan store │
└───────────────────────┬─────────────────────────────────┘
▼
╔═════════════════════════════════════════════════════════╗
║ L0 input_sanitizer.py ║
║ scan_blocklist · infer_input_type · hash · l0_findings ║
╚═══════════════════╤═════════════════════════════════════╝
│
┌───────────┴───────────┐
▼ ▼
阻擋或復原 Prompt 正規化 runtime input type
Injection 輸入 pkg · code · config · injection · sql_review
│
├── sql_review
│ ▼
│ tools/sql_syntax_reviewer.py
│ 只輸出 payload/語法證據,不宣稱 app 漏洞
│
▼
┌─────────────────────────────────────────────────────────┐
│ Orchestrator Agent │
│ Path A 套件掃描 · Path B 程式碼審計 · Path C 設定檢查 │
│ 由 L0 修正路由,避免原始碼被當成套件掃描 │
└───────────────────────┬─────────────────────────────────┘
▼
┌─────────────────────────────── Layer 1 Discovery ───────────────────────────────┐
│ Security Guard Agent Scout Agent │
│ 確定性 code surface/CWE package/CVE discovery │
│ CWE registry + package extractor OSV -> NVD, GHSA, OTX, Memory │
└──────────────────────────────┬─────────────────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ Intel Fusion Agent │
│ NVD/OSV/GHSA/OTX/EPSS/KEV/ATT&CK 評分 │
│ evidence contract: direct_cve vs representative_cve │
└───────────────────────┬─────────────────────────────────┘
▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Analyst │ → │ Critic/Debate│ → │ Advisor │
│ 漏洞鏈推理 │ │ 證據挑戰 │ │ 行動報告 │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
└─────────────────┴──────────────────┘
▼
╔═════════════════════════════════════════════════════════╗
║ Final JSON report ║
║ actions · vulnerability_detail · code_patterns_summary ║
║ pipeline_meta · report_sources · confidence ║
╚═══════════════════╤═════════════════════════════════════╝
▼
Checkpoint JSONL + FastAPI SSE + Dashboard UI
LLM Provider Chain:
AMD Developer Cloud vLLM/OpenAI-compatible
→ OpenRouter free-model waterfall fallback
Harness Verification:
arch_linter.py · entropy_scanner.py · pytest
```
### 技术栈
| 组件 | 技术 |
|---|---|
| Agent 框架 | CrewAI (ReAct 模式) |
| LLM | AMD Developer Cloud vLLM/OpenAI 兼容主接口,OpenRouter 免费模型作为备选 |
| 威胁数据 | OSV, NVD API, GHSA, AlienVault OTX, EPSS, CISA KEV, Exploit/PoC, MITRE ATT&CK |
| 代码情报 | Security Guard, CWE 注册表, SQL 语法审查器, 包/版本提取器 |
| 记忆系统 | JSON + LlamaIndex 持久化存储 |
| 界面 | FastAPI (SSE) + HTML/JS/CSS |
| 开发方法论 | Harness Engineering (OpenAI) |
### 开发方法:Harness Engineering
我们使用 **Harness Engineering** 来开发 Agent——专注于让 AI Agent **可靠稳定**,而不只是强大。
| 支柱 | 实现方式 |
|---|---|
| **Constraints (约束)** | 系统章程写进每个 Agent 的 Prompt |
| **Observability (可观测性)** | `verbose=True` — 完整 ReAct 推理可见 |
| **Feedback Loops (反馈循环)** | 记忆系统 — Agent 从过去的扫描中学习 |
| **Graceful Degradation (优雅降级)** | 离线缓存 + 备用 LLM 提供商 |
| **Evaluation (验证)** | 置信度标记 (HIGH/MEDIUM/NEEDS_VERIFICATION) |
### 目录结构
```
ThreatHunter/
├── main.py # Pipeline 主程式(Orchestrator 驅動)
├── config.py # LLM 設定 + API Key + 降級瀑布
├── checkpoint.py # JSONL 事件持久化 + Checkpoint 記錄 API
├── input_sanitizer.py # L0 輸入淨化(Python 和 Rust 橋接)
├── build_nvd_cache.py # NVD 離線快取建置工具
│
├── agents/ # Agent 定義(7 個 runtime agents + debate engine)
│ ├── orchestrator.py # 動態路由(Path A: 套件 / B: 原始碼 / C: 配置 / D: 補充)
│ ├── security_guard.py # 確定性多語言程式碼審計 + Prompt Injection 防禦
│ ├── intel_fusion.py # 證據融合(OSV/NVD/GHSA/OTX/EPSS/KEV/ATT&CK)
│ ├── scout.py # 套件/CVE/GHSA 情報偵察(ReAct + 記憶感知)
│ ├── analyst.py # 漏洞鏈推理
│ ├── critic.py # 對抗式辯論、recall challenge、真實性審查
│ ├── debate_engine.py # 辯論評分與挑戰流程輔助
│ └── advisor.py # 最終行動報告
│ # Harness Layer 4.5:憲法 CI-1/CI-2 守衛
│ # (CODE-pattern 不進 URGENT,移入 code_patterns_summary)
│
├── tools/ # CrewAI @tool 函式與確定性工具
│ ├── nvd_tool.py # NVD API(主要 CVE 資料庫 / CPE 搜尋)
│ ├── otx_tool.py # AlienVault OTX(威脅情報)
│ ├── kev_tool.py # CISA KEV(已知被利用漏洞)
│ ├── epss_tool.py # EPSS(漏洞利用預測)
│ ├── exploit_tool.py # Exploit-DB / PoC 查詢
│ ├── ghsa_tool.py # GitHub Security Advisory
│ ├── osv_tool.py # OSV(開源漏洞資料庫,ecosystem-aware)
│ ├── attck_tool.py # MITRE ATT&CK TTP 映射
│ ├── cwe_database.py # 本地 CWE metadata 與代表性佐證
│ ├── cwe_registry.py # pattern → CWE/OWASP/severity 的 canonical registry
│ ├── sql_syntax_reviewer.py # SQL corpus/payload 語法審查,不宣稱 app 漏洞
│ ├── memory_tool.py # 雙層記憶持久化(JSON + LlamaIndex)
│ └── package_extractor.py # 從 import/manifest 提取套件與版本供 OSV/NVD 使用
│
├── sandbox/ # 多層安全防護(Phase 1、3)
│ ├── ast_guard.py # L1 AST Bomb DoS 防護(50k 節點上限、3s 還時)
│ ├── memory_sanitizer.py # L3 記憶毒素掃描 + 幻覺 CVE 過濾
│ ├── docker_sandbox.py # L2 Docker 隔離容器 Python API
│ ├── sandbox_runner.py # 容器內執行入口
│ ├── Dockerfile # 最小化隔離容器(non-root、read-only)
│ └── seccomp-profile.json # Linux syscall 白名單
│
├── rust/ # Rust 高效能安全層(Phase 2)
│ ├── sanitizer/ # L0 輸入淨化(regex O(n)、SHA-256、防 ReDoS)
│ ├── json_validator/ # JSON Bomb 防護(depth≤32)
│ ├── memory_validator/ # 記憶幻覺掃描(Rust 速度)
│ ├── url_builder/ # 安全 URL 建構(防 SSRF、白名單)
│ └── prompt_sandbox/ # PyO3 Host 供 Python 呼叫 WASM
│
├── skills/ # Agent SOP 指令文件(路徑感知 .md)
│ ├── threat_intel.md # Scout:威脅情報收集 SOP
│ ├── source_code_audit.md # Security Guard:程式碼審計 SOP
│ ├── chain_analysis.md # Analyst:漏洞鏈分析 SOP
│ ├── debate_sop.md # Critic:對抗辯論 SOP
│ ├── code_action_report.md # Advisor:程式碼發現行動報告(v5.1 防捏造)
│ ├── intel_fusion.md # Intel Fusion:六維加權 SOP
│ ├── orchestrator.md # Orchestrator:路由決策 SOP
│ ├── security_guard.md # Security Guard:格式匹配 SOP
│ └── skill_loader.py # 動態載入 SOP 系統
│
├── harness/ # Harness Engineering 三柱架構
│ ├── context/ # 第 1 層:系統 Context 規則
│ ├── constraints/ # 第 2 層:架構邊界規則 + arch_linter.py
│ └── entropy/ # 第 3 層:熵掃描 + UNTIL CLEAN 迭代
│
├── scripts/
│ └── clean_memory_contamination.py # 啟動時記憶清理(移除古老 CVE)
│
├── docs/ # 架構與設計文件
├── memory/ # 雙層記憶持久化與向量快取
├── data/ # 執行期產生的 API 快取;主分支只保留 package_map.json
├── ui/
│ ├── server.py # FastAPI + SSE 即時串流後端
│ └── static/
│ ├── index.html # 主掃描 UI
│ ├── app.js # SSE 用戶端、報告渲染(CWE badge + snippet diff)
│ ├── style.css # UI 主題 + 行動卡樣式
│ ├── checkpoint.html # Pipeline Checkpoint 檢視器
│ ├── checkpoint.js # Checkpoint 資料處理
│ └── checkpoint.css # Checkpoint 檢視器樣式
│
├── project_CONSTITUTION.md # 憲法指引(開發規範與保護標準)
├── HARNESS_ENGINEERING.md # Harness 方法論規範
├── FINAL_PLAN.md # Harness 交付計畫與驗證契約
├── AGENTS.md # AI 工程夥伴任務路由指南
└── walkthrough.md # 完整架構走查記錄(v5.3)
```
### 快速开始
```
# 1. 複製專案
git clone https://github.com/EYY7592/ThreatHunter.git
cd ThreatHunter
# 2. 啟動環境與安裝套件
uv sync
# 如果需要編譯 rust (可選),請執行: python build_rust_crates.py
# 3. 設定環境變數
export LLM_PROVIDER="amd"
export AMD_LLM_BASE_URL="https://your-amd-vllm-endpoint/v1"
export AMD_LLM_MODEL="meta-llama/Llama-3.3-70B-Instruct"
export AMD_LLM_API_KEY="your-amd-key-or-dummy"
export OPENROUTER_API_KEY="your-key"
# 4. 執行
uv run python ui/server.py
# 接著打開瀏覽器訪問 http://localhost:1000
```
### 团队
| 角色 | 职责 |
|---|---|
| 👑 组长 | 架构设计、CrewAI 集成、FastAPI + SSE UI、记忆工具 |
| 🔍 成员 B | Scout Agent Pipeline (NVD 工具 + OTX 工具 + Skill) |
| 🧠 成员 C | Analyst Agent Pipeline (KEV 工具 + Exploit 工具 + Chain 分析 Skill) |
## 📄 许可证
本项目为 AMD 开发者黑客松 2026 开发。
## 🙏 致谢
- [AMD](https://www.amd.com) — Cloud GPU 基础设施
- [CrewAI](https://crewai.com) — 多 Agent 编排框架
- [NVD](https://nvd.nist.gov) — 国家漏洞数据库
- [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — 已知被利用漏洞目录
- [AlienVault OTX](https://otx.alienvault.com) — 开放威胁交换标签:AI安全, AMD, Chat Copilot, CISA项目, CrewAI, CVE, CVSS, DLL 劫持, EPSS, GHSA, GPT, NVD, OSV, PE 加载器, PyRIT, Python, SQL审查, Vercel, vLLM, Web报告查看器, 人工智能, 代码安全, 内存记忆, 反取证, 可视化界面, 多智能体系统, 大语言模型, 威胁情报, 子域名变形, 安全合规, 安全报告, 安全评估, 开发者工具, 攻击链分析, 数字签名, 文档安全, 无后门, 智能安全助手, 漏洞枚举, 漏洞管理, 用户模式Hook绕过, 网络代理, 网络安全, 网络安全防御, 请求拦截, 逆向工具, 隐私保护, 风险推理, 风险演化追踪, 黑客马拉松