richet311/cti-tracker
GitHub: richet311/cti-tracker
一个本地化的网络威胁情报平台,帮助安全分析师收集和富化 IOC、将攻击行为映射到 MITRE ATT&CK 框架、追踪攻击活动并生成 Markdown 情报报告。
Stars: 0 | Forks: 0
# CTI Tracker
CTI Tracker 是一个本地网络威胁情报工作区,用于收集失陷指标,利用公开威胁情报源进行富化,将活动映射到 MITRE ATT&CK,追踪攻击活动,并生成 Markdown 情报报告。
## 功能
- 从 MalwareBazaar 收集最新的恶意软件哈希,从 URLhaus 收集恶意 URL。
- 从命令行分析哈希、IP 地址、域名和 URL。
- 搜索 MITRE ATT&CK 技术并将 TTP 关联到攻击活动。
- 将 IOC、攻击活动、TTP 链接和报告存储在本地 SQLite 数据库中。
- 生成战术和快讯式 Markdown 报告。
- 运行 FastAPI 后端和 Next.js 仪表板以实现可视化工作流。
## 项目结构
```
cti-tracker/
analyzers/ IOC enrichment and campaign suggestion logic
api/ FastAPI backend and WebSocket collection endpoint
collectors/ MalwareBazaar, URLhaus, and MITRE ATT&CK collectors
database/ SQLite schema and CRUD operations
frontend/ Next.js dashboard
reporters/ Markdown report generation
data/ Local SQLite database and ATT&CK cache
reports/ Generated intelligence reports
main.py CLI entry point
```
## 环境要求
- Python 3.10+
- 用于仪表板的 Node.js 18+
- 需要互联网访问以进行实时情报源收集和首次 MITRE ATT&CK 缓存下载
## 安装说明
创建虚拟环境并安装 Python 依赖:
```
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
```
安装前端依赖:
```
cd frontend
npm install
```
## CLI 用法
在项目根目录下运行命令。
从 MalwareBazaar 和 URLhaus 收集最新的 IOC:
```
python main.py collect --limit 20
```
分析单个 IOC:
```
python main.py analyze 44d88612fea8a8f36de82e1278abb02f
```
创建攻击活动并关联一个 IOC:
```
python main.py campaign create "Operation NightShift" --actor "APT28" --motivation espionage
python main.py campaign add-ioc 1 44d88612fea8a8f36de82e1278abb02f
```
搜索 MITRE ATT&CK 并添加技术:
```
python main.py ttp search powershell
python main.py campaign add-ttp 1 T1059.001 --notes "PowerShell execution"
```
生成 Markdown 报告:
```
python main.py report generate 1 --tlp TLP:WHITE
```
查看数据库统计总数:
```
python main.py stats
```
## 仪表板用法
在项目根目录下启动 FastAPI 后端:
```
uvicorn api.main:app --reload --host 0.0.0.0 --port 8000
```
在第二个终端中,启动 Next.js 仪表板:
```
cd frontend
npm run dev
```
在以下地址打开仪表板:
```
http://localhost:3000
```
前端默认连接位于 `http://localhost:8000` 的 API。
## 数据与报告
- `data/cti_tracker.db` 存储本地 SQLite 数据库。
- `data/mitre_attack_cache.json` 存储下载的 MITRE ATT&CK STIX 缓存。
- `reports/` 存储生成的 Markdown 情报报告。
这些文件均为本地工作数据。如果您要发布该项目,请考虑是否需要提交示例数据,或将生成的数据排除在版本控制之外。
## 可选 API 密钥
基本的收集命令会尽可能使用公开的 CSV 情报源。某些直接查询功能需要免费的 abuse.ch API 密钥:
```
set BAZAAR_API_KEY=your_key_here
set URLHAUS_API_KEY=your_key_here
```
PowerShell 用户可以使用以下命令为当前会话进行设置:
```
$env:BAZAAR_API_KEY = "your_key_here"
$env:URLHAUS_API_KEY = "your_key_here"
```
## 许可证
本项目基于 MIT License 授权。详情请参阅 `LICENSE`。
来自 MITRE ATT&CK、MalwareBazaar 和 URLhaus 的威胁情报数据仍受各来源自身条款和使用政策的约束。
## 建议的 GitHub 描述
本地网络威胁情报平台,用于收集 IOC,将活动映射到 MITRE ATT&CK,追踪攻击活动,并生成 Markdown 报告。
标签:AV绕过, Cloudflare, FastAPI, MITM代理, MITRE ATT&CK, 威胁情报, 安全运营, 开发者工具, 扫描框架, 自动化攻击, 逆向工具