一支普通 U 盘 = 随身携带的离线 AI 安全体检医生。
插到任何一台 Windows 电脑上,不需要安装软件、不需要联网,即可完成:
- 单机健康检查:进程、网络连接、启动项、服务、计划任务、系统信息
- 内网环境巡检:主机发现、常见端口开放检测、SMB 风险提示
- 本地 AI 分析:规则引擎 + 可插拔本地小模型(Ollama / llama.cpp)
- 人类可读报告:HTML / Markdown,包含风险等级、问题清单、修复建议
- 便携经验积累:历史结果加密保存,支持跨机器“疫苗式”体检
当前为 MVP v0.1.0,优先支持 Windows 10/11 + PowerShell 5.1。
| 模块 | 说明 |
|---|---|
| 单机采集 | 进程、TCP/UDP 连接、DNS 缓存、启动项、服务、计划任务、系统信息 |
| 文件/U盘扫描 | 只读扫描 Temp、Downloads、启动目录、U盘;计算 SHA256、检测加壳/RWX/可疑API/版本信息 |
| 恶意特征库 | 114 条真实 SHA256 + 11 个 YARA-like 家族;可离线导入扩充 |
| PE 静态分析 | 熵、加壳、RWX、IAT 导入表、版本信息 |
| 持久化深度检查 | WMI、AppInit、IFEO、Winlogon、COM、Run/RunOnce 全量 |
| 内网巡检 | ARP + Ping 主机发现,端口扫描;支持 quick/standard/deep、指定子网、排除主机、授权确认 |
| 规则引擎 | 37 条 JSON 规则,覆盖进程/网络/文件/持久化/DNS/启动项/服务/计划任务/内网 |
| 本地模型 | 自动探测 Ollama 与 llama.cpp;不可用时自动降级为纯规则模式 |
| 报告 | HTML / Markdown,包含文件、持久化、DNS、网络行为、持久化残留等多章节 |
| 存储 | 历史扫描 JSON、报告文件、经验反馈库,可选 DPAPI 加密 |
| 历史对比 | 对比两次扫描的进程/网络/启动项/服务/文件/持久化/DNS/端口差异 |
| 反馈闭环 | 用户可标记误报/漏报,经验库自动抑制已知误报 |
| 原生黑客桌面界面 | 全屏 WinForms 窗口,支持扫描模式选择、重新扫描、文件/网络/DNS/持久化/进程/服务/任务/启动项详情 |
| 可视化仪表盘 | 可选浏览器版仪表盘 |
| 完整性保护 | SHA256 清单校验程序文件,启动时自动自检 |
| 离线更新 | update-rules.ps1、import-malware.ps1、import-yara.ps1 支持离线导入规则/哈希/YARA |
usb-security-advisor/
├── config/
│ └── config.json # 全局配置
├── start.bat # 双击启动交互菜单
├── integrity.sha256 # 程序文件完整性清单
├── data/
│ ├── history/ # 历史扫描结果
│ ├── reports/ # 生成的报告
│ ├── logs/ # 运行日志
│ ├── experience.json # 用户反馈/经验库
│ └── malware.db.json # 恶意特征库(可更新)
├── docs/
│ ├── DESIGN.md # 设计文档
│ └── USER_GUIDE.md # 用户指南
├── scripts/
│ ├── run.ps1 # 一键运行入口
│ ├── advisor.ps1 # 交互式菜单
│ ├── compare.ps1 # 历史对比
│ ├── feedback.ps1 # 误报/漏报反馈
│ ├── verify.ps1 # 完整性校验
│ ├── update-rules.ps1 # 离线规则更新
│ ├── import-malware.ps1 # 导入恶意哈希库
│ ├── import-yara.ps1 # 导入 YARA-like 规则
│ ├── setup.ps1 # 一键初始化(首次运行)
│ ├── package.ps1 # 发布打包(生成 zip)
│ ├── dashboard.ps1 # 生成浏览器版可视化仪表盘
│ ├── hacker-ui.ps1 # 原生黑客桌面界面(无需浏览器)
│ └── build.ps1 # 构建校验/复制到 U 盘
├── web/
│ └── dashboard.html # 仪表盘模板(自包含)
├── rules-pack/
│ └── README.md # 规则包格式说明
├── src/
│ ├── main.ps1 # 主入口
│ ├── common.ps1 # 公共工具
│ ├── modules/
│ │ ├── Collector.ps1 # 单机采集
│ │ ├── NetworkScanner.ps1 # 内网巡检
│ │ ├── Analyzer.ps1 # 规则引擎
│ │ ├── Model.ps1 # 本地模型接口
│ │ ├── Reporter.ps1 # 报告生成
│ │ ├── Storage.ps1 # 历史/经验存储
│ │ ├── Integrity.ps1 # 完整性保护
│ │ ├── MalwareDb.ps1 # 恶意特征库
│ │ ├── FileScanner.ps1 # 文件/U盘扫描
│ │ ├── PersistenceScanner.ps1 # 持久化检查
│ │ └── SignatureEngine.ps1 # YARA-like + PE 分析
│ ├── rules/ # JSON 规则库
│ └── templates/
│ └── report.html # HTML 报告模板
└── tests/
└── test.ps1 # 冒烟测试
git clone https://github.com/你的用户名/USB-Security-Advisor.git
cd USB-Security-Advisor然后:
# 首次初始化(创建 data 目录、生成完整性清单、初始化恶意特征库)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\setup.ps1
# 启动原生黑客桌面界面
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\hacker-ui.ps1或者直接双击:
start.bat:普通权限启动start-admin.bat:以管理员权限启动(会弹出 UAC 确认)
克隆仓库后
data/是空的,setup.ps1会自动创建所需目录和文件。
- 下载发布包
USB-Security-Advisor-vX.Y.Z.zip(由scripts/package.ps1生成)。 - 解压到任意目录,例如
D:\USB-Security-Advisor。 - 双击
start.bat:- 首次运行会自动初始化环境(创建数据目录、生成完整性清单)
- 然后直接弹出原生黑客桌面界面(无需浏览器)
- 如果双击没有反应,手动运行:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\setup.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\hacker-ui.ps1也可以直接在项目根目录双击
start.bat使用。
powershell -NoProfile -ExecutionPolicy Bypass -File src\main.ps1 -Mode local -SkipModel -NoNetwork或使用一键脚本:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode local -SkipModel -NoNetworkpowershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode full内网扫描前请确保你有权扫描当前网络;扫描仅做端口探测,不进行漏洞利用。
# 快速模式(少量端口)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode network -ScanMode quick
# 深度模式(更多端口)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode network -ScanMode deep
# 指定子网并排除主机
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode network -Subnets 192.168.1.0/24 -ExcludeHosts 192.168.1.10,192.168.1.20
# 自动化场景跳过确认
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode network -SkipConfirmpowershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode local -Format mdpowershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode local -OpenReport# 查看历史记录
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\compare.ps1 -List
# 对比最近两次扫描
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\compare.ps1
# 生成 HTML 对比报告并自动打开
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\compare.ps1 -Format html -Open# 查看当前反馈
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\feedback.ps1 -List
# 标记某条发现为误报
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\feedback.ps1 -FindingId PROC-001 -Feedback false_positive -Note "公司安全软件,误报"
# 标记为真实风险
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\feedback.ps1 -FindingId NET-002 -Feedback true_positivepowershell -NoProfile -ExecutionPolicy Bypass -File tests\test.ps1# 校验当前程序文件是否被篡改
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify.ps1
# 校验 U 盘部署目录(指定清单路径)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\verify.ps1 -ManifestPath E:\usb-security-advisor\integrity.sha256交互菜单启动时会自动执行快速自检;校验失败会询问是否继续。
# 从 rules-pack 目录导入规则
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\update-rules.ps1
# 从指定规则包目录导入并校验清单
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\update-rules.ps1 -Source D:\rules-pack -Manifest D:\rules-pack\integrity.sha256规则包格式见
rules-pack/README.md。
# 从纯文本导入(每行一个 SHA256)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\import-malware.ps1 -Source D:\hashes.txt
# 从 JSON 特征库合并导入
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\import-malware.ps1 -Source D:\malware.db.json# 每行格式:规则名|级别|描述|字符串1;字符串2;...
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\import-yara.ps1 -Source D:\my-rules.txt# 快速
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode local -ScanProfile quick
# 标准(默认)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode local -ScanProfile standard
# 深度
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\run.ps1 -Mode local -ScanProfile deep在全屏 UI 中也可通过
QUICK / STANDARD / DEEP按钮切换,并使用RESCAN重新扫描。
# 只校验文件完整性
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build.ps1
# 复制到 U 盘(例如 E:)
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build.ps1 -Target E:\
# 生成“下载解压即可用”的 zip 发布包
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\package.ps1
# 生成黑客风格可视化仪表盘并自动打开
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\dashboard.ps1 -Open本项目默认使用纯规则模式,不需要模型也能运行。若想启用本地 AI 增强,任选一种:
- 安装 Ollama 并保持运行。
- 下载一个小模型,例如:
ollama pull qwen2.5:1.5b- 修改
config/config.json:
"model": {
"provider": "auto",
"ollama_endpoint": "http://127.0.0.1:11434",
"ollama_model": "qwen2.5:1.5b",
"enabled": true
}- 下载 llama.cpp 可执行文件。
- 下载一个 GGUF 量化模型,例如
qwen2.5-1.5b-instruct-q4_k_m.gguf。 - 修改
config/config.json:
"model": {
"provider": "llamacpp",
"llama_cpp_path": "D:\\llama.cpp\\main.exe",
"llama_cpp_model": "D:\\models\\qwen2.5-1.5b-q4.gguf",
"enabled": true
}模型文件较大,当前项目未捆绑下载;你可以将模型放在 U 盘内,实现完全离线。
- 使用构建脚本自动生成部署目录:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\build.ps1 -Target E:\这会在 U 盘上生成 usb-security-advisor 目录,包含程序文件、integrity.sha256 完整性清单和 README-U盘.txt 部署说明。
- 建议将 U 盘分为两个分区:
- 程序区(只读):
config、src、scripts、docs、start.bat、integrity.sha256 - 数据区(可写):
data
- 程序区(只读):
- 若启用本地模型,将 GGUF 模型放入 U 盘,并修改
config.json指向 U 盘路径。 - 在目标电脑上以普通用户运行
start.bat或scripts\run.ps1;部分采集(如计划任务)需要管理员权限,但核心体检无需管理员。 - 每次修改程序文件后,重新运行
scripts\build.ps1更新完整性清单。
能不能“插入 U 盘就自动运行”?
不能。现代 Windows 出于安全原因默认禁止 U 盘/AutoRun 自动运行,autorun.inf 在移动硬盘/U盘上不会自动执行,而且这样做本身也是安全风险。所以这个项目没有做“插入即自启动”。
我们实现的是“U盘便携 + 双击启动”:
- 把项目复制到 U 盘(或运行
build.ps1 -Target E:\自动生成部署目录)。 - 插入任意 Windows 电脑。
- 双击 U 盘里的
start.bat:- 自动初始化
- 启动全屏安全体检界面
- 如果需要管理员权限采集更完整数据,双击
start-admin.bat:- 会弹出 UAC 确认
- 以管理员身份启动体检
这是 Windows 环境下最可靠、也最安全的“便携 U 盘使用方式”。
- 本工具仅用于授权环境的安全自查、应急响应、教学研究。
- 内网扫描仅做主机发现与端口探测,不利用漏洞、不进行弱口令爆破。
- 请勿在未获得授权的情况下扫描他人网络。
- 工具给出的结论为辅助判断,不替代专业安全人员。
- MVP:单机采集 + 规则分析 + 报告 + 存储
- 内网巡检 + 网络扫描规则
- 本地模型接口(Ollama / llama.cpp,可降级)
- 历史对比(同一机器两次扫描 diff)
- 用户反馈 / 误报标记写入经验库并影响规则权重
- 交互式菜单 / 一键启动(start.bat + advisor.ps1)
- 运行日志(data/logs/advisor.log)
- U 盘打包(build.ps1 -Target)
- 完整性保护(SHA256 清单 + 启动自检 + verify.ps1)
- 内网扫描控制(quick/standard/deep、指定子网、排除主机、授权确认)
- 多网段指定(-Subnets 支持多个 CIDR)
- 规则扩充(计划任务/服务/数组任一匹配)
- 报告优化(内网巡检结果表、已抑制误报展示、风险等级算法优化)
- 多网卡自动选择增强(过滤虚拟网卡,优先有网关网卡)
- 离线规则更新(规则包导入 + 完整性校验)
- 黑客风格可视化仪表盘(矩阵雨/雷达/终端/趋势)
- 原生黑客桌面界面(WinForms,无需浏览器)
- 文件/U盘只读扫描
- 恶意特征库(114 条真实 SHA256 + YARA-like)
- PE 静态分析(熵/加壳/RWX/IAT/版本信息)
- 持久化深度检查(WMI/AppInit/IFEO/Winlogon/COM/Run)
- UDP / DNS / 网络聚合 / C2 端口画像
- 三档扫描模式(quick/standard/deep)
- 离线导入恶意哈希 / YARA-like 规则
- UI 详情弹窗(文件/网络/DNS/持久化/进程/服务/任务/启动项)
本项目用于安全研究/教育场景,请遵守当地法律法规。