YashJagdale2122/leakdb-platform-engine
GitHub: YashJagdale2122/leakdb-platform-engine
LeakDB 是一个分布式网络威胁情报管线引擎,基于 FastAPI、Celery 和 DragonflyDB 构建异步架构,用于安全地摄取、解析和索引大规模非结构化数据泄露。
Stars: 1 | Forks: 0
# LeakDB 平台引擎
[](https://fastapi.tiangolo.com)
[](https://dragonflydb.io)
[](https://docs.celeryq.dev)
[](https://www.elastic.co)
[](https://neo4j.com)
[](https://www.docker.com)
LeakDB 是一个生产级的分布式网络威胁情报 (CTI) pipeline 架构,旨在带外安全地摄取、解析、分析和索引大规模、非结构化的泄露数据。
该平台可安全地处理数 GB 的高熵原始数据,提取取证指标(文本层、EXIF 元数据),通过结构化光学字符识别 (OCR) 引擎进行级联处理,并在高并发负载下映射行为者关系,同时不会阻塞面向前端的 API。
## 核心系统架构流程
```
[ Client Ingestion Request ]
│
(HTTPS / Secure Payload)
│
▼
┌─────────────────────────┐
│ FastAPI Edge Gateway │ ───(Pool Session)───► [ PostgreSQL Ledger ]
└─────────────────────────┘ (Pipeline State Audits)
│
(Pushes Deferred Task)
│
▼
┌─────────────────────────┐
│ Dragonfly Memory Grid │
└─────────────────────────┘
│
(RESP Multi-Threaded Queue)
│
▼
┌─────────────────────────┐
│ Celery Worker Pool │ ◄───(Stream Downloads)───► [ MinIO S3 Object Store ]
└─────────────────────────┘
│ │
(Indexes Cleaned Text Layer) (Maps Complex Intelligence Graph)
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│Elasticsearch │ │ Neo4j Graph │
│ (Search/PII) │ │ (Entity Dots)│
└──────────────┘ └──────────────┘
```
## 深入架构亮点
### 异步边缘路由与拓扑隔离
面向前端的 FastAPI 应用网关采用了非阻塞异步架构。在接收到结构化数据泄露触发器后,API 会将繁重的内存处理足迹卸载到队列矩阵中,在 PostgreSQL 中记录事务性基线跟踪,并立即将 HTTP 202 Accepted 握手回调返回给入口节点。
### 高吞吐量缓存结构 (Dragonfly)
LeakDB 用 DragonflyDB 取代了标准的单线程 Redis 拓扑。Dragonfly 实现了现代的、高度并发的、多线程的无共享处理线程设计,利用了 Linux io_uring 机制。这减少了执行延迟指标,使其接近于零,并使用标准的、线缆兼容的 Redis 协议 (RESP) 为大量后台线程提供了巨大的处理余量。
### 三级高可用性 OCR 回退矩阵
非结构化图形资产(扫描的泄露账本、屏幕截图、目标身份文件)在服务层内部按顺序级联通过容错的 OCR 处理链:
* **第 1 级 (Florence-2 Vision API)**:优先考虑深度语义文档映射和空间结构。
* **第 2 级 (Tesseract OCR + OpenCV CLAHE 预处理)**:如果第 1 级超时则触发。在运行母语字符匹配之前,应用自定义的 CLAHE 对比度滤镜、灰度变换和自适应阈值掩码。
* **第 3 级 (EasyOCR 引擎回退)**:高熵神经回退传递,以抢救剩余的 token 目标。
### 关联情报映射与遥测采集
* **图关系 (Neo4j)**:将扁平的元数据映射转换为多维图。执行参数化的 Cypher 向量,以在不同的泄露中连接威胁行为者、受影响的国家、目标网络和文件。
* **取证 EXIF 采集**:剥离二进制文件足迹(JPEG/PNG 层)以采集跟踪遥测数据(设备签名、GPS 标记、软件指纹),并将其直接记录在主搜索索引中。
* **OOM 预防框架**:使用内存安全的字节流缓冲区(32 KB 分块分配周期)将大型对象流式传输到本地沙盒文件空间中,从而完全防止容器 OOM 崩溃循环。
## 生产环境仓库文件蓝图
```
leakdb-platform-engine/
├── app/
│ ├── __init__.py
│ ├── main.py # Gateway setup & middleware router wiring
│ ├── api/
│ │ ├── __init__.py
│ │ ├── deps.py # Gateway security access decorators
│ │ └── v1/
│ │ ├── router.py # Module routing aggregator
│ │ └── endpoints/
│ │ ├── ingestion.py # Asynchronous target submission handlers
│ │ └── search.py # Multi-match cluster interface queries
│ ├── core/
│ │ ├── __init__.py
│ │ ├── config.py # Type-validated Pydantic setting system
│ │ ├── database.py # High-performance async connection pools
│ │ ├── logging.py # Structured JSON log aggregation engine
│ │ └── celery_app.py # Task scheduler configurations
│ ├── models/
│ │ ├── __init__.py
│ │ └── base.py # PostgreSQL declarative system ledger maps
│ ├── schemas/
│ │ ├── __init__.py
│ │ ├── ingestion.py # Pydantic input/output structural rules
│ │ └── search.py # Query definition constraints
│ ├── services/
│ │ ├── __init__.py
│ │ └── analyzer.py # Independent processing services
│ └── workers/
│ ├── __init__.py
│ └── tasks.py # Worker execution context loops
├── scripts/
│ └── seed.py # One-click mock environment infrastructure seeder
├── .env.example # Explicitly defined environment skeleton configuration
├── .gitignore # Enforces security containment bounds
├── Dockerfile # Multi-stage optimized distribution base image
├── docker-compose.yml # Local stack orchestration setup blueprint
└── requirements.txt # Base package requirement dependencies
```
## 前置条件与外部依赖项设置
在初始化核心应用容器之前,请确保所需的基础基础设施元素和本地深度学习推理模型已被拉取、配置并处于运行状态。
### 1. 外部存储与搜索集群
如果您要连接到现有实例而不是本地 stack 定义,请验证目标网络是否已暴露:
* **Elasticsearch (v8.x)**:安全配置,并启用索引映射支持。
* **MinIO 对象存储**:实例化一个与平台设置文件匹配的专用入口 bucket。
* **Neo4j 图数据库 (v5.x)**:Bolt 协议在端口 7687 上运行。
### 2. 大型语言模型服务 (vLLM / Ollama 后端)
分析引擎依赖于可通过 OpenAI 兼容的 completion 路由访问的开放权重基础模型(默认:`granite-3.0-8b`)。
要通过 Ollama 在本地运行此模型,请执行:
```
# 拉取并实例化目标推理上下文模型
ollama pull granite-3.0-8b
ollama serve
```
### 3. 计算机视觉服务 (Florence-2 Docker 部署)
多级 OCR 级联利用微软的 Florence-2 视觉模型,该模型通过专用的 gRPC/REST 服务进行容器化,以解析非结构化视觉工件:
```
# 拉取并执行专用文档分析 vision 容器
docker pull [mcr.microsoft.com/oryx/python:3.11](https://mcr.microsoft.com/oryx/python:3.11)
# 确保服务端点与环境配置中的 FLORENCE_API 属性一致
```
## 快速入门部署指南
### 1. 初始化系统工作空间环境
```
# 克隆基础设施工程工作区
git clone [https://github.com/YOUR_USERNAME/leakdb-platform-engine.git](https://github.com/YOUR_USERNAME/leakdb-platform-engine.git)
cd leakdb-platform-engine
# 将环境模板骨架文件复制到本地目标追踪边界
cp .env.example .env
```
### 2. 配置本地系统设置 (.env)
使用您的目标开发凭证更新私有的本地 `.env` 文件。注意:底层系统利用多阶段 docker 编排机制,通过动态环境引用注入 `${VAR}` 安全地读取参数,从而完全防止 secret 泄露。
### 3. 启动核心基础设施栈
```
# 构建多阶段执行层并启动堆栈守护进程 (Postgres, Dragonfly, Gateway, Workers)
docker compose up --build -d
# 验证基础设施容器分配状态健康且在线
docker compose ps
```
### 4. 初始化存储基础设施并运行验证测试
```
# 运行自动化数据库与对象存储 seeder 工具,以创建 Elasticsearch 索引和 buckets
python -m scripts.seed
# 使用 curl 触发示例摄取工作负载,以验证端到端任务路由
curl -X POST "http://localhost:8000/api/v1/ingestion/trigger" \
-H "X-LeakDB-API-Key: vclabs_platform_gateway_fallback_token_string" \
-H "Content-Type: application/json" \
-d '{
"db_name": "intel_breach_test_2026",
"actor": ["ThreatGroup-7"],
"country": ["Global"],
"db_context": "Sample unstructured audit data payload for pipeline verification."
}'
# 通过结构化 JSON 输出格式化程序监控实时 worker 管道
docker compose logs -f worker
```
## 安全模型与基础设施规范
* **零 Secret 持久化策略**:代码布局中绝对没有硬编码任何凭证、加密密钥、内部集群 IP 或数据库路由。
* **严格的运行时隔离**:本地设置通过 `pydantic-settings` 进行管理,以在启动时强制执行类型匹配,如果参数不正确则会快速失败。
* **确定性 Docker 分层**:多阶段 Docker 定义将目标依赖项分开,防止构建工具或本地环境噪音泄露到您的生产运行时中。
标签:AI风险缓解, AV绕过, Celery, Elasticsearch, FastAPI, 分布式架构, 威胁情报, 开发者工具, 数据处理管道, 测试用例, 请求拦截, 逆向工具