ArEsXNinja/Alastor

GitHub: ArEsXNinja/Alastor

Alastor 是一款基于 Tauri v2 + React + Rust 的安全优先型桌面恶意软件分析工具,强制动态分析在隔离 VM 中执行,并集成 CFG 可视化与 LLM 威胁报告生成。

Stars: 0 | Forks: 0

# Alastor 隔离分析引擎 Alastor 是一款基于 Tauri v2、React 19 和 Rust 的桌面恶意软件分析工具。当前架构以安全为首要原则:静态分析可以在本地运行,但动态执行被强制通过一个独立的一次性环境进行。 **切勿在裸机上运行动态/完整分析。务必使用隔离的 VM。** 后端有意阻止在分析师工作站上进行动态执行。 ## 架构 Alastor 将主机控制与样本执行分离开来: 1. **前端 UI**:包含用于静态、动态安全和完整模式的 React 控件,以及一键式“在隔离环境中分析”工作流。 2. **Tauri 命令边界**:Rust 会在选择任何执行路径之前验证请求的模式,并拒绝不安全或未知的模式。 3. **静态分析器**:在不启动样本的情况下读取本地文件元数据、哈希、文件头、熵和结构特征。 4. **隔离控制器**:检测并控制 VMware Workstation、KVM/libvirt、Hyper-V 或轻量级后备方案。 5. **一次性客户机**:恶意软件仅在 VM/容器内执行。主机负责暂存样本、启动运行、收集结果并恢复状态。 ## 前端功能 - **Liquid Glass 仪表盘**:高级深色模式 UI,具有流畅的选项卡、自定义状态仪表盘和整洁的字体堆栈(Outfit 和 JetBrains Mono),由定制的样式系统(`src/index.css`)提供支持。 - **交互式 CFG 与导入图**:根据汇编跳转指令结构(例如 `jmp`、`jz`、`call`)合成基本块,并渲染基于 SVG 的动态控制流图和 DLL 依赖关系,支持缩放、平移和节点探索。 - **持久化作业历史**:将过去的二进制分析作业本地缓存到用户的本地目录(`/history/`),以便立即重新加载、删除或检索。 - **实时系统遥测**:通过整洁的 SVG 迷你图,将来自 Tauri 后端的实时 CPU 负载和内存压力更新反馈到 UI。 ## 分析模式 - **静态 (Static)**:在本地运行。仅读取文件字节;不执行进程。 - **动态安全 (Dynamic Safe)**:需要隔离提供程序。在一次性 VM/容器内执行样本。 - **完整**:在本地运行静态分析,然后运行隔离的动态分析。 当未配置可用的隔离后端时,动态和完整模式将默认执行失败。 ## 关键文件 - `src/App.tsx`:主页面控制器、导航外壳、LLM 配置和样本提交编排器。 - `src/components/Dashboard.tsx`:多维报告选项卡,显示概述(实时日志)、导入、PE 节、十六进制字符串、汇编反汇编和外部查询报告。 - `src/components/GraphView.tsx`:交互式 SVG 控制流图(CFG),渲染 DLL 节点、基本块链接,并托管 LLM 洞察面板。 - `src/components/HistoryView.tsx`:过往运行管理器,提供搜索查询过滤、风险等级分类和单个任务日志检索。 - `src/components/TelemetryView.tsx`:主机资源利用率屏幕,可视化 CPU 和内存仪表盘。 - `src/hooks/useAnalysis.ts`:自定义 React 状态和监听器,映射后端 Tauri 分析事件。 - `src/hooks/useJobStore.ts`:简单的 Zustand 全局键值存储,用于跟踪选定的作业运行。 - `src-tauri/src/models.rs`:用于分析结果、静态 PE 属性和遥测指标的统一模型 schema。 - `src-tauri/src/isolation.rs`:VM/容器提供程序检测、速率限制、超时、样本暂存、快照生命周期、控制器命令执行。 - `src-tauri/src/commands/analysis.rs`:安全命令边界、静态阶段、隔离动态交接、作业事件发送以及 JSON 历史文件持久化。 - `src-tauri/src/commands/system.rs`:向前端遥测接口报告 OS、架构以及实时硬件 CPU/内存指标。 - `src-tauri/src/lib.rs`:注册隔离运行时和 Tauri 命令。 - `src-tauri/capabilities/default.json`:最小化的 webview 权限;shell/fs/opener 权限不会暴露给前端。 ## 隔离提供程序 主要 VM 提供程序: - **VMware Workstation Pro**,通过 `vmrun` - **KVM/QEMU**,通过 `virsh` 和 libvirt 域快照 - **Hyper-V**,通过 PowerShell、检查点以及 PowerShell Direct / Guest Services 次要的轻量级后备方案: - **Windows Sandbox**,带有生成的 `.wsb` 策略并禁用网络 - **Firejail**(在 Linux 上),具有私有文件系统、无网络、drop 权限以及 seccomp - **gVisor** 占位符,用于未来的 OCI bundle 集成 VM 是生产级的执行路径。容器后备方案共享了更多的主机攻击面,应将其限制在风险较低的工作流中。 ## VMware 设置 1. 安装 VMware Workstation Pro 并验证 `vmrun` 在 `PATH` 中可用。 2. 创建一个没有敏感主机共享的干净分析 VM。 3. 安装最小化的客户机运行程序,或为 `vmrun` 配置客户机凭据。 4. 创建一个受信任的干净快照,例如 `clean-baseline`。 5. 在 Alastor 动态安全/完整模式下: - 提供程序:`VMware .vmx` - VM 配置:`.vmx` 文件的路径 - 快照:`clean-baseline` - 客户机用户:分析账户 - 密码环境变量:包含客户机密码的环境变量,例如 `ALASTOR_GUEST_PASSWORD` Alastor 会创建一个每次运行的快照,将样本暂存到客户机中,启动客户机执行,强制执行超时,停止 VM,并恢复到运行前的快照。 ## KVM / libvirt 设置 1. 安装 KVM/QEMU 和 libvirt。 2. 验证 `virsh` 能够管理该分析域。 3. 准备一个干净的域或具有隔离网络的 XML 配置文件。 4. 如果使用 guest-exec 收集,请启用 `qemu-guest-agent`。 5. 在 Alastor 动态安全/完整模式下: - 提供程序:`KVM XML` - VM 配置:libvirt `.xml` 文件的路径,或 VM 名称:现有的域名 - 客户机命令:使用 `{sample}`、`{results}`、`{timeout}` 和 `{job}` 的客户机端运行程序命令模板 Alastor 会定义或启动该域,创建快照,通过 agent 路径调用客户机执行,然后请求销毁并恢复快照。 ## Hyper-V 设置 1. 启用 Hyper-V 并创建一个干净的分析 VM。 2. 启用 Guest Services 或 PowerShell Direct 以进行文件传输和执行。 3. 尽可能创建一个非管理员权限的客户机分析账户。 4. 在 Alastor 动态安全/完整模式下: - 提供程序:`Hyper-V` - VM 名称:Hyper-V VM 名称 - 客户机用户:客户机分析账户 - 密码环境变量:包含客户机密码的环境变量 Alastor 会创建一个检查点,将样本复制到客户机中,启动带有超时的隔离客户机命令,然后请求还原检查点。 ## LLM 安全洞察 Alastor 支持直接在 **Graph** 选项卡中使用大型语言模型生成自动化的、结构化的安全评估报告。您可以配置: - **Google Gemini**:通过 Gemini API 密钥进行集成,使用 `gemini-2.0-flash` 等模型流式传输答案。 - **Ollama**:连接到您本地的 Ollama 实例(默认为 `http://localhost:11434`),运行 `llama3.2` 等模型。 - **自定义 endpoint**:使用标准的 bearer token 认证标头连接到自定义的 OpenAI 兼容 API endpoint。 LLM 会被输入来自分析状态的详细上下文,包括启发式发现、前 30 个 DLL 导入、前 20 个系统调用(syscalls)、网络事件和威胁情报查询。然后它会生成: 1. 执行摘要(整体威胁评估) 2. 威胁分类(例如,可识别的恶意软件家族) 3. MITRE ATT&CK 技术映射 4. 关键入侵指标(IOC) 5. 建议的补救措施 配置设置通过 **System** 选项卡下的 **LLM Settings** 输入,并持久化保存在本地存储中。 ## 安全控制 - 动态/完整模式被强制通过 `run_isolated_dynamic` 执行;先前的主机进程执行垫片已被移除。 - 静态模式默认为本地只读检查。 - Tauri webview 权限被最小化为核心功能和文件打开对话框访问权限。 - 客户机密码从环境变量中读取,不存储在 UI 配置中。 - 一次只能执行一个动态运行。 - 动态运行受到速率限制和超时限制。 - 控制器进程使用超时强制执行和 kill-on-drop。 - 样本被复制到 OS 临时目录下的每个作业暂存目录中。 - Windows Sandbox 后备方案会在生成的策略中禁用网络。 - 反规避支持从每次运行的指纹 token 开始,并保留特定于提供程序的随机化钩子,以便未来扩展。 ## 残余风险 - VM 逃逸漏洞仍然可能存在。保持 hypervisor 打补丁,并将分析主机与生产网络隔离。 - 客户机检测质量取决于所配置的 VM 和客户机运行程序。 - VMware/Hyper-V 客户机凭据处理需要谨慎的 OS 级环境清理。 - 容器后备方案不等同于 VM 隔离。 - 网络引爆应使用受控的恶意软件实验室网络或 sinkhole,而不是常规的企业或家庭网络。 - 快照回滚不能替代基础镜像的离线备份。 ## 开发 前置条件: - Node.js >= 20.19.0 - Rust 和 Cargo stable - 适用于您操作系统的 Tauri v2 构建前提条件 - 至少有一个受支持的、用于动态安全/完整模式的隔离后端 安装依赖: ``` npm install ``` 运行应用程序: ``` npm run tauri dev ``` 构建前端: ``` npm run build ``` 检查 Rust 后端: ``` cd src-tauri cargo check ``` 构建生产应用程序: ``` npm run tauri build ``` ## 部署 Alastor 使用 `antigravity.yml` 进行 CI/CD 和发布打包: - Rust 和 Node 预检 - 依赖项验证 - Linux AppImage/deb 和 Windows NSIS/msi 构建 - Tauri 更新程序签名 生产部署应包括文档化的基础镜像处理流程、VM 快照轮换,以及每个分析环境的隔离网络策略。
标签:AI风险缓解, DAST, React, Rust, Syscalls, Tauri, 云安全监控, 可视化界面, 恶意软件分析, 沙箱, 网络流量审计, 自动化攻击, 静态分析