Preet36/virustotal-url-risk-dashboard
GitHub: Preet36/virustotal-url-risk-dashboard
这是一个Python SOC分诊仪表盘,利用VirusTotal API分析可疑URL并计算钓鱼风险评分,帮助分析师高效处理钓鱼威胁。
Stars: 0 | Forks: 0
# 钓鱼链接威胁分析仪表盘
本项目是一个基于 Python 的网络安全仪表盘,旨在模拟安全运营中心(SOC)分析师可能如何分诊来自钓鱼警报的可疑 URL。该工具使用 VirusTotal API 获取 URL 信誉数据,计算自定义的钓鱼风险评分,识别可疑的 URL 模式,存储调查历史,并为升级决策生成分析师风格的笔记。
## 项目重要性
钓鱼链接是 SOC 团队调查的最常见警报之一。此仪表盘作为一个决策支持工具,通过帮助分析师快速丰富可疑 URL 信息、查看检测结果、分配风险级别以及记录调查过程。
## 功能特性
- 单 URL 扫描
- 批量 CSV URL 扫描
- VirusTotal API 富化
- 自定义钓鱼风险评分
- 恶意、可疑、无害、未检测到及超时判定追踪
- 针对域名、子域名、协议和路径的 URL 解析
- 钓鱼关键词检测
- 品牌冒用指标
- SOC 风格分析师笔记
- 推荐操作逻辑
- SQLite 扫描历史记录
- CSV 报告导出
## 使用工具
- Python
- Streamlit
- VirusTotal API v3
- SQLite
- Pandas
- Requests
- python-dotenv
- tldextract
## 项目结构
```
phishing-virustotal-url-risk-dashboard/
│
├── app.py
├── requirements.txt
├── .env.example
├── .gitignore
├── test_urls.csv
└── README.md
```
## 设置说明
### 前置条件
您需要从 Virus Total 获取一个 API 密钥
您可以通过访问 VirusTotal 网站并在此注册完成:https://www.virustotal.com/gui/join-us
检查您的电子邮件并激活您的账户
成功登录后,进入您的个人资料,您应该能够访问您的 API 密钥
### 1. 克隆仓库
```
git clone https://github.com/Preet36/virustotal-url-risk-dashboard.git
cd virustotal-url-risk-dashboard
```
### 2. 创建虚拟环境
```
python -m venv .venv
If that does not work use this instead:
py -m venv .venv
```
在 Windows 上激活:
```
.venv\Scripts\activate
```
在 Mac/Linux 上激活:
```
source .venv/bin/activate
```
### 3. 安装依赖
```
pip install -r requirements.txt
```
### 4. 运行仪表盘
```
streamlit run app.py
```
### 5. 手动将您的 VirusTotal API 密钥添加到 .env(仅当侧边栏中的 API 密钥无效时才执行此操作)
将 .env.example 复制为 .env
按顺序运行以下命令以将 API 密钥更改为您自己的
```
copy .env.example .env
```
检查 .env 是否在您的目录中
```
dir
```
然后使用此命令打开文件并更改 API 密钥
```
code .env
```
```
VT_API_KEY=your_virustotal_api_key_here
```
确保保存您的文件(Ctrl + S)
## 工作流程示例
1. 从钓鱼邮件中报告一个可疑 URL。
2. 分析师将 URL 提交到仪表盘。
3. 仪表盘将 URL 发送到 VirusTotal 进行信誉分析。
4. 该工具解析 URL,提取域名、子域名和路径指标。
5. 评分引擎使用 VirusTotal 检测结果和钓鱼指标计算风险评分。
6. 仪表盘显示风险级别、检测计数和推荐操作。
7. 分析师复制生成的 SOC 笔记或导出报告。
## 风险评分逻辑
自定义风险评分通过以下因素计算:
- 恶意的 VirusTotal 检测结果
- 可疑的 VirusTotal 检测结果
- 未检测到和超时的判定
- 钓鱼相关关键词
- 品牌冒用指标
- 可疑的子域名
风险级别:
```
0-24 = Low
25-54 = Medium
55-79 = High
80-100 = Critical
```
## 分析师笔记示例
```
The URL http://malware.wicar.org was triaged as Critical risk with a score of 100/100.
VirusTotal returned 15 malicious, 1 suspicious, 47 harmless, and 30 undetected verdicts.
The extracted domain is wicar.org with subdomain malware and path /.
Phishing keywords found: none detected. Brand-related indicators found: none detected.
Recommended action: Escalate immediately, block the URL/domain, preserve evidence, and check for user clicks.
```
标签:CSV报告导出, Kubernetes, Python, Requests, SOC仪表板, SOC运营, SQLite, Streamlit, tldextract, Ubuntu, URL扫描, VirusTotal API, 历史记录存储, 品牌冒充识别, 威胁分析仪表板, 威胁情报, 字符串匹配, 开发者工具, 无后门, 网络安全, 访问控制, 调查笔记生成, 逆向工具, 钓鱼分析, 钓鱼检测, 钓鱼链接分析, 隐私保护, 风险评分