tejasjeet/Cyber-Watch-An-AI-Powered-Cyber-Threat-Intelligence-Platform-for-India

GitHub: tejasjeet/Cyber-Watch-An-AI-Powered-Cyber-Threat-Intelligence-Platform-for-India

一款面向印度地区的 AI 驱动网络威胁情报全栈平台,整合勒索软件监控、地理空间分析、钓鱼检测与 AI 辅助网络犯罪投诉报告功能。

Stars: 0 | Forks: 0

# Cyber Watch:面向印度的 AI 驱动网络威胁情报平台 一个专注于**印度**的全栈网络威胁情报与报告平台 —— 结合了实时勒索软件受害者数据、交互式仪表盘、地理空间映射、AI 驱动的分析、钓鱼 URL 扫描,以及 AI 辅助的网络犯罪投诉工作流。 ## 功能 - **仪表盘与 KPI** — 面向印度的勒索软件受害者统计及同比趋势 - **实时动态** — 结合 AI 分析 (Groq) 的流式情报更新 - **地图视图** — 跨印度各邦攻击的地理空间可视化 - **受害者与组织** — 可搜索的受害者中心,提供 AI 高管摘要 (Google Gemini) - **泄露与部署分析** — 结构化情报简报与导出 - **钓鱼扫描器** — 通过 Google Safe Browsing 进行 URL 安全检查 - **网络犯罪报告** — 引导式 AI 聊天、证据上传和投诉报告生成 - **Python 爬虫** — 将来自 ransomware.live 的印度受害者数据同步到 MongoDB ## 技术栈 | 层级 | 技术 | |-------|------------| | Frontend | React 18, Vite, Leaflet, Recharts, Framer Motion | | Backend | Node.js, Express, Socket.io, JWT auth | | Database | MongoDB (通过 Docker 使用 Atlas 或本地部署) | | Scraper | Python 3, BeautifulSoup | | AI | Google Gemini, Groq | ## 项目结构 ``` ├── client/ React frontend (Vite) — http://localhost:5173 ├── server/ Node.js API — http://localhost:4000 ├── scraper/ Python India victim scraper ├── docker-compose.yml Local MongoDB (optional) ├── .env.example Environment variable reference └── server/.env.example ``` ## 前置条件 - Node.js 18+ - Python 3.10+ - MongoDB Atlas URI **或** 用于本地 MongoDB 的 Docker - API 密钥(可选但推荐):Google AI, Groq, Google Safe Browsing ## 快速开始 ### 1. 克隆并安装 ``` git clone https://github.com/YOUR_USERNAME/cyber-watch-india.git cd cyber-watch-india cd client && npm install && cd .. cd server && npm install && cd .. pip install -r scraper/requirements.txt ``` ### 2. 环境 ``` copy server\.env.example server\.env ``` 使用您的 MongoDB URI 和 API 密钥编辑 `server/.env`。有关所有选项,请参见 `.env.example`。 ### 3. 数据库(任选其一) **本地 MongoDB:** ``` docker compose up -d ``` **MongoDB Atlas:** 在 `server/.env` 中设置 `MONGODB_URI`。 ### 4. 填充数据 ``` python scraper/scrape_india.py ``` ### 5. 运行 ``` # Terminal 1 — API cd server && npm run dev # Terminal 2 — Frontend cd client && npm run dev ``` 打开 **http://localhost:5173** ## 环境变量 | 变量 | 用途 | |----------|---------| | `MONGODB_URI` | MongoDB 连接字符串 | | `MONGODB_DB` | 数据库名称(默认:`ransomware_india`) | | `JWT_SECRET` | 会话签名密钥 | | `GOOGLE_AI_API_KEY` | 受害者中心 AI 分析 (Gemini) | | `GROQ_API_KEY` | 实时动态流式分析 | | `GOOGLE_SAFE_BROWSING_API_KEY` | 钓鱼 URL 扫描器 | 切勿提交 `server/.env` — 它已被 gitignored。 ## 在 Render 上部署 此代码库包含一个用于**单一 Web 服务**的 [`render.yaml`](render.yaml) 蓝图(在同一 URL 上包含 React build + Node API + WebSocket)。 ### 1. MongoDB Atlas 使用 [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)(免费层即可)。在 **Network Access** 中,允许 `0.0.0.0/0` 以便 Render 可以连接(或者在生产环境中限制为 Render 的出口 IP)。 复制您的连接字符串 — 您将把它作为 `MONGODB_URI` 粘贴到 Render 上。 ### 2. 创建 Render 服务 1. 打开 [Render Dashboard](https://dashboard.render.com/) → **New** → **Blueprint** 2. 连接 GitHub 仓库:`tejasjeet/Cyber-Watch-India-AI-Threat-Intelligence` 3. 出现提示时,设置这些**安全**环境变量(来自您本地的 `server/.env`): | 变量 | 必填 | |----------|----------| | `MONGODB_URI` | 是 | | `GOOGLE_AI_API_KEY` | 用于 AI 受害者分析 | | `GROQ_API_KEY` | 用于实时动态流式传输 | | `GOOGLE_SAFE_BROWSING_API_KEY` | 用于钓鱼扫描器 | `JWT_SECRET` 由蓝图自动生成。 4. 点击 **Apply** — Render 将进行构建和部署(首次约 5–10 分钟)。 您的线上 URL 将类似于:`https://cyber-watch-india.onrender.com` ### 3. 部署后 - 在 `/register` 注册一个用户 - 登录 — 应用程序将从 MongoDB / 爬虫刷新情报 - **免费层**服务在闲置约 15 分钟后会自动休眠;首次访问可能需要 30–60 秒来唤醒 ### 本地生产环境测试(可选) ``` npm run build cd server && set NODE_ENV=production && npm start ``` 打开 `http://localhost:4000` — UI 和 API 位于同一端口。 ## 脚本 | 命令 | 位置 | 描述 | |---------|----------|-------------| | `npm run dev` | `client/` | Vite dev server | | `npm run build` | `client/` | 生产环境 build | | `npm run dev` | `server/` | 带有文件监听的 API | | `npm start` | `server/` | 生产环境 API | | `npm run db:reset` | `server/` | 清空 DB(需要确认环境变量) | | `python scrape_india.py` | `scraper/` | 抓取并同步受害者数据 | ## 安全提示 - 在推送到公开仓库之前,轮换任何曾在本地暴露过的 API 密钥。 - 在生产环境中使用强 `JWT_SECRET`。 - 在生产环境中,将 MongoDB Atlas 网络访问限制为受信任的 IP。 ## 许可证 MIT — 如果添加了仓库许可证文件,请参见该文件。 ## 免责声明 受害者数据来源于公开的勒索软件追踪网站,仅供**研究和提高防范意识**之用。请负责任地使用,并遵守适用的法律。
标签:AI辅助分析, MITM代理, Splunk, 勒索软件, 威胁情报, 开发者工具, 网络安全, 自定义脚本, 请求拦截, 隐私保护