anpa1200/adversarygraph
GitHub: anpa1200/adversarygraph
一款结合大语言模型的自托管威胁情报分析平台,用于将威胁报告映射至 MITRE ATT&CK 并进行 APT 对比与检测差距分析。
Stars: 19 | Forks: 2
# AdversaryGraph

**自托管的、AI 辅助的 CTI 到检测的工作台,用于 ATT&CK 映射、Evidence-to-Detection Graph 推理、IOC 丰富、CVE 库关联、恶意软件分析分类、资产攻击面审查、攻击模拟和 SIEM 验证。**
[](https://github.com/anpa1200/adversarygraph/actions/workflows/ci.yml)
[](VERSION)
[](SECURITY.md)
[](ROADMAP.md)
[](LICENSE)
当前版本:**v5.7.0**。此版本添加了报告/研究收集工作流,具有关联报告审查、源文本保留、确定性标签以及一个研究上传控件,该控件既可以存储研究,也可以使用 AI 对其进行解析。请参阅[版本矩阵](docs/version-matrix.md)、[v5.7 发布说明](docs/release-notes/v5.7.0.md)、[研究分析指南](docs/research-analysis-guide.md)以及[已发布的 v5 文章](https://medium.com/@1200km/adversarygraph-v5-0-from-cti-mapping-to-attack-simulation-and-siem-validation-21873b2a6c39)。
## 功能简介
AdversaryGraph 帮助分析人员将威胁报告、IOC 证据、CVE 漏洞背景、恶意软件分析线索、资产清单和验证遥测数据转化为经过审查的 ATT&CK/ATLAS 映射和检测工程工作项。
核心功能:
- AI 辅助的报告提取,支持文本、PDF、DOCX 和 TXT。
- ATT&CK/ATLAS Navigator,具有参与者、活动、部门和比较叠加功能。
- IOC 库、IOC 调查枢纽、VirusTotal 查询和 feed 管理。
- CVE 库支持 NVD 和 CISA KEV 同步、CVSS 评分/CWE/CPE 存储,以及严格的 APT-TTP-IOC-CVE 关联。
- 从 CMDB、扫描器、云、CSV、JSON 和主机名/IP 清单进行资产攻击面映射。
- 恶意软件分析工作流由隔离的 MalwareGraph 服务提供支持,用于静态分类、字符串、脱壳/去混淆支持、调试器风格的审查和 AI 摘要。
- 攻击模拟用于 TTP 优先的实验室场景、真实的被攻击服务器遥测、SIEM 转发、连贯的 AI 辅助 kill-chain 演练和攻击链图审查。
- Evidence-to-Detection Graph 用于保留从证据到声明、行为、ATT&CK、所需遥测、候选检测、规则、验证场景、SIEM 结果和分析人员决策的完整推理链。
- 可观测性仪表板包含 API 请求指标、最近 traces、脱敏的 log tails、兼容 Prometheus 的指标以及健康/自检视图。
- 运营、Pipeline、检测积压、调查报告、导出和 API 工作流。
## 它不是什么
AdversaryGraph 不是受管的 SaaS,不是多租户安全平台,也不能替代分析人员的验证。LLM 映射、生成的检测、参与者相似性、恶意软件分析发现和合成 SIEM 遥测都是分析人员辅助输出。
攻击模拟有两种不同的遥测模式:
- **真实实验室遥测:** 由批准的 Docker 实验室装置(例如 `attack-lab-web` 和 `attack-lab-endpoint`)产生。
- **合成 AI 遥测:** 为 SIEM 解析器/规则练习而生成的源形状事件。这验证了字段处理和关联逻辑,而不是真实的漏洞利用行为。
请参阅[验证与局限性](docs/validation-and-limitations.md)、[攻击模拟](docs/attack-simulation.md)和 [SIEM 转发安全](docs/attack-simulation-siem-forwarding-security.md)。
## Evidence-to-Detection Graph
AdversaryGraph 保留了从原始证据到已验证检测结果的完整推理链:
```
Evidence -> Claim -> Behavior -> ATT&CK Technique -> Required Telemetry
-> Detection Candidate -> Detection Rule -> Validation Scenario
-> SIEM Result -> Analyst Decision
```
这有助于分析人员了解哪些是已被证明的、哪些是推断的、需要什么遥测、存在哪些检测、哪些已被验证以及哪些仍需审查。AI 生成的图节点和边在分析人员审查之前均为草稿。
请参阅 [docs/evidence-to-detection-graph.md](docs/evidence-to-detection-graph.md)。
## 快速开始
```
git clone https://github.com/anpa1200/adversarygraph.git
cd adversarygraph
cp .env.example .env
```
编辑 `.env` 并设置强大的本地密钥。添加至少一个 LLM 提供商密钥,或配置本地兼容 OpenAI 的 endpoint。
```
docker compose up -d --build
./scripts/selftest.sh
```
打开:
- Frontend: `http://localhost:3000`
- API 健康状态: `http://localhost:3000/api/health`
- API 文档: `http://localhost:3000/docs`
默认的 Compose 部署将公共 UI 和参考文档绑定到 localhost,并将 API、Redis、恶意软件分析服务和实验室装置保留在内部 Compose 网络上。
本地配置存储在 `.env` 中;默认的持久化数据库是 `${ADVERSARYGRAPH_DB_DIR:-./data/postgres}`。在删除数据目录或 Docker volumes 之前,请参阅[本地存储和权限](docs/local-storage-and-permissions.md)。
## 文档
| 需求 | 链接 |
|---|---|
| 商业信任包 | [商业信任](https://1200km.com/adversarygraph-docs/commercial-trust/) |
| 架构图 | [架构图](https://1200km.com/adversarygraph-docs/architecture/) |
| 案例研究和验证示例 | [案例研究和验证示例](https://1200km.com/adversarygraph-docs/case-studies-validation/) |
| 比较页面 | [比较概览](https://1200km.com/adversarygraph-docs/comparisons/overview/) |
| 审查者指南 | [docs/reviewer-guide.md](docs/reviewer-guide.md) |
| 版本历史 | [docs/version-matrix.md](docs/version-matrix.md) |
| ATT&CK/STIX 数据模型 | [docs/attack-data-model.md](docs/attack-data-model.md) |
| CVE 库 | [docs/cve-cvss-intelligence.md](docs/cve-cvss-intelligence.md) |
| Evidence-to-Detection Graph | [docs/evidence-to-detection-graph.md](docs/evidence-to-detection-graph.md) |
| 安全策略 | [SECURITY.md](SECURITY.md) |
| 安全威胁模型 | [docs/security-threat-model.md](docs/security-threat-model.md) |
| 生产就绪情况 | [docs/production-readiness.md](docs/production-readiness.md) |
| 本地存储和权限 | [docs/local-storage-and-permissions.md](docs/local-storage-and-permissions.md) |
| 加固的 Docker Compose 配置 | [docker-compose.prod.yml](docker-compose.prod.yml) |
| Kubernetes Helm chart | [helm/adversarygraph/README.md](helm/adversarygraph/README.md) |
| 部署规模设定 | [docs/deployment-sizing.md](docs/deployment-sizing.md) |
| 备份和恢复 | [docs/backup-restore.md](docs/backup-restore.md) |
| 升级指南 | [docs/upgrade-guide.md](docs/upgrade-guide.md) |
| 验证和局限性 | [docs/validation-and-limitations.md](docs/validation-and-limitations.md) |
| 公共演示隐私 | [docs/public-demo-privacy.md](docs/public-demo-privacy.md) |
| 平台指南 | [docs/adversarygraph-platform-guide.md](docs/adversarygraph-platform-guide.md) |
| 用户指南 | [docs/user-guide.md](docs/user-guide.md) |
| 研究分析指南 | [docs/research-analysis-guide.md](docs/research-analysis-guide.md) |
| 管理员指南 | [docs/admin-guide.md](docs/admin-guide.md) |
| 身份验证和用户管理 | [docs/authentication-and-users.md](docs/authentication-and-users.md) |
| 可观测性和安全验证 | [docs/observability-security-validation.md](docs/observability-security-validation.md) |
| 攻击模拟 | [docs/attack-simulation.md](docs/attack-simulation.md) |
| SIEM 转发安全 | [docs/attack-simulation-siem-forwarding-security.md](docs/attack-simulation-siem-forwarding-security.md) |
| 资产攻击面映射 | [docs/asset-attack-surface.md](docs/asset-attack-surface.md) |
| 恶意软件分析指南 | [docs/malware-analysis-guide.md](docs/malware-analysis-guide.md) |
| 恶意软件分析边界 | [docs/malware-analysis-boundary.md](docs/malware-analysis-boundary.md) |
| 演示数据集 | [demo/README.md](demo/README.md) |
| Issue 分类 | [docs/issue-triage.md](docs/issue-triage.md) |
官方公共页面:
- 项目主页:
- 文档:
- 实时情报工作区:
- Medium 归档:
## 架构
```
React frontend
-> FastAPI API
-> PostgreSQL for stored analyses, cases, feeds, CVEs, mappings, and operations
-> Redis/Celery for background sync, feed collection, and RetroHunt jobs
-> LLM providers selected by the operator
-> MalwareGraph service for isolated malware-analysis workflows
-> Attack lab fixtures for authorized simulation telemetry
```
主平台存储结构化的 CTI 和工作流数据。恶意软件样本由 MalwareGraph 边界处理。攻击模拟实验室目标是独立的 fixture 容器,因此遥测数据来自正在被测试的目标类别。
## 安全边界
- 不要将机密数据上传到公共演示。
- 不要将默认的 Compose stack 直接暴露在互联网上。
- 对于受控的生产部署,请使用 TLS、身份验证、受限网络、备份、监控和密钥轮换。
- 原生的用户名/密码登录、基于角色的访问、用户管理和受信任的反向代理身份验证记录在[身份验证和用户管理](docs/authentication-and-users.md)中。
- 在审查之前,将 LLM 输出和生成的检测视为不受信任的。
- 仅将批准的实验室目标用于攻击模拟。
- 仅在一次性隔离配置文件中保留恶意软件 runtime 执行。
## 验证
本地验证命令:
```
./scripts/check-version-consistency.sh
docker compose config --quiet
docker compose -f docker-compose.yml -f docker-compose.dev.yml config --quiet
cd backend && PYTHONPATH=. DB_PASS=ci_test_password LOG_DIR=/tmp/adversarygraph-test-logs python -m pytest
cd frontend && npm ci && npm run build && npm audit --audit-level=high
make security-scan
```
CI 运行后端测试、后端 lint、后端 SAST、后端依赖审计、前端构建、前端依赖审计、Docker Compose 验证、Docker 镜像构建、容器扫描、密钥扫描和版本一致性检查。
## 许可证
个人使用许可证。请参阅 [LICENSE](LICENSE)。
标签:ATT&CK, D3.js, 人工智能, 后端开发, 威胁情报, 安全分析, 安全运营, 开发者工具, 扫描框架, 用户模式Hook绕过, 网络威胁情报