Abhay-tec/CypherScout
GitHub: Abhay-tec/CypherScout
一个基于 Flask 的网络情报分析平台,结合 VirusTotal 与自研机器学习引擎,提供 URL 和文件的风险评估及闭环反馈机制。
Stars: 0 | Forks: 0
# CypherScout
CypherScout 是一个基于 Flask 的 URL 和文件安全分析平台,具有以下功能:
- URL 风险分析(VirusTotal + 启发式算法 + ML 评分)
- 文件深度扫描启发式分析
- Google OAuth 和本地凭证登录
- 通过邮件 OTP 验证码找回密码
- 登录和威胁通知邮件
- 仪表盘指标和历史记录
- 用于 ML 重训练的反馈循环
## 项目结构
```
CypherScout/
app/
__init__.py # App factory + OAuth setup
config.py # Environment-driven configuration
db.py # SQLite connection + schema init
ml.py # ML training/prediction engine
routes/
web.py # HTML routes
api.py # JSON API routes
services/
intel.py # URL/file scanning and enrichment logic
templates/ # HTML templates
main.py # Local run entrypoint
wsgi.py # Production WSGI entrypoint
requirements.txt
Procfile
runtime.txt
.env.example
```
## 快速开始(本地)
1. 创建并激活虚拟环境
- Windows (PowerShell):
python -m venv .venv
.\.venv\Scripts\Activate.ps1
2. 安装依赖
pip install -r requirements.txt
3. 从 `.env.example` 创建 `.env` 并设置所需的密钥:
- `SECRET_KEY`
- `GOOGLE_CLIENT_ID`
- `GOOGLE_CLIENT_SECRET`
- `VT_API_KEY`
4. 运行应用
python main.py
5. 打开:
- `http://localhost:5000`
## 生产环境部署
使用 WSGI server (Gunicorn) 运行 `wsgi:app`。
### 示例(Render / Railway / Fly / 类似平台)
1. 根据 `.env.example` 设置环境变量。
2. 构建命令:
pip install -r requirements.txt
3. 启动命令:
gunicorn --bind 0.0.0.0:$PORT wsgi:app
## 环境变量
| Variable | Required | Description |
|---|---|---|
| `SECRET_KEY` | 是 | Flask 会话签名密钥 |
| `DATABASE_PATH` | 否 | SQLite DB 路径(默认为 `cypher.db`) |
| `SESSION_DAYS` | 否 | 会话有效期(天)(默认为 `7`) |
| `ALLOW_INSECURE_OAUTH` | 否 | 仅在本地非 HTTPS OAuth 时设为 `true` |
| `VT_API_KEY` | 推荐 | VirusTotal API 密钥 |
| `GOOGLE_CLIENT_ID` | 是(用于 Google 登录) | OAuth 客户端 ID |
| `GOOGLE_CLIENT_SECRET` | 是(用于 Google 登录) | OAuth 客户端密钥 |
| `OAUTH_REDIRECT_URI` | 推荐 | 显式 OAuth 回调 URL(例如 `https://your-domain.com/auth`) |
| `MAX_UPLOAD_BYTES` | 否 | 文件上传大小上限(默认 20MB) |
| `MAIL_ENABLED` | 否 | 启用邮件通知(默认为 `true`) |
| `SMTP_HOST` | 是(用于邮件) | SMTP 服务器主机(Gmail: `smtp.gmail.com`) |
| `SMTP_PORT` | 否 | SMTP 端口(默认为 `587`) |
| `SMTP_USE_TLS` | 否 | 启用 STARTTLS(默认为 `true`) |
| `SMTP_USER` | 是(用于邮件) | SMTP 用户名/邮箱 |
| `SMTP_PASSWORD` | 是(用于邮件) | SMTP 密码 / Gmail 应用专用密码 |
| `MAIL_FROM` | 否 | 发件人邮箱身份 |
## 安全注意事项
- 不要提交 `.env` 或真实的密钥。
- 生产环境中保持 `ALLOW_INSECURE_OAUTH=false`。
- 生产环境中使用 HTTPS 进行 OAuth 回调。
- 上线前轮换 `SECRET_KEY` 和 API 密钥。
- 对于 Gmail SMTP,请使用应用专用密码而非常规账户密码。
标签:AMSI绕过, Apex, Ask搜索, Flask, Google OAuth, Gunicorn, HTTP/HTTPS抓包, ML重训练, Python, SQLite, URL风险分析, VirusTotal, WSGI, 反馈闭环, 后端开发, 启发式扫描, 威胁检测, 安全仪表盘, 安全运营, 态势感知, 情报分析平台, 扫描框架, 文件深度扫描, 无后门, 机器学习, 神经网络引擎, 网络安全, 自动化威胁分析, 逆向工具, 钓鱼检测, 隐私保护, 风险评分