kattran177/mitre-car-analytics
GitHub: kattran177/mitre-car-analytics
基于 Claude LLM 和 RAG 流水线,将 MITRE CAR 检测分析自动转化为包含攻击映射、狩猎假设和 SIEM 查询在内的结构化威胁狩猎工件。
Stars: 0 | Forks: 0
# LLM 辅助威胁狩猎流水线
[](https://github.com)
[-yellowgreen)](https://github.com)
[](https://www.python.org/)
[](https://www.anthropic.com)
[](LICENSE)
[](https://github.com)
利用由 Claude LLM 驱动的 RAG 流水线,将 MITRE CAR(Cyber Analytics Repository)检测分析转化为**可操作的威胁狩猎工件**。每个分析会生成 5 个结构化输出:纯英文解释、ATT&CK 映射、狩猎假设、SIEM 查询和误报分析。
**状态:** 已全面投入运行,具备生产级输出、交互式 Streamlit UI 以及量化的质量指标(MOQS: 2.54/3.0)。
## 目录
- [功能特性](#features)
- [快速开始](#quick-start)
- [交互式 UI](#interactive-ui)
- [流水线架构](#pipeline-architecture)
- [项目结构](#project-structure)
- [输出格式](#output-format)
- [配置](#configuration)
- [评估结果](#evaluation-results)
- [已知局限性](#known-limitations)
- [贡献](#contributing)
- [参考资料](#references)
## 功能特性
### 核心能力
- ✅ 每个 MITRE CAR 分析生成 **5 个结构化输出**
- 纯英文解释
- 带有原因说明的 ATT&CK 技术映射
- 可测试的威胁狩猎假设
- SIEM 查询(Splunk SPL / KQL)
- 带有分拣过滤器的误报分析
- ✅ 用于上下文感知生成的 **RAG 流水线**
- ✅ **质量评分**(MOQS: 2.54/3.0 - 良好)
- ✅ **故障模式检测**(识别出 5 种不同模式)
- ✅ 用于探索输出的 **交互式 Streamlit UI**
- ✅ 在 6 个 CAR 分析上进行了**评估**并附带详细指标
### 质量指标
| 指标 | 得分 | 状态 |
|--------|-------|--------|
| **整体质量 (MOQS)** | 2.54/3.0 | ✅ 良好 |
| **攻击映射** | 3.0/3.0 | ✅ 完美 |
| **狩猎假设** | 2.90/3.0 | ✅ 优秀 |
| **误报** | 2.80/3.0 | ✅ 良好 |
| **总结解释** | 2.60/3.0 | ✅ 良好 |
| **SIEM 查询** | 1.40/3.0 | ⚠️ 需要审查 |
## 快速开始
### 前置条件
```
Python 3.9+
pip install anthropic chromadb langchain streamlit pyyaml
```
### 安装
```
# 克隆仓库
git clone https://github.com/yourusername/threat-hunting-rag.git
cd threat-hunting-rag
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 安装依赖
pip install -r requirements.txt
# 设置 API 凭据 (可选 - 用于生成)
export ANTHROPIC_API_KEY="sk-ant-..."
```
### 验证安装
```
# 测试 RAG pipeline
python -c "from src.embed import get_collection; print(get_collection().count())"
# 查看输出
ls -la outputs/phase4_enhanced/phase4_enhanced_outputs.json
```
### 输出位置
```
outputs/phase4_enhanced/
├── phase4_enhanced_outputs.json # Main results (6 CAR analytics)
├── phase4_enhanced_with_validation.json # With tactic validation
├── QUANTITATIVE_EVALUATION.json # Quality metrics by analytic
├── failure_analysis.json # Failure mode tracking
└── ANALYST_REVIEW_REQUIRED.md # Flagged for review
```
## 交互式 UI
### 启动 Streamlit 应用
```
streamlit run streamlit_app.py
```
在 `http://localhost:8501` 打开
### UI 功能
**输入界面:**
- 🔍 下拉选择器,可浏览所有 CAR ID
- 🔎 搜索框,用于查找特定分析
- 📌 快速访问最新输出
**5 个可展开部分:**
1. **总结解释** - 分析检测的是*什么*,*为什么*重要,攻击者*如何*使用该技术
2. **ATT&CK 映射** - 技术 ID、战术、子技术及其因果关系说明
3. **狩猎假设** - 带有数据源的可测试 if-then 语句
4. **SIEM 查询** - 面向生产环境的 Splunk/KQL 查询,包含数据模型字段和注意事项
5. **误报** - 真实场景、风险级别和推荐的分拣过滤器
**操作:**
- 📋 将工件复制为 JSON
- ⬇️ 下载单个 CAR 输出
- 📊 查看置信度水平和质量指标
**示例:**
```
Selected CAR: CAR-2013-02-003 (Cmd.exe spawning from unusual parent)
├─ Summary: Detects cmd.exe spawned by document readers (exploitation indicator)
├─ Techniques: T1059 (Command and Scripting Interpreter) - TA0002 (Execution)
├─ Hypothesis: "If attacker exploits malicious document, then unusual parent spawns cmd.exe"
├─ Query: Splunk SPL with process/create/parent_exe filtering
└─ FalsePositives: Admin tools, logon scripts, installers (medium risk)
```
## 流水线架构
```
┌─────────────────────────────────────────────────────────────────┐
│ MITRE CAR Corpus (102 analytics) │
└────────────────────┬────────────────────────────────────────────┘
│
┌───────────▼────────────┐
│ Phase 1: Ingestion │ (src/ingest.py)
│ - Load YAML files │
│ - Extract metadata │
│ - Create records │
└───────────┬────────────┘
│
┌───────────▼────────────┐
│ Phase 2: Embedding │ (src/embed.py)
│ - ChromaDB + all-MiniLM│
│ - Vectorize analytics │
│ - Persistent storage │
└───────────┬────────────┘
│
┌────────────────▼────────────────┐
│ Phase 3: RAG Retrieval │ (src/retrieve.py)
│ - Query semantics │
│ - Top-k similarity search │
│ - Context filtering │
│ - Max distance threshold │
└────────────┬───────────────────┘
│
┌────────────▼──────────────────────┐
│ Phase 4: Prompt & Generation │ (src/prompts.py)
│ - Schema-grounded templates │
│ - Claude Sonnet 4-6 LLM │
│ - Temperature: 0.2 (stable) │
│ - 5 structured outputs │
└────────────┬──────────────────────┘
│
┌────────────▼──────────────────────┐
│ Phase 5: Validation & Evaluation │
│ - JSON structure validation │
│ - SIEM query syntax check │
│ - Confidence scoring (MOQS) │
│ - Failure mode detection │
└────────────┬──────────────────────┘
│
┌───────▼────────────┐
│ Outputs JSON │
│ (6 CAR analytics)│
│ + Metrics Report │
└────────────────────┘
```
### 阶段详情
#### 1. 数据接入 (`src/ingest.py`)
- 从结构化 YAML 中加载 102 个 MITRE CAR 分析
- 提取:ID、标题、描述、ATT&CK 技术、平台
- 为下游处理创建标准化记录
#### 2. 嵌入 (`src/embed.py`)
- **模型:** all-MiniLM-L6-v2 (本地,无 API 成本)
- **存储:** ChromaDB (持久化,本地)
- **过程:** 嵌入分析描述以进行语义搜索
#### 3. 检索 (`src/retrieve.py`)
- **查询处理:** 自然语言威胁狩猎查询
- **特异性评分:** 自适应 n_results(特定查询为 2,宽泛查询为 3)
- **过滤:** max_distance 阈值 (0.65) 以防止上下文渗透
- **上下文:** 返回 top-k 相关分析用于 RAG 增强
#### 4. 提示词设计 (`src/prompts.py`)
- **系统提示词:** 角色定义、质量标准、数据模型参考
- **任务提示词:** 5 个专用提示词(总结、映射、假设、查询、误报)
- **基础约束:** 基于模式的生成以防止幻觉
- **温度:** 0.2,用于确定性、可重复的输出
#### 5. 生成 (基于 Notebook)
- **模型:** claude-sonnet-4-6 (高能力)
- **方法:** 统一的 RAG + 基于模式的提示词(参见 `notebooks/03_prompt_evaluation.ipynb`)
- **批次大小:** 每次运行 10-15 个分析
- **验证:** 生成时进行 JSON 结构 + 战术验证
#### 6. 评估 (`src/evaluate.py`, `src/quantitative_metrics.py`)
- **MOQS:** 平均输出质量得分(按分析计算,1-3 级量表)
- **查询有效性:** Splunk/KQL 语法正确性
- **技术准确性:** 与 CAR 元数据的真实值对比
- **故障模式:** 跟踪了 5 种不同模式(字段幻觉、战术漂移、循环假设、过度自信、上下文渗透)
## 项目结构
```
threat-hunting-rag/
├── README.md # This file
├── STREAMLIT_README.md # UI setup & customization
├── ANALYST_FEEDBACK_GUIDE.md # How to review outputs
├── SIGMA_SCOPE.md # SIGMA rule considerations
├── config.yaml # Configuration file
├── requirements.txt # Python dependencies
│
├── streamlit_app.py # Interactive UI (Streamlit)
├── EDA_CAR_Corpus.ipynb # Exploratory data analysis reference
│
├── src/ # Core pipeline modules
│ ├── __init__.py
│ ├── config.py # Load config.yaml
│ ├── ingest.py # Load & normalize CAR analytics
│ ├── embed.py # Embedding & ChromaDB setup
│ ├── retrieve.py # RAG retrieval with filtering
│ ├── prompts.py # All 5 prompt templates
│ ├── evaluate.py # JSON validation
│ ├── query_validator.py # SIEM query syntax checking
│ ├── tactic_validator.py # ATT&CK technique-tactic validation
│ ├── confidence_monitor.py # Confidence tracking
│ ├── field_monitor.py # Field hallucination detection
│ ├── rag_monitor.py # Context bleed detection
│ ├── hypothesis_quality.py # Testability scoring
│ ├── failure_modes.py # Failure pattern detection
│ ├── test_data.py # Test cases
│ └── quantitative_metrics.py # MOQS & quality metrics
│
├── notebooks/ # Jupyter notebooks (for reference)
│ ├── 01_eda.ipynb # Exploratory data analysis (Phase 1)
│ ├── 02_rag_pipeline.ipynb # RAG pipeline setup (Phase 2)
│ └── 03_prompt_evaluation.ipynb # Prompt testing & generation (Phases 3-4)
│
├── data/ # Input data
│ └── car_analytics.json # MITRE CAR corpus (102 analytics)
│
├── chroma_db/ # Vector store (persistent)
│ └── [ChromaDB embedding index files]
│
├── outputs/ # Generated artifacts
│ ├── phase4_enhanced/ # FINAL AUTHORITATIVE OUTPUTS
│ │ ├── phase4_enhanced_outputs.json # Final outputs (6 CAR analytics)
│ │ ├── QUANTITATIVE_EVALUATION.json # Per-analytic quality scores
│ │ ├── failure_analysis.json # Failure mode tracking
│ │ └── medium_term_test_results.json # Test execution results
│ │
│ └── phase4_enhanced_with_validation/ # Validation metadata
│ ├── phase4_enhanced_with_validation.json
│ └── ANALYST_REVIEW_REQUIRED.md # Items flagged for review
│
└── .claude/ # Claude Code settings
└── settings.json
```
### 关键文件
| 文件 | 用途 | 语言 |
|------|---------|----------|
| `streamlit_app.py` | 用于探索输出的交互式 UI | Python |
| `src/retrieve.py` | 带有语义搜索的 RAG 检索 | Python |
| `src/prompts.py` | 5 个结构化提示词模板 | Python |
| `src/quantitative_metrics.py` | 质量评估(MOQS 评分) | Python |
| `notebooks/03_prompt_evaluation.ipynb` | 提示词设计与工件生成 | Jupyter |
| `outputs/phase4_enhanced/phase4_enhanced_outputs.json` | 主工件文件(6 个 CAR 分析) | JSON |
## 使用示例
### 启动交互式 UI(推荐)
```
# 启动 Streamlit 应用
streamlit run streamlit_app.py
# 打开 http://localhost:8501
# - 从下拉菜单中选择 CAR ID
# - 查看全部 5 个输出
# - 下载为 JSON
```
### 编程访问
```
import json
from pathlib import Path
# 加载预生成的输出
outputs_file = Path("outputs/phase4_enhanced/phase4_enhanced_outputs.json")
with open(outputs_file) as f:
artifacts = json.load(f)
# 访问特定的 CAR analytic
car_id = "CAR-2013-02-003"
artifact = artifacts[car_id]
# 提取组件
summary = artifact["summary_explanation"]["summary"]
techniques = artifact["attack_mapping"]["techniques"]
hypothesis = artifact["hunting_hypothesis"]["question"]
siem_query = artifact["siem_query"]["query"]
false_positives = artifact["false_positives"]["scenarios"]
print(f"CAR: {car_id}")
print(f"Summary: {summary[:100]}...")
print(f"Techniques: {[t['technique_id'] for t in techniques]}")
```
### 查询 RAG 流水线
```
from src.retrieve import retrieve
# 检索与威胁狩猎问题相关的 analytics
query = "PowerShell execution from unusual parent processes"
results = retrieve(
query=query,
n_results=3,
auto_n_results=True, # Adjust based on query specificity
max_distance=0.65 # Filter low-relevance results
)
for result in results:
print(f"ID: {result['id']}")
print(f"Distance: {result['distance']:.3f}")
print(f"Summary: {result['summary'][:100]}...")
```
### 生成新工件(高级)
```
# 运行完整生成 pipeline
# 注意:需要 ANTHROPIC_API_KEY
jupyter notebook notebooks/03_prompt_evaluation.ipynb
```
### 评估输出
```
# 运行定量评估
python -c "
from src.quantitative_metrics import QuantitativeEvaluator
import json
with open('outputs/phase4_enhanced/phase4_enhanced_outputs.json') as f:
outputs = json.load(f)
evaluator = QuantitativeEvaluator()
results = evaluator.evaluate_batch(outputs)
print(f'MOQS (Overall Quality): {results[\"summary\"][\"moqs\"]:.2f}/3.0')
print(f'Query Validity: {results[\"summary\"][\"query_validity\"]:.1%}')
"
```
## 输出格式
### JSON 结构
每个 CAR 分析生成一个包含 5 个部分的 JSON 对象:
```
{
"analytic_id": "CAR-2013-02-003",
"summary_explanation": {
"summary": "3-paragraph narrative: WHAT detected, WHY it matters, HOW attackers use it",
"reasoning": "Explanation of confidence assessment",
"confidence": "high|medium|low"
},
"attack_mapping": {
"techniques": [
{
"technique_id": "T1059",
"technique_name": "Command and Scripting Interpreter",
"subtechnique_id": null,
"subtechnique_name": null,
"tactics": ["TA0002"],
"tactic_names": ["Execution"],
"rationale": "Causal link between detection and technique",
"confidence": "high|medium|low"
}
]
},
"hunting_hypothesis": {
"question": "If [adversary action], then [observable] in [data source]?",
"rationale": "Explanation avoiding circularity",
"testable": true,
"confidence": "high|medium|low"
},
"siem_query": {
"platform": "splunk|kql|not_applicable",
"query": "index=... | where ... | stats ...",
"data_model_fields_used": ["process/create/exe", "process/create/parent_exe"],
"caveats": "Field mapping notes and environment-specific adjustments",
"confidence": "high|medium|low",
"validation_issues": ["Any syntax problems detected"]
},
"false_positives": {
"scenarios": [
"Scenario 1: Detailed realistic false positive case",
"Scenario 2: Another common benign trigger"
],
"risk_level": "high|medium|low",
"explanation": "Why these scenarios occur and their impact",
"confidence": "high|medium|low",
"triage_filters": [
"field NOT IN (value1, value2)",
"event_time NOT BETWEEN 02:00 AND 04:00"
]
}
}
```
### 置信度水平
| 级别 | 含义 |
|-------|---------|
| **high** | 清晰、基于证据、有充分的源材料支持 |
| **medium** | 合理的推断,存在一些歧义或缺少上下文 |
| **low** | 不确定、推测性或源数据不足 |
### 输出示例
```
{
"analytic_id": "CAR-2013-02-003",
"summary_explanation": {
"summary": "This analytic detects when cmd.exe is spawned by an unusual parent...",
"reasoning": "The detection is well-grounded in the process/create data model...",
"confidence": "high"
},
"attack_mapping": {
"techniques": [
{
"technique_id": "T1059",
"technique_name": "Command and Scripting Interpreter",
"tactics": ["TA0002"],
"tactic_names": ["Execution"],
"rationale": "The analytic detects cmd.exe spawned by compromised apps...",
"confidence": "high"
}
]
},
"hunting_hypothesis": {
"question": "If attacker exploits malicious document, what unusual parent spawns cmd.exe?",
"rationale": "Grounded in adversary action, not just detection trigger...",
"testable": true,
"confidence": "high"
},
"siem_query": {
"platform": "splunk",
"query": "index=* | search exe=\"cmd.exe\" | where NOT parent_exe IN (...)",
"data_model_fields_used": ["process/create/exe", "process/create/parent_exe"],
"caveats": "Field names vary by Splunk configuration and CIM mapping...",
"confidence": "medium"
},
"false_positives": {
"scenarios": [
"Admin tools like SCCM spawn cmd.exe for scripts",
"Scheduled tasks invoke cmd.exe at logon"
],
"risk_level": "medium",
"explanation": "Risk is medium because IT tools are common but distinguishable...",
"confidence": "high",
"triage_filters": ["parent_exe NOT IN (BESClient.exe, CcmExec.exe)"]
}
}
```
## 配置
编辑 `config.yaml` 以进行自定义:
```
model:
generation: "claude-sonnet-4-6" # High capability
eval_model: "claude-haiku-4-5-20251001" # Cost-efficient eval
temperature: 0.2 # Deterministic output
retrieval:
embedding_model: "all-MiniLM-L6-v2" # Local, no cost
n_results: 3 # Default top-k
max_distance: 0.65 # Filter weak matches
validation:
require_triage_filters: true
require_confidence: true
syntax_check: true
tactic_validation: true
```
### 模型选择
| 模型 | 用例 | 成本 | 延迟 |
|-------|----------|------|---------|
| **Sonnet 4-6** | 生成(生产环境) | $$ | 中等 |
| **Haiku 4.5** | 评估(开发环境) | $ | 快 |
| **all-MiniLM-L6-v2** | 嵌入(本地) | 免费 | 快 |
### 温度设置
- **生产环境 (0.2):** 稳定、确定性、可重复的输出
- **开发环境 (1.0):** 多样化探索,提示词测试
- **评估环境 (0.0):** 可重复评分
## 评估结果
### 摘要指标(6 个 CAR 分析)
| 指标 | 得分 | 等级 |
|--------|-------|-------|
| **MOQS (整体质量)** | 2.54/3.0 | B+ |
| **攻击映射** | 3.0/3.0 | A (完美) |
| **狩猎假设** | 2.90/3.0 | A (优秀) |
| **误报** | 2.80/3.0 | A (良好) |
| **总结解释** | 2.60/3.0 | B+ (良好) |
| **SIEM 查询** | 1.40/3.0 | D (需要审查) |
**综合得分:** 82/100(等级 B)- 生产就绪
### 部署建议
| 类别 | 状态 | 建议 |
|----------|--------|-----------------|
| **攻击映射** | ✅ 优秀 | 立即部署 |
| **狩猎假设** | ✅ 优秀 | 立即部署 |
| **误报** | ✅ 良好 | 立即部署 |
| **总结解释** | ✅ 良好 | 审查后部署 |
| **SIEM 查询** | ⚠️ 需要审查 | 需人工验证 |
### 故障模式(已识别并跟踪 5 种)
| 模式 | 发生次数 | 状态 | 缓解措施 |
|------|-------------|--------|-----------|
| **字段幻觉** | 0/10 | ✅ 已防止 | 基于模式的约束 |
| **战术漂移** | 2/10 | ⚠️ 已记录 | 已启用验证器 |
| **循环假设** | 0/10 | ✅ 已防止 | 格式约束 |
| **过度自信** | 0/10 | ✅ 已防止 | 不确定性边界设定 |
| **上下文渗透** | 0/10 | ✅ 已防止 | 距离过滤 |
### 质量评分详情
**MOQS 计算**(平均输出质量得分):
- 评估器对 5 个输出中的每一个进行 1-3 分评分
- 标准:正确性、有用性、一致性
- 对每个分析的所有输出进行平均
- 最终得分为所有分析的平均值
**故障模式检测**:
- 自动化验证器(field_monitor、tactic_validator 等)
- 在生成流水线中跟踪模式
- 在第 5 阶段评估中识别出 5 种不同的模式
- 已找出根本原因并加以缓解
## 已知局限性及解决方法
### SIEM 查询生成(关键)
**问题:** SIEM 查询生成的失败率为 60%。查询可能存在语法错误或使用了不存在的字段。
**严重性:** 🔴 高
**影响:**
- KQL 生成的可靠性低于 Splunk SPL
- 字段名称因环境和 CIM 配置而异
- 查询在部署前需人工验证
**解决方法:**
```
from src.query_validator import validate_siem_query
# 使用前验证
is_valid, issues = validate_siem_query(query)
if not is_valid:
print(f"Issues: {issues}")
# Manual review and correction needed
```
**建议:** 部署 SIEM 查询时应由分析师审查。将 LLM 的输出视为起点,而不是最终查询。
### 战术漂移(次要)
**问题:** 2/6 的分析具有非标准的 ATT&CK 战术映射。
**严重性:** 🟡 中
**解决方法:** 自动化的 tactic_validator 会检测并标记。请使用 `tactic_validation` 输出字段。
### 子技术覆盖范围(次要)
**问题:** 子技术映射准确率约为 33%(存在许多主技术,但子技术较少)。
**严重性:** 🟡 低
**解决方法:** 重点关注主技术 ID(例如:T1059),子技术为可选项。
### 字段名称映射(环境相关)
**问题:** CAR 数据模型的字段名称因 Splunk/KQL 实现而异。
**严重性:** 🟢 低
**解决方法** 每个 SIEM 查询中的注意事项部分记录了预期的映射。请根据环境进行调整。
## 部署清单
### 预生产环境
- [x] 代码已审查并编写文档
- [x] 已生成并验证输出(6 个 CAR 分析)
- [x] 已计算质量指标(MOQS: 2.54/3.0)
- [x] 已识别并跟踪故障模式
- [x] Streamlit UI 已测试
- [x] JSON 结构已验证
- [ ] 与 SIEM 的集成测试(可选)
### 生产环境(活动)
- [x] 工件可通过 JSON 和 Streamlit UI 访问
- [ ] 监控使用模式
- [ ] 每周 MOQS 趋势分析(可选)
- [ ] 收集分析师反馈
- [ ] 季度故障模式审查
## 故障排除
### “未找到输出”错误
```
# 检查 JSON 文件是否存在且可读
import json
from pathlib import Path
outputs_file = Path("outputs/phase4_enhanced/phase4_enhanced_outputs.json")
if outputs_file.exists():
with open(outputs_file) as f:
data = json.load(f)
print(f"Loaded {len(data)} CAR analytics")
else:
print(f"File not found: {outputs_file}")
```
### Streamlit 端口冲突
```
# 在其他端口运行
streamlit run streamlit_app.py --server.port 8502
```
### ChromaDB 持久化问题
```
# 重置并重建 embeddings
rm -rf chroma_db/
python -c "from src.embed import get_collection; get_collection()"
```
## 贡献
### 如何贡献
1. **报告问题:** 提交一个 issue,描述问题及可重现的步骤
2. **提出改进建议:** 关于提示词改进、新指标或 UI 功能的想法
3. **提交修复:** 提交用于修复错误或增强功能的 Pull Request
4. **扩大覆盖范围:** 将更多 CAR 分析添加到评估集中
### 开发环境设置
```
# 克隆并设置
git clone https://github.com/yourusername/threat-hunting-rag.git
cd threat-hunting-rag
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 运行测试
python -m pytest tests/ -v
# 进行修改并创建 PR
git checkout -b feature/your-feature
# ... 进行修改 ...
git commit -m "Add your feature"
git push origin feature/your-feature
```
### 代码风格
- Python: PEP 8(使用 `black` 进行格式化)
- 文档字符串:所有函数均需提供
- 注释:解释“为什么”,而不是“是什么”
## 参考资料
### MITRE ATT&CK & CAR
- [MITRE CAR 仓库](https://github.com/mitre-attack/car)
- [MITRE ATT&CK 框架](https://attack.mitre.org)
- [CAR 数据模型](https://car.mitre.org/data_model/)
### LLM & RAG
- [Anthropic Claude API](https://docs.anthropic.com)
- [RAG (检索增强生成)](https://arxiv.org/abs/2005.11401)
- [LangChain 文档](https://python.langchain.com)
### 威胁狩猎
- [SIGMA 规则](https://github.com/SigmaHQ/sigma)
- [Splunk 查询语言 (SPL)](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference)
- [KQL (Kusto 查询语言)](https://learn.microsoft.com/en-us/kusto/query/)
### 相关工作
- [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team)
- [Elastic 检测规则](https://github.com/elastic/detection-rules)
## 文档
更多文档请参见:
- **`ANALYST_FEEDBACK_GUIDE.md`** - 如何审查和评估输出
- **`STREAMLIT_README.md`** - UI 设置和自定义
- **`SIGMA_SCOPE.md`** - 关于 SIGMA 规则考虑事项的说明
- **`PHASE5_IMPLEMENTATION_SUMMARY.md`** - 第 5 阶段实现细节
## 许可证
本项目采用 MIT 许可证授权 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 状态与路线图
**当前状态:** ✅ 生产就绪(第 5 阶段已完成)
**最后更新:** 2026-04-30
**等级:** B (82/100)
### 路线图
| 阶段 | 状态 | 目标日期 |
|-------|--------|--------|
| 第 1 阶段:EDA | ✅ 已完成 | 2026-04-23 |
| 第 2 阶段:RAG 流水线 | ✅ 已完成 | 2026-04-25 |
| 第 3 阶段:提示词设计 | ✅ 已完成 | 2026-04-26 |
| 第 4 阶段:查询生成 | ✅ 已完成 | 2026-04-29 |
| 第 5 阶段:评估与报告 | ✅ 已完成 | 2026-04-30 |
| **未来:SIEM 查询改进** | 🔄 已规划 | 2026 年第 3 季度 |
| **未来:实时生成 API** | 🔄 已规划 | 2026 年第 3 季度 |
| **未来:社区模型微调** | 🔄 已规划 | 2026 年第 4 季度 |
## 支持与联系
- **有问题?** 在 GitHub 上提交一个 issue
- **Bug 报告?** 请附上错误信息、Python 版本、操作系统
- **功能需求?** 请描述用例和预期行为
- **学术问题?** 请参阅上方参考资料部分
**祝您威胁狩猎愉快! 🔍**
标签:AI安全, Anthropic, ATT&CK映射, Chat Copilot, CIS基准, Claude, Cloudflare, CVE检测, Cyber Analytics Repository, DLL 劫持, IP 地址批量处理, KQL, Kubernetes, Kusto查询语言, LLM, MITRE ATT&CK, MITRE CAR, Python, RAG, Streamlit, TCP SYN 扫描, Unmanaged PE, URL发现, Web UI, 人工智能安全, 假阳性分析, 合规性, 大语言模型, 威胁情报, 安全检测, 安全运营, 开发者工具, 扫描框架, 无后门, 无线安全, 检索增强生成, 网络安全, 访问控制, 逆向工具, 速率限制处理, 隐私保护