ladder887/threat-intel-platform
GitHub: ladder887/threat-intel-platform
基于MCP的集成化威胁情报平台,用于自动化分析暗网和加密货币数据。
Stars: 0 | Forks: 0
# 基于MCP的加密货币与暗网集成分析系统
研究课题产出物。模块化MCP服务器 + LLM网关 + React分析控制台。
## 架构
```
[browser]
│
▼
host_ui (React + nginx, :8080)
│ /api/* 프록시
▼
backend (FastAPI 게이트웨이, :8000)
├─ /api/chat → Anthropic / OpenAI API
└─ /api/mcp//... → 각 모듈 컨테이너로 라우팅
│
├─ darkweb-crawler (:8001)
│ └─ tor (:9050,9051)
│ MongoDB (외부, DARKWEB DB)
│
├─ chain-tracker (:8002)
│ MongoDB (외부, bitcoin_* DB)
│
├─ intel-graph (:8003)
│ darkweb · bitcoin · dprk 융합
│
└─ onchain-intel (:8004)
#### MongoDB (外部, arkham_onchain DB)
## 文件夹结构
```
M/
├── README.md
├── docker-compose.yml # 完整技术栈
│
├── host_ui/ # React分析控制台
│ ├── src/modules/ # ★ 模块注册表(扩展点)
│ │ ├── registry.ts
│ │ ├── chat/ # LLM自由对话
│ │ ├── darkweb/ # 暗网分析(过滤·检查器)
│ │ ├── candidates/ # 朝鲜候选模块
│ │ ├── longrun/ # 长期自动分析(N小时)
│ │ ├── chain/ # chain-tracker可视化
│ │ ├── intelgraph/ # 综合监控图
│ │ ├── onchainintel/ # Arkham式实体流分析
│ │ └── _template/ # 新模块起步模板
│ ├── Dockerfile
│ └── nginx.conf
│
├── backend/ # LLM + MCP路由网关
│ ├── main.py
│ ├── pyproject.toml
│ └── Dockerfile
│
└── darkweb_crawler/ # ★ 首个MCP模块
├── service.py # FastAPI封装器(复用现有CLI)
├── collect_urls.py # 现有爬虫逻辑(直接导入)
├── AhmiaHandler.py / TorchHandler.py / MongoDBHandler.py
├── crypto_address_extractor.py
├── pyproject.toml + uv.lock # ← 在Docker环境中同样直接使用
#### └── Dockerfile
## 快速开始
```
# 1) 准备环境变量文件
cp backend/.env.example backend/.env
cp darkweb_crawler/.env.example darkweb_crawler/.env
# (如需要) 填入 Anthropic API 密钥和 MongoDB 连接信息
# 2) 构建并启动完整技术栈
docker compose up -d --build
# 3) 访问用户界面
#### 打开 http://localhost:8080
## uv 与 Docker 的关系
도커 환경이라고 해서 `uv.lock` / `pyproject.toml` 이 불필요한 것이 아닙니다.
```dockerfile
# darkweb_crawler/Dockerfile 的核心两行
COPY pyproject.toml uv.lock ./
#### RUN uv sync --frozen --no-dev --no-install-project
- 도커는 **OS 레벨 격리**만 제공
- 그 안에서 Python 패키지를 실제로 설치하는 도구가 **uv** (또는 pip)
- `uv.lock` 이 있어야 빌드마다 **동일한 의존성 버전** 보장 (재현성 = 폐쇄망 납품의 필수 조건)
## 添加新模块的工作流程
1. **백엔드 모듈** (Python)
```
/
├── service.py # FastAPI: POST /tools/
├── pyproject.toml
├── uv.lock
├── Dockerfile
└── .env.example
```
2. **docker-compose.yml** 에 서비스 추가
```yaml
:
build: ./
networks: [mcp]
```
3. 在 **backend/main.py** 的 `MCP_SERVERS` 字典中注册
MCP_SERVERS = {
"darkweb-crawler": "http://darkweb-crawler:8000",
"": "http://:8000", # ← 添加
}
4. 在 **host_ui/src/modules//** 中添加
- 直接复制整个 `_template` 文件夹
- 修改 `index.ts` 中的 id/name/icon/View
- 在 `View.tsx` 中调用 `ctx.callTool("", "", args)`
- 添加到 `host_ui/src/modules/registry.ts` 数组中
从下次构建开始,新模块将自动加入侧边栏、网关和Docker技术栈。
## darkweb_crawler 的变更
由于原有 `collect_urls.py` 的交互式CLI无法在容器后使用,
我们添加了 `service.py` 文件,它将相同的函数直接导入并作为HTTP工具暴露。
| 原有CLI | 新HTTP工具 |
| ------------------------------------ | ---------------------------------------------- |
| `prompt_engine_choice()` + 关键词输入 | `POST /tools/crawl_keyword` |
| MongoDB集合直接查询 | `POST /tools/list_recent_posts` |
| (无) | `POST /tools/search_by_address` |
| (无) | `POST /tools/list_keyword_stats` |
原有代码未作修改,因此CLI仍可正常运行。
## 产出文档
- `research_brief.md` — 研究策划资料
- `MCP_research_proposal_deck.pptx` — 21页提案PPT
- `docker_intro_deck.pptx` — 21页Docker入门资料
- `research_project.pdf` — 委托课题原文
标签:API网关, BSD, Docker容器化, FastAPI后端, LLM集成, MCP协议, MongoDB数据库, React前端, Tor网络, 人工智能, 内存取证对抗, 加密货币追踪, 区块链追踪, 后端开发, 威胁情报, 安全研发, 容器编排, 开发者工具, 情报收集, 情报融合, 数据库管理, 数据挖掘, 暗网爬虫, 暗网监控, 朝鲜黑客活动, 模块化架构, 漏洞研究, 用户模式Hook绕过, 网络安全, 网络情报, 自动化分析, 虚拟资产分析, 请求拦截, 跨站脚本, 逆向工具, 长期监控, 隐私保护, 集成分析系统