44tl/Cln

GitHub: 44tl/Cln

一个面向 Windows 的单文件轻量安全扫描器,专注于可疑文件、启动项持久化和恶意行为迹象的快速检测与排查。

Stars: 0 | Forks: 0

# CLN Scanner / BETA (可能存在错误) - V0.5.0 **加入 Discord 获取即时更新、安全说明和指南:** https://discord.gg/cqX6eAmcrp CLN 是一个简单的单文件 Windows 专注扫描程序,用于扫描可疑下载、陌生新应用、未签名应用、诈骗文件、脚本、存档和启动项。它旨在实现快速启动、透明展示其扫描过程,并默认避免执行高开销的操作。它不进行任何网络调用,除非您主动要求,否则不会清理任何内容。 ## 快速入门 **CLI 模式 (默认):** ``` python cln.py ``` 扫描常见风险位置并在终端打印报告。 **系统托盘模式 (后台运行 + 点击打开 GUI):** ``` python cln.py --tray ``` 运行一个最小化的托盘图标;点击它打开完整的设置 GUI。需要 `pystray` 和 `Pillow`: ``` python -m pip install -r requirements.txt ``` **GUI 模式 (立即扫描然后显示审查 GUI):** ``` python cln.py --gui ``` 执行扫描并打开图形化审查/删除窗口。 ## 使用方法 **默认行为:** 运行 `python cln.py` 会对常见位置 (下载、桌面、文档、临时文件) 执行无界面扫描,并打印一份文本报告。它以 CLI 为优先,并可在任何平台上运行。 ### 基本扫描 扫描常见风险位置 (下载、桌面、文档、临时文件): ``` python cln.py ``` 扫描特定文件夹: ``` python cln.py C:\Users\You\Downloads ``` 扫描整个用户配置文件: ``` python cln.py --full ``` ### 启动项、进程与行为检查 包含 Windows 启动项检查 (文件夹、注册表、计划任务、WMI、浏览器扩展): ``` python cln.py --startup ``` 包含运行中进程检查 (命令行和内存区域): ``` python cln.py --processes ``` 分析进程父子关系以检测 Living-off-the-Land 模式: ``` python cln.py --behavior ``` 实时监控进程创建: ``` python cln.py --monitor ``` ### 管理员注意事项 要进行最深入的扫描,请先以管理员身份打开 PowerShell 或命令提示符。在没有管理员权限的情况下,Windows 可能会阻止锁定的临时文件或受保护的应用程序文件;CLN 将跳过这些文件,并告知您有多少文件被阻止。在扫描运行期间,临时文件也可能消失;CLN 会将这些计为跳过,而不是将它们显示为错误。 ### 输出格式 输出 JSON: ``` python cln.py --json ``` 输出 CSV 以供电子表格审查: ``` python cln.py --csv ``` 写入用于 CI/CD 或代码扫描的 SARIF: ``` python cln.py --sarif .\reports\cln.sarif ``` 在 JSON/文本报告中包含按时间顺序的时间线: ``` python cln.py --timeline ``` ### 基线比较 仅显示先前 JSON 报告中未出现的发现: ``` python cln.py --json > .\reports\baseline.json python cln.py --baseline .\reports\baseline.json ``` ### GUI 和托盘模式 在扫描**之后**打开内置的审查和移除 GUI: ``` python cln.py --gui ``` 将 CLN 作为**系统托盘应用程序**运行 (仅限 Windows): ``` python cln.py --tray ``` ### 高级选项 深度检查 Windows Authenticode 签名: ``` python cln.py --signatures ``` 同时扫描风险文件夹之外的源代码脚本: ``` python cln.py --include-source ``` 将本地网络连接映射到拥有该连接的进程 (仅限 Windows): ``` python cln.py --network ``` 对 PE 文件运行启发式熵和导入分析: ``` python cln.py --heuristic ``` 扫描进程内存以检测进程镂空和可执行区域: ``` python cln.py --memory-scan ``` 运行自我保护和防篡改检查: ``` python cln.py --stealth ``` 限制嵌套 ZIP 递归深度: ``` python cln.py --archive-depth 4 ``` 安静模式 (抑制进度输出): ``` python cln.py --quiet ``` 禁用彩色终端输出: ``` python cln.py --no-color ``` 运行连续轮询扫描 (多轮): ``` python cln.py --continuous --poll-interval 30 --poll-count 3 ``` ### 扫描配置文件 使用捆绑常用标志的预设配置文件: ``` python cln.py --profile deep python cln.py --profile forensic python cln.py --profile paranoid ``` | 配置文件 | 用途 | |---------|---------| | `fast` | 针对常见风险位置的快速本地检查。 | | `deep` | 增加更强的文件、存档、签名和源代码覆盖范围。 | | `forensic` | 增加启动项、进程、网络和时间线检查。 | | `paranoid` | 提高扫描限制和深度以进行最大程度的审查。 | ### 脱敏控制 报告、JSON 和终端输出默认脱敏常见的 token、webhook URL、控制字符和当前主路径。 当您需要保留路径但仍隐藏机密信息时,请使用较轻的脱敏模式: ``` python cln.py --redact-level secrets --json ``` 完全禁用脱敏 (仅限本地取证工作): ``` python cln.py --no-redact ``` ### 清理操作 **隔离**已确认的已知恶意文件 (仅限内置哈希): ``` python cln.py --clean --startup ``` 永久**删除**而不是隔离: ``` python cln.py --clean --delete ``` 隔离与**用户提供的**哈希匹配的文件 (需要选择加入): ``` python cln.py --known-bad .\hashes.json --clean --clean-user-hashes ``` 从清单文件还原被隔离的文件: ``` python cln.py --restore .\quarantine\manifest.json ``` ### 自定义规则与签名 在不编辑 `cln.py` 的情况下添加外部内容规则: ``` python cln.py --rules .\rules.json ``` 在安装了 `yara-python` 时运行 YARA 规则: ``` python cln.py --yara-rules .\yara-rules ``` 运行 CLN 的内置 YARA-lite 规则引擎: ``` python cln.py --yara-lite-rules rules\cln-strong.yara-lite.json ``` 提供您自己的已知恶意和已知安全的哈希列表: ``` python cln.py --known-bad .\bad-hashes.json --known-good .\good-hashes.json ``` 带有来源元数据的结构化哈希列表: ``` { "schema": "cln-hash-list-v1", "description": "Internal confirmed bad hashes", "updated_at": "2026-04-30T00:00:00Z", "hashes": [ {"sha256": "7123e1514b939b165985560057fe3c761440a9fff9783a3b84e861fd2888d4ab", "description": "known bad sample"} ] } ``` 更改报告输出目录: ``` python cln.py --report-dir .\reports ``` 更改隔离目录: ``` python cln.py --quarantine-dir .\quarantine ``` 导出证据包 (复制高风险样本及元数据): ``` python cln.py --bundle .\evidence ``` 限制内容扫描大小 (默认 75 MB): ``` python cln.py --max-mb 150 ``` 调整并行工作线程数 (默认:自动): ``` python cln.py --workers 8 ``` ## 检查内容 | 类别 | 描述 | |----------|-------------| | **可执行文件与脚本** | 可疑的可执行文件和脚本文件,用户文件夹中新出现的可运行文件 | | **签名** | 使用 `--signatures` 时检测到的未签名或不受信任的 Windows 应用 | | **文件类型不匹配** | 被重命名的可执行文件、伪装的快捷方式 | | **虚假文档** | 诸如 `invoice.pdf.exe` 的名称、类似诈骗的名称 | | **存档** | ZIP、Office 文档、Java/Android 包、浏览器/软件包存档 | | **存档分析** | 存档路径遍历、可疑的压缩率、嵌套 ZIP、嵌入式宏项目、外部 Office 链接 | | **熵值检查** | 对可疑可执行文件和脚本执行滑动窗口熵检查 | | **PE 分析** | ImpHash、可疑的节名称、高熵可执行节、可写可执行节、可疑导入簇、时间戳异常、异常入口点 | | **快捷方式解析** | 原生 LNK 字符串解析,用于快捷方式目标和参数 | | **PDF 分析** | JavaScript、打开/启动动作、附加动作、嵌入文件 | | **OLE 提取** | 传统 OLE 字符串提取,用于检测 VBA 自启动、shell 执行和混淆指示器 | | **脚本反混淆** | 轻量级脚本字符串解析,用于在内容规则运行前处理简单的字符串拼接、反转、替换和字符数组混淆 | | **证据片段** | 匹配脚本内容规则的字节偏移量和行号 | | **启动位置** | Windows 启动文件夹、注册表 Run/RunOnce 条目、当前用户 COM 覆盖、IFEO 调试器键、AppInit/AppCert DLL 设置、Shell 图标叠加处理程序、计划任务、WMI 订阅、可疑浏览器扩展 | | **进程检查** | 使用 `--processes` 进行的可选运行中进程命令行和可执行文件专用内存检查 | | **行为图** | 使用 `--behavior` 进行的父子进程谱系分析 | | **实时监控** | 使用 `--monitor` 进行的进程创建监控 | | **本地网络** | 使用 `--network` 将活动 TCP/UDP 连接映射到对应进程 | | **GUI 功能** | 内置 Tkinter 移除 GUI,优先处理高/严重级别的发现,提供选中文件的隔离/删除操作和已知恶意哈希清理功能 | | **指示器** | 已编译的 Python 产物、原始 IP 指示器、脚本中可疑的 URL TLD | | **哈希列表** | 已知恶意哈希和可信哈希白名单可见性 | ## 安全性 没有任何一款扫描器能捕获所有威胁。请将 CLN 作为防护体系中的一层,与 Windows Defender、浏览器保护机制以及真正受到感染后谨慎的账户恢复步骤配合使用。
标签:API接口, DNS 解析, Linux安全, Living-off-the-Land(LoLBins)检测, Python安全工具, Qt, SolidJS, Windows安全扫描器, 下载文件安全检查, 压缩包扫描, 可疑文件检测, 启动项管理, 命令行工具(CLI), 图形界面(GUI), 多包管理, 开源安全工具, 搜索语句(dork), 文件完整性检查, 无签名应用扫描, 端点可见性, 系统托盘应用, 系统清理工具, 系统诊断工具, 终端安全(EDR), 网络信息收集, 网络安全, 脚本安全分析, 自动化安全运维, 轻量级杀毒, 逆向工具, 逆向工程平台, 隐私保护