anpa1200/malwaregraph
GitHub: anpa1200/malwaregraph
一个安全的恶意软件静态分析服务,将样本中的 IOC、行为和 ATT&CK 线索提取为图原生情报,支持独立部署或作为 AdversaryGraph 模块集成。
Stars: 0 | Forks: 0
# MalwareGraph
为 AdversaryGraph 提供安全的、原生图数据的恶意软件分析。
MalwareGraph 是一个隔离的恶意软件分析服务,可以作为独立的 Docker Compose 工具运行,也可以作为完全集成的 AdversaryGraph 模块运行。
其主要输出是可点击的、适用于图数据的情报:哈希、IP、域名、URL、文件路径、注册表项、互斥锁、字符串、行为、ATT&CK 技术候选、检测、证据和相似性线索。
## 当前状态
本代码库从一个安全的静态分析 MVP 起步:
- 受密码保护的 ZIP 输入;
- 解压前的归档安全检查;
- 不执行样本;
- SHA-256/SHA-1/MD5 哈希计算;
- 可打印字符串提取;
- 针对IP、域名、URL、电子邮件、注册表路径和 Windows 路径的 IOC 提取;
- 适用于图数据的 `analysis.json`;
- FastAPI 端点;
- 持久化的本地任务索引;
- 多文件捆绑图生成;
- CLI 分析模式;
- Docker Compose 部署;
- AdversaryGraph 集成契约。
动态执行、调试和内存解包被刻意排除在首个构建版本之外,并且只能通过一次性的 VM 或 microVM 沙箱配置来实现。
## 安全基线
MalwareGraph 在默认配置下不会执行样本。
要求的运行规则:
- 不要挂载 Docker socket。
- 不要挂载包含敏感数据的宿主机目录。
- 默认情况下,保持分析 worker 的网络隔离。
- 将每个上传的归档文件、提取的文件和 artifact 都视为恶意的。
- 默认情况下,向外部来源提交哈希值和提取的 IOC,而不是二进制文件。
- 对于未来的任何动态分析,使用一次性沙箱边界。
## 快速开始
```
cp .env.example .env
docker compose up -d --build
```
打开:
- API 健康状态: http://localhost:8100/api/health
- API 文档: http://localhost:8100/docs
分析受密码保护的 ZIP:
```
curl -F "file=@sample.zip" \
-F "password=infected" \
http://localhost:8100/api/v1/analyses
```
对于团队部署,请在 `.env` 中设置 `MALWAREGRAPH_API_KEY`,并在所有 `/api/v1/*` 请求中发送 `X-API-Key`。
CLI 模式:
```
python -m malwaregraph.cli analyze sample.zip --password infected --output reports
```
## AdversaryGraph 集成
MalwareGraph 旨在作为原生仪表板嵌入到 AdversaryGraph 中。该服务返回稳定的图实体和关系,以便 AdversaryGraph 可以将每次提取的内容呈现为可点击的数据:
- hashes -> IOC/hash 详情与富化;
- IPs/domains/URLs -> IOC 情报;
- ATT&CK 候选 -> Navigator 与映射审查;
- behaviors -> 证据与 artifact 视图;
- detections -> Detection Studio;
- family/actor 线索 -> Compare Groups 与归因审查。
参见 [docs/adversarygraph-integration.md](docs/adversarygraph-integration.md)。
## API
| 方法 | 路径 | 用途 |
|---|---|---|
| `GET` | `/api/health` | 服务健康状态 |
| `POST` | `/api/v1/analyses` | 上传 ZIP 并运行安全的静态分析 |
| `GET` | `/api/v1/analyses` | 列出已持久化的分析任务 |
| `GET` | `/api/v1/analyses/{job_id}` | 返回 `analysis.json` |
| `POST` | `/api/v1/maintenance/purge-retention` | 删除早于保留策略的任务/artifact |
## 生产配置
当前支持生产的配置是安全的静态分析。在实现并审查一次性 VM/microVM 沙箱之前,动态执行、调试和引爆仍被禁止。
参见 [docs/production-runbook.md](docs/production-runbook.md)。
## 项目布局
```
malwaregraph/
api/ FastAPI routes
core/ Settings, safety limits, models
services/ Archive, static, IOC, graph result builders
schemas/ JSON schema for AdversaryGraph result import
workers/ Worker orchestration
docs/ Architecture and integration docs
tests/ Inert static-analysis tests
```
## 许可证
除非获得单独许可,否则仅供个人使用。
标签:AV绕过, DAST, DNS 反向解析, Docker, FastAPI, IOC提取, 云安全监控, 威胁情报, 安全防御评估, 开发者工具, 恶意软件分析, 版权保护, 网络信息收集, 请求拦截, 逆向工具, 配置审计, 静态分析