lordbasilaiassistant-sudo/safe-antivirus-scanner
GitHub: lordbasilaiassistant-sudo/safe-antivirus-scanner
一款安全、开源的Windows病毒扫描器,提供额外的病毒检测能力。
Stars: 2 | Forks: 0
# 抗病毒扫描器
**一款一流的免费、开源、设计安全的按需病毒扫描器,适用于**
Windows。只需一键扫描恶意软件实际隐藏的地方,与超过1M+的真实恶意软件签名、YARA家族规则和行为分析进行比对——并且
**报告所有内容供您审查,而不会修改您的文件。**
它设计为与Microsoft Defender并行运行,作为快速、透明的第二
意见——不是可能减慢或损坏您的PC的后台服务。它是一个单文件Windows应用程序(`AntivirusScanner.exe`)和CLI。
### 为什么选择这款
- **安全第一。** 没有内核驱动程序,没有始终开启的后台钩子——这类
软件会破坏PC。按设计为只读,由自动测试保证。
- **透明。** 每一行都是开源的,可审计。没有遥测,没有
账户,没有电话回家。正常扫描永远不会接触网络。
- **真实检测,没有营销数学。** 1M+的真实野外恶意软件哈希值、YARA
家族规则、PE行为分析和代码签名信任——通过一个置信度评分模型结合,以保持误报率低。
- **没有文件夹选择。** 快速/完整/自定义一键配置文件。
- **诚实地说明限制。** 它不会声称能够捕获 *一切*(没有什么是这样做的)。
它是一个敏锐的分级扫描器,并告诉您它看不到什么。
## 它能做什么
- **一键扫描配置文件——无需选择文件夹:**
- **快速扫描**——恶意软件实际着陆和隐藏的地方:临时目录、
下载、桌面、AppData树、启动文件夹以及所有自动运行的程序
(注册表Run键、启动、计划任务)。
- **完整扫描**——每个固定驱动器。
- **自定义**——选择一个文件夹(经典行为)。
- **真实恶意软件签名**——包含来自免费 **abuse.ch MalwareBazaar** 提供的
真实野外恶意软件指纹的基础(以及无害的EICAR测试签名)。您可以通过应用程序中的**更新签名**或在CLI上的`antivirus update`/`antivirus update --full`随时刷新。
- **YARA家族规则**——模式/结构规则,可以捕获整个 *家族* 的
恶意软件(因此新的变体仍然匹配),包括下载器、恶意
Office宏、注册表持久性和嵌入式PE dropper。将更多的`.yar`
文件(例如大型免费社区集)放入`antivirus/rules/`以扩展。
- **可选的VirusTotal第二意见**——仅哈希值,自愿(`--virustotal`,
需要免费的`VT_API_KEY`)。发送一个指纹,永远不会发送您的文件。
- **可执行文件的行为分析**(通过`pefile`)——读取导入表
并标记出表征恶意软件的能力组合:**进程注入**、**键盘记录**、**反分析/沙盒规避**、凭证访问和已知的 **打包器** 部分。
- **代码签名信任**——由受信任的发布者有效签名的文件将清除其启发式怀疑。这是阻止合法安装程序(Opera、Claude、RuneLite、…)仅因为被压缩而被误报的原因。
- **置信度评分**——弱信号不会单独标记;发现只有在组合信号(以及上下文,例如一个 *未签名* 的二进制文件位于临时文件夹中)超过阈值时才会出现。减少了误报。
- **启发式**——高 **熵** 打包、Office **VBA宏**、混淆
**脚本**、**欺骗性双重扩展**如`invoice.pdf.exe`。
- **按三个等级审查结果**:`THREAT`(已知恶意)· `REVIEW`
(启发式,未确认)· `TEST`(无害的EICAR)。
- **隔离**是自愿的、已确认的、可逆的(移动,而不是删除),并且
仅限于已知恶意匹配。
## 准确性与诚实的限制
没有扫描器可以检测到 *每个* 病毒——这个不行,商业大品牌
也不行。以下是真实的情况,以便您可以信任结果:
- **强于**:已知签名、通过其导入/行为(注入器、键盘记录器、打包器)暴露自己的恶意软件、持久位置(自动运行)、以及明显的社交工程技巧。代码签名+评分模型将误报率保持在较低水平。
- **弱于/不做**:没有签名且看起来无害的零日漏洞;无文件/仅内存中的恶意软件(它扫描文件,而不是实时进程内存);以及像Malwarebytes/Defender这样的供应商运行的专有行为遥测网络。其已知恶意软件覆盖范围是MalwareBazaar提供的内容(可刷新,您也可以添加自己的包)加上可选的VirusTotal查找——广泛,但不是付费供应商维护的完整专有语料库。
- **启发式`REVIEW`标记是线索,而不是判决。** 一个未签名的强大用户工具(例如密码恢复实用程序)可以合法地触发它们。
将其视为一个敏锐的**按需分级扫描器**,与Defender并行运行——而不是它的替代品。
## 它不是什么
不是一个实时/访问时抗病毒。它不安装驱动程序,也不在
后台运行任何东西——这是可能破坏PC的软件类别,它故意避免这样做。
## 运行它
### 应用程序(无需Python)
双击**`AntivirusScanner.exe`**(在构建后`dist/`中,或从
发布)。选择文件夹→**扫描**→审查结果→可选**隔离**。
### 从源代码(Python 3.11+)
```
# Optional but recommended for behavioural analysis + signature trust:
py -m pip install pefile pywin32
# GUI
py -m antivirus
# CLI -- one-click Quick scan (high-risk locations + autoruns), read-only
py -m antivirus.cli scan --profile quick
# CLI -- Full scan (all fixed drives)
py -m antivirus.cli scan --profile full
# CLI -- scan a specific folder
py -m antivirus.cli scan "$env:USERPROFILE\Downloads"
# CLI -- known signatures only, no heuristics
py -m antivirus.cli scan C:\some\folder --no-heuristics
# CLI -- offer to quarantine KNOWN-BAD files (asks before moving anything)
py -m antivirus.cli scan C:\some\folder --quarantine C:\Quarantine
```
CLI退出代码:`0` = 清洁/测试,`1` = 需要审查。
## 验证其工作情况(安全自检)
EICAR字符串是一个无害的68字节测试文件,每个抗病毒软件都设计为检测它。创建一个并扫描它:
```
$eicar = 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*'
New-Item -ItemType Directory -Force "$env:TEMP\av_test" | Out-Null
Set-Content -Path "$env:TEMP\av_test\eicar.com" -Value $eicar -NoNewline -Encoding Ascii
py -m antivirus.cli scan "$env:TEMP\av_test"
```
您应该看到一个`TEST`检测。之后删除`%TEMP%\av_test`。
## 自己构建.exe
没有“相信我”的二进制文件——从源代码重新构建:
```
powershell -ExecutionPolicy Bypass -File build_exe.ps1
# -> dist\AntivirusScanner.exe
```
这运行测试套件,安装PyInstaller,并通过
`packaging/antivirus.spec`构建。
## 测试
```
py -m unittest discover -s tests -v
```
该套件涵盖了检测(EICAR、哈希、模式、跨块)、每个启发式,
以及安全保证(只读、无符号链接逃逸、大小限制、优雅的跳过)。
## 项目布局
```
antivirus/
scanner.py read-only scanning engine (streaming, entropy, pipeline)
targets.py Quick/Full/Custom scan-profile location resolver
analyzers.py cheap heuristics (entropy / script / macro / double-extension)
pe_analyze.py deep PE behaviour analysis via pefile (imports/sections)
trust.py Authenticode code-signing verification (FP suppression)
scoring.py confidence scoring: combine signals, weigh against trust
autoruns.py read-only enumeration of Run keys / Startup / scheduled tasks
signatures.py built-in EICAR + JSON signature DB loader
models.py data models + severity vocabulary
entropy.py Shannon entropy
cli.py command-line interface
gui.py tkinter desktop app
db/ JSON signature packs (fingerprints only -- never live malware)
packaging/ PyInstaller spec + entry point
tests/ unittest suite (stdlib only)
```
## 安全性与贡献
阅读[`SECURITY.md`](SECURITY.md)以了解完整的安全模型和
[`CONTRIBUTING.md`](CONTRIBUTING.md)以了解规则(最大的一个:**永远不要提交一个
活着的恶意软件样本**——只有指纹)。
## 许可证
[MIT](LICENSE).
标签:Conpot, DNS信息、DNS暴力破解, Windows安全, YARA规则, 代码签名验证, 免费杀毒软件, 全面扫描, 兼容性, 命令行界面, 安全设计, 实时更新, 开源审计, 恶意软件签名, 文件系统安全, 无内核驱动, 无网络连接, 无背景服务, 无账户, 无遥测, 用户友好, 病毒扫描, 第二层防御, 系统性能, 系统稳定性, 自定义扫描, 误报率低, 轻量级应用, 逆向工具, 透明性