openprx/prx-sd

GitHub: openprx/prx-sd

基于 Rust 的跨平台开源防病毒引擎,集成多层威胁检测与实时防护能力。

Stars: 0 | Forks: 0

# PRX-SD **适用于 Linux、macOS 和 Windows 的开源防病毒引擎。** PRX-SD 提供多层威胁检测,结合了哈希签名、YARA 规则、启发式分析和机器学习 —— 具备实时文件系统保护、CLI 工具和桌面 GUI。 ## 功能特性 - **多层检测** — SHA-256/MD5 哈希匹配、38K+ YARA 规则(通过 YARA-X)、启发式评分以及可选的基于 ONNX 的 ML 推理 - **实时保护** — 带有进程拦截的文件系统监控(Linux 上使用 fanotify,macOS 上使用 FSEvents,Windows 上使用 ReadDirectoryChangesW) - **勒索软件防御** — 检测批量加密模式并自动拦截恶意进程 - **内存扫描** — 扫描运行中的进程内存以查找内存驻留威胁 - **网络保护** — 基于 IOC 的 IP/域名/URL 过滤,带有广告拦截引擎的 DNS 代理 - **自动响应** — 终止进程、隔离文件(AES-256-GCM 加密保管库)、清理持久化机制 - **兼容 ClamAV** — 导入 ClamAV `.cvd`/`.hdb`/`.hsb` 签名数据库 - **VirusTotal 集成** — 对未知文件进行云端查询(免费 API,每天 500 次查询) - **Rootkit 检测** — 隐藏进程检测、内核模块验证、LD_PRELOAD 检查 - **沙箱** — 通过 ptrace/seccomp/namespaces 进行进程隔离与行为分析 - **桌面 GUI** — 基于 Tauri 2 + Vue 3 的应用程序,支持系统托盘、拖放扫描、仪表盘 - **插件系统** — 使用自定义 WebAssembly (WASM) 插件进行扩展 - **跨平台** — Linux (x86_64, aarch64), macOS (x86_64, aarch64), Windows (x86_64) ## 快速开始 ### 安装 ``` curl -fsSL https://raw.githubusercontent.com/openprx/prx-sd/main/install.sh | bash ``` 或者从源码构建(参见 [构建](docs/BUILDING.md))。 ### 基本用法 ``` # 扫描文件 sd scan /path/to/file # 递归扫描目录 sd scan /home --recursive # 扫描并自动隔离威胁 sd scan /tmp --auto-quarantine # 实时监控 sd monitor /home /tmp # 作为后台守护进程运行 sd daemon /home /tmp # 更新 signature database sd update # 查看引擎信息和 signature 统计 sd info ``` ### 输出格式 ``` # JSON 输出(用于脚本) sd scan /path --json # HTML 报告 sd scan /path --report report.html ``` ## 检测流水线 ``` File Input -> Magic Number Detection (PE/ELF/MachO/PDF/ZIP/Office) | +-- 1. Hash Matching (LMDB O(1) lookup — fastest) +-- 2. YARA-X Rules (38K+ pattern matching rules) +-- 3. Heuristic Analysis (entropy, suspicious APIs, packer detection) +-- 4. ML Inference (ONNX models via tract — optional) +-- 5. VirusTotal Cloud (API fallback for unknown files) | +-> Aggregate -> Verdict: Clean / Suspicious / Malicious ``` ## 架构 PRX-SD 是一个采用模块化 crate 的 Cargo workspace: | Crate | 用途 | |-------|---------| | `cli` | 命令行接口(`sd` 二进制文件) | | `core` | 扫描引擎协调 | | `signatures` | 哈希数据库 (LMDB) + YARA-X 规则引擎 | | `parsers` | 二进制格式解析器 (PE/ELF/MachO/PDF/Office) | | `heuristic` | 启发式评分 + ML 模型推理 | | `realtime` | 文件系统监控 + 勒索软件检测 | | `quarantine` | AES-256-GCM 加密隔离保管库 | | `remediation` | 威胁响应(终止/隔离/清理) | | `sandbox` | 进程隔离 + 行为分析 | | `plugins` | WebAssembly 插件运行时 | | `updater` | 签名更新客户端(Ed25519 验证) | 详情请参见 [架构](docs/ARCHITECTURE.md)。 ## CLI 参考 PRX-SD 提供 20 多个命令。以下是最常用的命令: | 命令 | 描述 | |---------|-------------| | `sd scan ` | 扫描文件/目录以查找威胁 | | `sd monitor ` | 实时文件系统监控 | | `sd daemon [PATHS...]` | 作为后台守护进程运行 | | `sd quarantine list\|restore\|delete` | 管理隔离文件 | | `sd update` | 更新签名数据库 | | `sd import ` | 导入自定义哈希黑名单 | | `sd import-clamav ` | 导入 ClamAV 签名 | | `sd config show\|set\|reset` | 管理配置 | | `sd schedule add\|remove\|status` | 计划扫描 | | `sd policy show\|set\|reset` | 处置策略 | | `sd info` | 引擎和数据库信息 | | `sd status` | 守护进程状态 | | `sd self-update` | 更新 sd 二进制文件 | 完整命令文档请参见 [CLI 参考](docs/CLI.md)。 ## 签名数据库 PRX-SD 内置了一套最小的嵌入式签名集,用于开箱即用的基础检测。为了获得全面的保护,请使用 [prx-sd-signatures](https://github.com/openprx/prx-sd-signatures) 仓库,其中聚合了来自多个来源的 38,800 多条 YARA 规则和威胁情报: - **abuse.ch** — MalwareBazaar, URLhaus, Feodo Tracker - **Neo23x0/signature-base** — APT 和犯罪检测规则 - **Yara-Rules/rules** — 社区 YARA 规则 - **ReversingLabs** — 商业级开源规则 - **Elastic** — 端点保护规则 - **ESET** — APT 追踪 IOC - **IOC Feeds** — 585K+ 恶意 IP、域名和 URL 更新签名: ``` sd update ``` ## 从源码构建 ``` # 先决条件:Rust 1.70+、pkg-config、openssl-dev git clone https://github.com/openprx/prx-sd.git cd prx-sd cargo build --release # 二进制文件位于 target/release/sd ``` 包括 GUI 和交叉编译在内的完整构建说明请参见 [构建](docs/BUILDING.md)。 ## 平台支持 | 平台 | 文件监控 | 进程拦截 | 内存扫描 | 处置修复 | |----------|----------------|---------------------|-------------|-------------| | Linux x86_64 | fanotify | FAN_OPEN_EXEC_PERM | /proc/pid/mem | systemd/cron | | Linux aarch64 | fanotify | FAN_OPEN_EXEC_PERM | /proc/pid/mem | systemd/cron | | macOS x86_64 | FSEvents | - | - | LaunchAgent | | macOS aarch64 | FSEvents | - | - | LaunchAgent | | Windows x86_64 | ReadDirectoryChangesW | Minifilter(计划中) | - | Registry/Tasks | ## 安全 如需报告安全漏洞,请参阅 [SECURITY.md](SECURITY.md)。 ## 许可证 PRX-SD 根据 [MIT](LICENSE-MIT) 或 [Apache-2.0](LICENSE-APACHE) 双重许可,您可任选其一。 ## 文档 文档提供 10 种语言版本:[docs/README.md](docs/README.md) | | | | | | |---|---|---|---|---| | [English](docs/CLI.md) | [中文](docs/zh/CLI.md) | [日本語](docs/ja/CLI.md) | [한국어](docs/ko/CLI.md) | [Español](docs/es/CLI.md) | | [Français](docs/fr/CLI.md) | [Deutsch](docs/de/CLI.md) | [العربية](docs/ar/CLI.md) | [Русский](docs/ru/CLI.md) | [ქართული](docs/ka/CLI.md) | ## 链接 - [CLI 参考](docs/CLI.md) - [架构](docs/ARCHITECTURE.md) - [构建](docs/BUILDING.md) - [签名仓库](https://github.com/openprx/prx-sd-signatures) - [OpenPRX](https://openprx.dev)
标签:AI工具, Apex, API接口, API 测试, ClamAV, CNCF毕业项目, CSV导出, DNS代理, DNS 反向解析, DNS 解析, EDR, IP 地址批量处理, PE 加载器, Rust, Tauri, Vue, WASM插件, Web 安全测试, Web归档检索, YARA, 云安全监控, 云资产可视化, 内存扫描, 勒索软件防护, 反病毒, 可视化界面, 启发式分析, 威胁情报, 子域名变形, 子域名枚举, 安全开源项目, 实时防护, 广告拦截, 开发者工具, 开源杀毒, 搜索语句(dork), 数据包嗅探, 文件系统扫描, 文件系统监控, 无线安全, 本体建模, 机器学习, 杀毒引擎, 沙箱, 流量嗅探, 病毒扫描, 系统安全, 终端安全, 网络安全, 网络安全审计, 网络流量审计, 脆弱性评估, 自动响应, 通知系统, 隐私保护, 隔离, 静态分析