n5gus/PulseIQ

GitHub: n5gus/PulseIQ

一个聚合多个威胁情报 RSS 源、支持 IOC 查询和自动分类的安全情报中心,帮助 SOC 团队高效获取每日威胁态势。

Stars: 0 | Forks: 0

# PulseIQ 网络安全情报中心 —— 汇集来自六个 RSS 威胁情报源的头条新闻,自动对事件进行分类,绘制威胁统计图表,映射地理来源,并生成每日 Claude SOC 简报。包含 IOC 查询(AbuseIPDB + VirusTotal)以及 AlienVault OTX pulses。 ## 威胁情报源(无需 API key) 1. Krebs on Security 2. BleepingComputer 3. SANS ISC 4. The Hacker News 5. Schneier on Security 6. Threatpost ## API 端点 | 端点 | 描述 | |----------|-------------| | `GET /api/feed` | 威胁情报源 (`?category=&source=&limit=&refresh=`) | | `GET /api/stats` | 分类 + 来源图表数据 | | `GET /api/briefing` | 每日 SOC 简报 (`?refresh=true`) | | `GET /api/status` | API key 状态 + RSS 订阅数 | | `GET /api/ioc/ip/{ip}` | AbuseIPDB 信誉(90天,判定) | | `GET /api/ioc/hash/{hash}` | VirusTotal MD5/SHA1/SHA256 | | `GET /api/otx/pulses` | AlienVault OTX pulses(10分钟缓存) | | `GET /api/v1/intelligence/overview` | 仪表板捆绑包(情报源 + 统计 + 地图 + 简报) | ### 自动分类 `malware` · `phishing` · `vulnerability` · `data_breach` · `apt` · `general` ### 判定结果 `CLEAN` · `SUSPICIOUS` · `MALICIOUS` · `UNVERIFIED` ## 环境变量 ``` ANTHROPIC_API_KEY= # Claude daily briefing ABUSEIPDB_API_KEY= # IP IOC lookup VIRUSTOTAL_API_KEY= # Hash IOC lookup OTX_API_KEY= # OTX pulses ``` RSS 订阅源和统计数据在**无需任何 key** 的情况下即可工作。简报使用未包含 Anthropic 的模板生成。 ## 快速开始 ``` # Backend cd backend python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt .\start.ps1 # 或:uvicorn main:app --reload --port 8002 # Frontend cd frontend npm install npm run dev ``` - UI: http://localhost:5173 - API 文档: http://localhost:8002/docs ## 在 Render 上部署(推荐 —— 单一 URL) 一个 Render web service 即可构建 React UI 并在**同一域名**下运行 FastAPI API。无需配置 `VITE_API_URL` 或 CORS。 ### 1. 将此仓库推送到 GitHub 已位于 `https://github.com/n5gus/PulseIQ`。 ### 2. 创建 Render 账户 使用 GitHub 在 [render.com](https://render.com) 注册。 ### 3. 新建 Blueprint(最简单) 1. **Dashboard** → **New +** → **Blueprint** 2. 连接 **`n5gus/PulseIQ`** 3. Render 将读取 `render.yaml` 并创建 `pulseiq` web service 4. 根据提示添加**机密**环境变量(或在创建后添加): | 变量 | 必填 | 备注 | |----------|----------|-------| | `ANTHROPIC_API_KEY` | 选填 | Claude 每日简报 | | `ABUSEIPDB_API_KEY` | 选填 | IOC IP 查询 | | `VIRUSTOTAL_API_KEY` | 选填 | Hash 查询 | | `OTX_API_KEY` | 选填 | OTX pulses | RSS 订阅源和统计数据在**无需任何 key** 的情况下即可工作。 5. 点击 **Apply** 并等待首次部署(约 3–5 分钟)。 ### 3b. 或者:新建 Web Service(手动) | 设置 | 值 | |---------|--------| | **Root Directory** | *(留空 —— 仓库根目录)* | | **Runtime** | Python 3 | | **Build Command** | `pip install -r backend/requirements.txt && npm ci --prefix frontend && npm run build --prefix frontend` | | **Start Command** | `cd backend && uvicorn main:app --host 0.0.0.0 --port $PORT` | ### 4. 验证 - `https://YOUR-SERVICE.onrender.com` → PulseIQ UI - `https://YOUR-SERVICE.onrender.com/health` → `{"status":"ok",...}` - `https://YOUR-SERVICE.onrender.com/api/status` → API key 状态 **免费层级:**服务在闲置约 15 分钟后会进入休眠;首次访问可能需要 30–60 秒来唤醒。 ### 本地与生产环境对比 | | 本地开发 | Render | |--|-----------|--------| | UI | `npm run dev`(端口 5173) | 由 FastAPI 从 `frontend/dist` 提供服务 | | API | `uvicorn`(端口 8002) | 与 UI 在同一进程中 | | API base URL | Vite 代理 | 同源 (`/api/...`) | ## 许可证 MIT
标签:AV绕过, FastAPI, IOC查询, React, Syscalls, 威胁情报, 安全运营, 开发者工具, 扫描框架, 网络安全, 自定义脚本, 逆向工具, 隐私保护