sonendraelon/Threatpulse-Python-FastAPI

GitHub: sonendraelon/Threatpulse-Python-FastAPI

一个基于 FastAPI 和 React 构建的端到端威胁情报聚合演示平台,展示了现代技术栈在安全数据管理中的应用。

Stars: 0 | Forks: 0

# ThreatPulse 端到端威胁情报演示:**React (Vite)** 前端,**FastAPI** API,**MongoDB**,**Redis**(缓存)以及 **Celery**(异步摄取 worker + beat)。 ## 快速开始 在此目录下: ``` docker compose up --build ``` - **UI:** http://localhost:8080 - **API 文档:** http://localhost:8000/docs - **MongoDB:** localhost:27017 - **Redis:** localhost:6379 在 UI 上注册用户,然后探索搜索、严重程度/类型筛选器、手动“添加威胁”以及**运行 Celery 摄取**(将排队一个 worker 任务;beat 还会每 10 分钟运行一次模拟摄取)。 ## 本地开发(Node 不使用 Docker) 1. 仅启动基础设施: docker compose up mongo redis 2. **后端**(新终端),在 `backend/` 目录下: python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt set MONGODB_URI=mongodb://127.0.0.1:27017 set REDIS_URL=redis://127.0.0.1:6379/0 set CELERY_BROKER_URL=redis://127.0.0.1:6379/1 set CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/2 uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 3. **Celery worker**(可选,在 `backend/` 目录下并使用相同的环境变量): celery -A celery_app.celery_app worker --loglevel=info -Q threatpulse 4. **前端**(新终端),在 `frontend/` 目录下: npm install npm run dev 打开 http://localhost:5173 —— Vite 将 `/api` 代理到 `http://127.0.0.1:8000`。 ### Windows 注意事项 如果项目所在的路径中包含 `&`,某些全局的 `npm` shim 可能会失效。此仓库的 `package.json` 脚本通过 `node ./node_modules/vite/bin/vite.js` 来调用 Vite,以避免此问题。 ## 架构 - JWT 认证 (`/api/auth/register`, `/api/auth/login`, `/api/auth/me`)。 - 威胁 CRUD + MongoDB 全文搜索 + 严重程度/类型筛选器 (`/api/threats`)。 - Redis 缓存列表响应(默认 TTL 60秒)。 - Celery 任务 `threatpulse.ingest_mock_feeds` 插入去重后的模拟 CVE/actor/dark-web 条目;可通过 `/api/ingest/trigger` 或 Celery Beat 触发。
标签:API文档, AV绕过, Celery, CVE, Docker, Docker Compose, FastAPI, GPT, IP 地址批量处理, IT运维, JWT认证, masscan, MongoDB, NoSQL数据库, Python, React, Redis, Socks5代理, Swagger, Syscalls, Threat Intelligence, Vite, 全文搜索, 前后端分离, 后端开发, 增删改查, 威胁情报, 威胁情报平台, 威胁情报聚合器, 威胁源采集, 安全运营, 安全防御评估, 定时任务, 密码管理, 开发者工具, 异步任务队列, 扫描框架, 搜索引擎查询, 数字签名, 数据缓存, 无后门, 暗网监控, 漏洞管理, 网络威胁, 网络安全, 请求拦截, 逆向工具, 配置审计, 隐私保护