MOHAMMED-5219/AI-Based-Vulnerability-Scanner-and-Threat-Detection-System-
GitHub: MOHAMMED-5219/AI-Based-Vulnerability-Scanner-and-Threat-Detection-System-
MalwareWatch 是一款 Chrome 浏览器扩展,通过集成 VirusTotal API 实现访问网站时的自动实时恶意软件扫描和威胁拦截。
Stars: 0 | Forks: 0
# 🛡️ MalwareWatch Chrome 扩展 — 自动扫描防护
一款综合性的 Chrome 扩展程序 (Manifest V3),提供**自动实时防护**,利用 VirusTotal API 进行即时恶意软件扫描,并具备先发制人的威胁拦截和全面的威胁检测能力。
## 🚀 全新自动扫描功能
- **🔍 自动扫描** - 每次访问网站时都会自动进行实时扫描
- **⚡ 即时威胁拦截** - 在恶意网站加载**之前**将其拦截
- **🎨 可视化扫描遮罩** - 在网页上显示实时扫描状态
- **🚨 实时警报** - 带有颜色区分威胁等级的即时通知
- **🔊 音频通知** - 针对不同威胁类型的声音警报
- **🌈 颜色编码结果** - 绿色(安全)、黄色(可疑)、红色(恶意)
- **🔗 直接访问 VirusTotal** - 一键访问详细的威胁报告
- **🛡️ 预先防护** - 在页面加载前拦截高可信度威胁
## 🚀 核心功能
- **实时 URL 扫描** - 自动对访问的页面进行 VirusTotal 分析
- **域名信誉检查** - 与 VirusTotal 数据库进行域名交叉比对
- **手动扫描** - 按需扫描当前页面并提供详细结果
- **智能通知** - 针对恶意/可疑内容的即时警报
- **网站拦截** - 对高风险网站显示警告遮罩,并可选择继续访问
- **API 密钥验证** - 自动测试 VirusTotal API 密钥
- **内容分析** - 通过 DOM 检查可疑的下载和 iframes
- **第三方检测** - 识别跟踪和外部内容
## 📋 快速安装
### 1. 获取 VirusTotal API 密钥(必需)
1. 前往 [VirusTotal](https://www.virustotal.com/)
2. 创建一个免费账户或登录
3. 导航至您的 [API 密钥页面](https://www.virustotal.com/gui/my-apikey)
4. 复制您的个人 API 密钥
### 2. 安装扩展程序
1. 下载/克隆本仓库
2. 打开 Chrome 并前往 `chrome://extensions/`
3. 启用**开发者模式**(右上角的开关)
4. 点击**加载已解压的扩展程序**
5. 选择 `malwarewatch` 文件夹
6. 点击工具栏中的 MalwareWatch 扩展程序图标
### 3. 配置扩展程序
1. 点击扩展程序图标打开弹窗
2. 将您的 VirusTotal API 密钥粘贴到“API Key”字段中
3. 点击**保存**(扩展程序将验证您的 API 密钥)
4. 确保**防护**开关已开启
5. 使用**扫描当前页面**按钮进行测试
## 用法
### 自动扫描
- 当标签页完成加载时,扩展程序会自动扫描页面
- 检测到威胁或可疑内容时会弹出通知
- 恶意网站将显示全屏警告遮罩
### 手动扫描
- 点击扩展程序图标打开弹窗
- 点击**扫描当前页面**立即扫描当前活动标签页
- 结果将显示在按钮下方的状态区域中
### 设置
- **防护开关**:启用/禁用自动扫描
- **API 密钥字段**:输入您的恶意软件扫描服务 API 密钥
- 设置会在您的 Chrome 配置文件中自动同步
## API 集成
该扩展使用一个占位符端点:`https://example-malware-scan-api.com/scan`
### 预期的 API 响应格式
```
{
"malicious": boolean,
"score": number,
"reason": string
}
```
### 替换为真实的 API
要使用真实的扫描服务:
1. **打开 `background.js`**
2. **找到 `callScanApi` 函数**
3. **将端点 URL** 替换为您的服务提供商的 API
4. **根据您的 API 提供商要求更新 headers**
5. **如有需要,修改请求体**格式
### 推荐的 API 提供商
- **VirusTotal API**:用于全面的 URL 分析
- **URLhaus API**:用于恶意软件 URL 检测
- **AbuseIPDB**:用于 IP 信誉检查
- **Google Safe Browsing API**:用于网络钓鱼/恶意软件检测
## 安全功能
### 检测方法
- **文件扩展名分析**:标记可疑的可下载文件(.exe、.msi、.scr 等)
- **URL 模式匹配**:检测已知的恶意模式
- **DOM 检查**:扫描可疑的 iframes 和链接
- **第三方检测**:识别跟踪和外部内容
### 威胁响应
- **高风险网站(评分 ≥ 0.8)**:全屏警告遮罩 + 通知
- **中风险网站(评分 ≥ 0.5)**:仅显示通知
- **第三方内容**:信息通知
## 隐私与安全注意事项
⚠️ **重要隐私提示**
- 此扩展程序会将访问的 URL 发送到外部的扫描 API
- 仅使用受信任且信誉良好的扫描服务提供商
- 考虑实施 URL 哈希处理以增强隐私
- API 通信务必使用 HTTPS 端点
### 最佳实践
- 使用成熟的威胁情报提供商
- 实施本地缓存以减少 API 调用
- 在数据共享方面取得用户同意
- 提供清晰的隐私政策信息
- 允许用户将受信任的域名加入白名单
## 配置选项
### 定制化想法
- 添加灵敏度阈值控制
- 实施域名白名单/黑名单
- 创建详细的日志和报告
- 为扫描结果添加导出功能
- 包含修复建议
### 高级功能
- 集成多个 API 提供商
- 添加基于机器学习的本地检测
- 实施基于社区的威胁共享
- 创建详细的威胁分析报告
## 故障排除
### 常见问题
**扩展程序无法加载:**
- 确保所有文件都处于正确的目录结构中
- 检查 manifest.json 是否为有效的 JSON
- 验证是否已启用 Chrome 开发者模式
**通知未出现:**
- 检查 Chrome 通知权限
- 验证扩展程序是否具有通知权限
- 确保防护开关已开启
**API 集成问题:**
- 验证 API 端点 URL 是否正确
- 检查 API 密钥的格式和有效性
- 确保网络连接正常
- 查看浏览器控制台中的错误消息
### 调试模式
打开 Chrome DevTools:
1. 右键点击扩展程序图标 → **检查弹窗**(用于弹窗调试)
2. 前往 `chrome://extensions/` → 点击 **service worker**(用于后台脚本调试)
3. 检查 Console 标签页中的错误消息和调试信息
## 开发
### 文件结构
- `manifest.json`:扩展程序配置和权限
- `background.js`:用于标签页监控和 API 调用的 service worker
- `content_script.js`:DOM 分析和可疑内容检测
- `popup.html/js`:用于设置和手动扫描的用户界面
- `styles.css`:弹窗样式和响应式设计
### 扩展程序的扩展
- 在 `content_script.js` 中添加新的检测启发式算法
- 修改 `background.js` 中的 API 集成
- 在 `popup.html` 和 `styles.css` 中增强 UI
- 根据需要在 `manifest.json` 中添加新权限
## 🚨 故障排除
### 常见问题
**“Invalid API key”错误:**
- 验证 API 密钥是否复制正确(无多余空格)
- 检查 VirusTotal 账户状态
- 确保 API 密钥未被撤销
**“API quota exceeded”:**
- 免费账户每天限制 500 次请求
- 等待 24 小时或升级到高级版
- 通过暂时禁用自动扫描来减少扫描次数
**“Network error during validation”:**
- 检查互联网连接
- 验证防火墙未阻止 VirusTotal
- 几分钟后重试
**扩展程序未自动扫描:**
- 确保防护开关已开启
- 检查扩展程序是否具有适当的权限
- 查找通知(可能需要启用 Chrome 通知)
### 调试模式
1. 打开 Chrome DevTools (`F12`)
2. 进入 Console 标签页
3. 查找 MalwareWatch 错误消息
4. 在 `chrome://extensions/` 中检查 Background 页面
**⚠️ 免责声明**:此扩展程序会将访问的 URL 发送给 VirusTotal 进行分析。请查阅 VirusTotal 的隐私政策和服务条款。请负责任地使用,并遵守适用的法律和法规。
**版本**:1.0.0(集成 VirusTotal)
**兼容性**:Chrome Manifest V3
**最后更新**:2025 年 9 月
标签:数据可视化, 自定义脚本, 调试辅助