headlessripper/Aria-Security

GitHub: headlessripper/Aria-Security

一款基于机器学习的 Windows 杀毒与系统防御平台,融合多层检测引擎与实时防护能力,通过本地 Web UI 提供统一安全管理。

Stars: 1 | Forks: 0

# Aria 安全 一款基于 AI 的 Windows 杀毒与系统防御平台。 Aria 结合了基于真实机器学习的 PE 分类器与 YARA 规则、哈希签名、证书信誉和行为分析,并搭配了实时的网络、勒索软件、漏洞利用程序和可移动存储保护功能——所有这些都由一个本地 Web UI 和内置的安全助手驱动。 ## 核心亮点 - **真实的 ML 检测。** 一个基于完整 EMBER 2018 标注集(30 万个正常样本 / 30 万个恶意样本)训练的 LightGBM 模型,并导出为 ONNX。**保留集 AUC 为 0.99755。** - **四层文件判定。** ML 评分、模糊/导入哈希、YARA 规则和 Authenticode 证书信誉通过显式的优先级策略进行融合,而不是仅依赖单一信号。 - **实时保护。** 网络信誉/IOC 阻断、勒索软件金丝雀和熵分析、漏洞利用链检测、行为规则,以及端口扫描 / SYN 泛洪防御。 - **覆盖所有驱动器。** 实时监控涵盖用户配置文件以及每个已连接的固定和可移动驱动器——包括 U 盘和外部 HDD/SSD——并且支持无需重启即可识别后续插入的驱动器。 - **Sentinel Sense。** 追踪每个安装程序在计算机上的写入内容,并在卸载后,以数据树的形式显示残留文件,同时提供将其移除的选项。 - **Argus。** 一个内置的安全助手,*无需*模型即可运行(通过真实工具进行确定性命令路由),并在存在本地 GGUF 模型时提供更丰富的功能。破坏性操作需要确认授权。 ## 架构 ``` ┌──────────────────────────────┐ │ UI: Flutter shell / WebView │ custom frameless window └──────────────┬───────────────┘ │ HTTP + Socket.IO ┌──────────────▼───────────────┐ │ Flask app (127.0.0.1:8765) │ 85 REST routes, live events └──────────────┬───────────────┘ │ ┌───────────────────┼────────────────────┐ │ │ │ ┌──▼──────────┐ ┌─────▼────────┐ ┌────────▼────────┐ │ Detection │ │ Protection │ │ Support │ │ engine │ │ services │ │ services │ │ ML · YARA │ │ network · │ │ vault · history │ │ hash · cert │ │ ransom · │ │ scheduler · │ │ · fusion │ │ exploit · │ │ whitelist · │ │ │ │ storage │ │ sense · Argus │ └──────┬──────┘ └──────┬───────┘ └────────┬────────┘ └────────────────┼───────────────────┘ ┌──────▼───────┐ │ SentinelBrain│ event bus + protection level └──────────────┘ ``` UI 是一个纯客户端:它仅通过 HTTP 和 Socket.IO 进行通信,因此引擎或服务对其具体的显示方式完全无感知。 ## 系统要求 - Windows 10/11 (x64) - Python 3.11(用于从源码运行) - 管理员权限 —— 杀毒软件需要此权限来配置防火墙规则和进行隔离 - 可选:[WebView2 运行时](https://developer.microsoft.com/microsoft-edge/webview2/) 用于 Flutter 外壳(Windows 11 已预装) ## 从源码运行 ``` python -m venv .venv .venv\Scripts\pip install -r requirements.txt .venv\Scripts\python SentinelUI_Flask.py ``` 这将启动后端并打开桌面窗口。要以无头模式运行并改用浏览器,请传入 `--no-elevate` 并打开 。 ## 构建 ### 桌面应用程序 ``` .venv\Scripts\python -m PyInstaller packaging\aria.spec --noconfirm ``` → `dist\AriaSecurity\AriaSecurity.exe`(独立运行;无需 Python) ### Windows 服务 ``` .venv\Scripts\python -m PyInstaller packaging\aria_service.spec --noconfirm ``` → `dist\AriaService\AriaService.exe` 以管理员身份运行: ``` AriaService.exe install # register, auto-start AriaService.exe start AriaService.exe stop AriaService.exe remove AriaService.exe debug # run in the console ``` 作为服务运行时,Aria 将以 **LocalSystem** 身份执行:保护机制在用户登录前即启动,在窗口关闭后依然保持运行,并且仅在安装时进行一次提权,而不会在每次启动时提示。 ### UI 外壳 (Flutter) ``` cd Client flutter pub get flutter build windows --release ``` → `Client\build\windows\x64\runner\Release\aria_shell.exe` 一个用于显示 UI 的极简无边框窗口。它**不会**启动后端。 ### 安装程序 ``` iscc packaging\Aria.iss ``` → `dist\installer\AriaSecurity-Setup-.exe` 安装并注册服务,同时一并安装 UI 外壳。 ## 数据存储位置 | 环境 | 位置 | |---|---| | 桌面运行 | `%USERPROFILE%\.AriaSecurity` | | 服务 (LocalSystem) | `%ProgramData%\AriaSecurity` | | 自定义覆盖 | `ARIA_DATA_DIR` | 存放白名单、隔离区、安全保险库、扫描历史记录、计划任务、Sense 映射和 Argus 历史记录。桌面端的数据会在服务首次启动时迁移至系统级目录中。 在 `%ProgramData%` 目录下,ACL 设置为 `SYSTEM`/`Administrators: FullControl`, `Users: ReadAndExecute` —— 这是刻意为之,以确保非管理员用户无法篡改隔离区和白名单。所有的写入操作均通过服务执行。 **卸载程序会保留此目录** —— 被隔离的文件和保险库属于您的个人数据,而非安装产物。 ## 检测引擎 | 防护层 | 功能说明 | |---|---| | **ML** | EMBER 2381 维特征 → LightGBM → ONNX。AUC 0.99755 | | **Hash** | MD5/SHA-256 签名库 | | **Fuzzy** | 导入哈希 + TLSH(在不可用时平滑降级) | | **YARA** | 精选规则命名空间,支持用户从 UI 中自行扩展 | | **Certificate** | 通过 WinVerifyTrust 验证 Authenticode,支持内嵌**及**目录签名 | | **Fusion** | 基于上述所有层的显式优先级策略 | 使用您自己的数据集重新训练: ``` python -m Engine.Properties.vectorize_ember --data --out --split train --labeled-only python -m Engine.Properties.train --data --format ember --max-rows 200000 ``` `--max-rows` 用于限制类别平衡子样本的数量,以确保训练过程能容纳于可用的 RAM 中。 ## 内核驱动程序(仅供开发/测试使用) `Plugins/Filter/` 包含一个文件系统 minifilter,它会在打开文件时进行扫描,若发现感染则通过 FltMgr 端口咨询用户模式引擎,并以 `STATUS_VIRUS_INFECTED` 拦截受感染的打开操作。它采用**故障开放(fails open)**设计:如果没有连接桥接或往返超时,访问将被允许。 它可以编译(`build.bat`,WDK),但**在开发高度上仅进行了测试签名**。加载它需要开启测试签名模式并重启计算机,而且有缺陷的内核驱动程序可能会导致系统蓝屏崩溃 —— **请务必在虚拟机 (VM) 中使用**。生产环境分发需要 EV 证书、Microsoft 证明签名 (attestation signing) 以及已分配的高度;详见 `Plugins/Filter/README.md`。 Aria 的其余部分均在用户模式下运行,完全不需要这些操作。 ## 开发说明 ``` .venv\Scripts\python -m pytest tests\ -q # test suite .venv\Scripts\python scripts\verify_reachability.py # dead-code gate ``` `verify_reachability.py` 会从入口点遍历导入项,如果实时模块数量发生偏移,或者已废弃的 `cleanup/` 路径下的任何内容再次变得可达,则会报错终止。 设计文档和实施计划存放于 `docs/superpowers/` 目录中。 ## 项目布局 ``` Engine/ detection engine (compiler, ML, YARA, signatures, model) Services/ protection + support services, brain, monitors Argus/ embedded security assistant Interface/ shared helpers, icons Actions/ response actions (quarantine, terminate) Config/ configuration and path resolution templates/ the single-page UI Client/ Flutter Windows shell Plugins/Filter/ kernel minifilter (dev/test) packaging/ PyInstaller specs + Inno Setup installer tests/ test suite docs/ design specs and plans ``` ## 安全提示 - Aria 需要管理员权限;这是其功能设计的固有要求。 - `Config/Config.json` 中的 API 密钥以明文形式存储。请将该文件视为机密文件,切勿提交真实的密钥。 - 当前构建版本未签名,因此在使用代码签名证书进行签名之前,SmartScreen 在其他计算机上会发出警告。 - **严禁向此仓库提交 PE 二进制文件** —— Aria 自身的扫描器会隔离在 `.git` pack 对象中发现的 PE 字节,这会导致仓库损坏。构建输出被添加到 .gitignore 正是因为这个原因。 ## 许可证 专有软件。完整的 *Aria Security AI Antivirus License Agreement* 已打包在 `Config/Sys_Config.py` 中,并在安装时展示。它授予了用于个人或内部商业用途的非排他性、不可转让的许可;不允许进行重新分发、再授权或逆向工程。 *Aria Security —— 由 Samuel Ikenna Great 开发。*
标签:Apex, CNCF毕业项目, DNS 反向解析, EDR, Flask, Flutter, IP 地址批量处理, YARA, 云资产可视化, 机器学习, 漏洞挖掘, 知识库安全, 终端安全, 网络信息收集, 网络安全审计, 脆弱性评估, 逆向工具, 防病毒软件