ZyAzOsK/USB-defender
GitHub: ZyAzOsK/USB-defender
一个跨平台的 USB 恶意软件实时检测与隔离生态系统,通过驻留在 U 盘上的零依赖扫描器结合 AI 辅助分析,保护设备免受通过 USB 传播的恶意文件威胁。
Stars: 0 | Forks: 0
# USB-Defender
*一个跨平台的安全生态系统,用于实时 USB 恶意软件检测、隔离、AI 驱动的分析以及精美的可视化。*
USB-Defender 可以保护你免受隐藏在 USB 驱动器中的恶意文件的侵害。它由两部分组成:
1. **Web 仪表盘(指挥中心):** 一个时尚、现代的 GUI,用于查看报告、监控驱动器和管理被隔离的文件。
2. **便携式扫描器:** 一个独立、零依赖的脚本,*驻留在 USB 驱动器本身上*,在将其插入任何不受信任的机器时都能提供保护。
## v2.0 新功能(阶段 7 已完成)
### 1. 便携式 USB 扫描器 (`usb_defender_portable.py`)
专为直接驻留在 USB 驱动器上而设计的单文件 Python 脚本。
- **零依赖:** 在标准 Python 库上运行。无需 `pip install`。
- **跨平台:** 可在 Windows、Linux 和 macOS 上无缝运行。
- **对开发者友好的启发式规则:** 需要匹配 2 个以上的恶意模式才会触发,并会自动忽略 `.git`、`node_modules` 以及其自身,几乎消除了开发项目中的误报。
### 2. Gemini AI 威胁验证
当启发式引擎标记出可疑文件时,便携式扫描器会安全地将代码片段发送给 **Gemini 2.5 Flash** AI 模型。
- **智能分析:** AI 扮演网络安全分析师的角色,验证脚本是否确实存在恶意或属于误报(例如,标准的 npm 脚本)。
- **速率限制韧性:** 内置的顺序扫描与指数退避机制确保其在 Gemini 免费套餐上完美运行。
- **稳健的解析:** 采用严格的 `application/json` 输出强制执行,以防止解析错误。
### 3. 安全的 XOR 隔离与恢复
高危威胁会通过 **对称 XOR 加密** 被瞬间中和。
- 原始文件将被加密,并与一个包含其原始路径和威胁详细信息的 `.meta.json` 伴随文件一同保存。
- **通过 CLI 恢复:** 直接在 USB 驱动器上运行 `python3 usb_defender_portable.py --restore`,以交互方式浏览并安全解密被错误隔离的文件。
### 4. Web 仪表盘 (GUI)
使用 React 和 Vite 构建的精美、响应式 Web 界面。
- **仪表盘主页:** 一目了然地查看系统状态和威胁指标。
- **扫描器 UI:** 一键将便携式扫描器部署到任何已连接的 USB 驱动器。
- **隔离管理器:** 直观地查看隔离文件的 AI 解释,并通过界面将其恢复。
## 架构概述
```
USB-Defender/
│
├── dashboard/ # The Web Command Center (React/Vite)
│ ├── src/components/ # UI Components (StatusCards, ThreatFeed, etc.)
│ ├── src/pages/ # Dashboard, Monitor, Scanner, Quarantine
│ └── package.json # Node dependencies
│
├── portable/ # The Portable USB Engine
│ ├── usb_defender_portable.py # Zero-dependency scanner + AI verification
│ ├── scan.sh # Linux/macOS launcher
│ └── scan.bat # Windows launcher
│
└── app/ # (Legacy) Host-Side Background Watcher
├── watcher.py # Real-time filesystem monitor
├── scanner.py # Recursive scanner
└── quarantine.py # Legacy quarantine logic
```
## 使用指南
### 1. 使用便携式扫描器
将 `usb_defender_portable.py` 复制到 USB 驱动器的根目录。
**扫描驱动器(终端/CMD):**
```
python3 usb_defender_portable.py
```
**使用 Gemini AI 扫描(需要 API 密钥):**
```
python3 usb_defender_portable.py --ai-key YOUR_GEMINI_API_KEY
```
**恢复被隔离的文件:**
```
python3 usb_defender_portable.py --restore
```
### 2. 运行仪表盘
启动 Web 界面以查看由便携式扫描器生成的报告。
```
cd dashboard
npm install
npm run dev
```
在浏览器中打开 `http://localhost:5173`。
## 下一步(阶段 8)
- **可执行文件部署:** 使用 PyInstaller 将 `usb_defender_portable.py` 编译为原生的 `.exe` 和 Linux 二进制文件,这样目标机器甚至不需要安装 Python!
标签:AI安全分析, DNS 反向解析, Gemini大模型, GhostArchive, MITM代理, PB级数据处理, USB安全, Web仪表盘, XOR加密, 主机安全防护, 便携式杀毒, 启发式扫描, 威胁情报分析, 安全可视化, 安全运维, 文件隔离与恢复, 端点保护, 网络安全防御, 自动化安全响应, 跨平台安全生态系统, 逆向工具, 防病毒软件, 零依赖Python脚本