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, 勒索软件, 威胁情报, 开发者工具, 网络安全, 自定义脚本, 请求拦截, 隐私保护