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规则, 代码签名验证, 免费杀毒软件, 全面扫描, 兼容性, 命令行界面, 安全设计, 实时更新, 开源审计, 恶意软件签名, 文件系统安全, 无内核驱动, 无网络连接, 无背景服务, 无账户, 无遥测, 用户友好, 病毒扫描, 第二层防御, 系统性能, 系统稳定性, 自定义扫描, 误报率低, 轻量级应用, 逆向工具, 透明性