dbshakil/Phish-Scanner-Visual-Threat-Intelligence-and-Automated-URL-Analysis
GitHub: dbshakil/Phish-Scanner-Visual-Threat-Intelligence-and-Automated-URL-Analysis
一个基于 Flask 的自动化钓鱼 URL 分析与可视化威胁情报工具,利用无头浏览器截图与本地 LLM 提取品牌与页面信息。
Stars: 0 | Forks: 0
# Phish Scanner - 可视化威胁情报与自动化 URL 分析
一个简单的 Flask Web 应用程序,用于扫描和分析钓鱼 URL。输入单个 URL 或上传包含 URL 的 .txt 文件,即可获取品牌、描述和截图结果。
## 功能
- 扫描单个 URL 或上传包含 URL 的 .txt 文件
- 为每个 URL 获取品牌、描述和截图
- 将结果导出为 CSV
## 环境要求
- Python 3.10+
- Flask
- requests
- [Browserless](https://github.com/browserless/browserless)(截图 API,运行在 `http://localhost:3000/screenshot`)
- [Ollama](https://ollama.com/) 并加载 `qwen3-vl:4b` 模型(LLM API,运行在 `http://localhost:11434/v1/chat/completions`)
安装 Python 依赖:
```
pip install -r requirements.txt
```
## 使用方法
1. 激活虚拟环境(如使用):
source .venv/bin/activate
2. 启动 Flask 应用:
python phish_scanner.py
3. 在浏览器中打开 [http://127.0.0.1:5000/](http://127.0.0.1:5000/)
## 项目结构
- `phish_scanner.py` — 主 Flask 应用
- `static/` — CSS 样式
- `templates/` — HTML 模板
- `screenshots/` — 保存的截图
## 工作原理
1. **截图** — URL 被发送至 Browserless,返回 PNG 格式截图。
2. **品牌与描述提取** — 截图被发送至 LLM(Ollama/qwen3-vl:4b)进行品牌与页面摘要提取。
3. **结果展示** — 以表格形式展示品牌、描述、变形 URL 和截图,支持导出为 CSV。
## 安全控制
- **URL 安全检查**:禁止处理包含危险扩展名(如 `.exe`、`.js`、`.bat` 等)的 URL。
- **变形 URL**:URL 以 `hxxp://` 或 `hxxps://` 形式显示,防止误点击。长 URL 在中间截断。
- **禁用直接超链接**:URL 以纯文本形式展示,不作为可点击链接。
## 注意事项
- 截图会被缓存到磁盘。删除 `screenshots/` 文件夹可强制刷新。
- 每个请求对 LLM 设置 60 秒超时。慢速模型或大型页面可能导致超时并显示“未提取到详细信息”。
- 本工具仅限在受控环境中用于威胁情报研究。未经适当沙箱化,请勿用于交互真实恶意页面。
标签:AI文本分析, AI风险缓解, Browserless, Flask, LLM, LLM评估, Ollama, Python, qwen3-vl, SEO, Unmanaged PE, URL分析, URL安全检查, 关键词, 反钓鱼, 品牌分析, 威胁情报, 安全控制, 开发者工具, 恶意URL扫描, 截图分析, 无后门, 无头浏览器, 端点安全, 自动化安全工作流, 补丁管理, 视觉威胁情报, 逆向工具, 钓鱼检测, 防钓鱼