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绕过, 网络安全, 网络情报, 自动化分析, 虚拟资产分析, 请求拦截, 跨站脚本, 逆向工具, 长期监控, 隐私保护, 集成分析系统