rootwithkhandal/OpenForensic

GitHub: rootwithkhandal/OpenForensic

一款基于 Rust 与 Tauri 2 构建的企业级跨平台数字取证与事件响应套件,覆盖磁盘镜像、内存分析、IOC 扫描和监管链报告的端到端取证流程。

Stars: 0 | Forks: 0

# ⚡ OpenForensic 磁盘镜像与数字取证套件 [![Version](https://img.shields.io/badge/version-2.1.0-blue.svg?style=for-the-badge&logo=semver)](package.json) [![Rust](https://img.shields.io/badge/rust-edition%202024-orange.svg?style=for-the-badge&logo=rust)](src-tauri/Cargo.toml) [![Tauri](https://img.shields.io/badge/tauri-2.11-24C8DB.svg?style=for-the-badge&logo=tauri)](src-tauri/tauri.conf.json) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg?style=for-the-badge&logo=linux)] [![License](https://img.shields.io/badge/license-Proprietary-red.svg?style=for-the-badge)] **OpenForensic** 是一款企业级、跨平台的数字取证与事件响应 (DFIR) 应用程序,由高性能的 **Rust** 构建并由 **Tauri 2** 驱动。OpenForensic 专为取证调查员、事件响应人员和执法人员设计,提供端到端、带有写保护的调查套件,能够进行物理磁盘克隆、实时易失性系统取证、深度内存分析、IOC 扫描以及自动化监管链报告。 ## 🌟 核心取证能力 | 模块 | 功能与特性 | | :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **📂 磁盘镜像** | 物理逐扇区和逻辑文件获取。支持 Raw (`.dd`)、E01 (`.e01`) 和高级取证格式 (`.aff`)。自动稀疏零块跳过和多线程压缩 (`zstd`, `gzip`)。 | | **🔴 实时获取** | 在 Windows 上使用卷影复制服务 (**VSS**) 冻结文件系统状态,实现零停机的实时证据收集。安全捕获操作系统锁定的工件,包括 NTFS MFT (`$MFT`)、注册表配置单元 (`SAM`, `SYSTEM`, `SECURITY`, `SOFTWARE`) 和事件日志。 | | **⚡ 快速系统取证** | 瞬时提取易失性系统状态:运行中的进程、网络连接、内核模块、Chrome/Edge 浏览器历史数据库以及 EVTX/syslog 事件记录。包含交互式 **Triage SQL 工作台**,可直接在应用程序内查询和检查 sqlite 数据库。 | | **💻 无头 CLI 模式** | 绕过 GUI 的完整可脚本化命令行界面 (`--cli`)。支持在 IR 自动化流水线、没有显示管理器的 AWS EC2 / Linux 服务器以及自动化取证脚本中进行无头执行。 | | **🧠 原生 Rust Volatility 引擎** | 内置高性能 **原生 Rust 内存取证引擎** (`volatility/`),用于分析获取的 RAM 转储 (`.raw`, `.vmem`, `.dmp`)。进程内运行,零 Python 依赖。支持 Windows、Linux 和 macOS 内存配置文件 (`windows.pslist.PsList`, `windows.netstat.NetStat`, `windows.cmdline.CmdLine`, `windows.filescan.FileScan`, `windows.malfind.Malfind`) 并提供实时日志流。 | | **🛡️ 威胁情报富化** | 在内存分析期间自动执行实时 IOC 富化。根据 **AbuseIPDB** 信誉评分验证提取的 IP 地址,并针对 **VirusTotal** 查询文件/进程哈希值。 | | **🛡️ SIEM & SOC 集成** | 将结构化 JSON 取证记录和威胁情报 IOC 直接实时摄取到 **Splunk HEC (HTTP Event Collector)** 和 **Wazuh Agent Socket / Syslog** 中。采用轻量级的本地磁盘和 socket 发送器,没有臃肿的重型嵌入式 HTTP 客户端。 | | **⏱️ 时间线生成器** | 自动化按时间顺序重建工件。从 MFT 记录、`$LogFile` 和 Ext4 日志中提取并解析时间戳,以生成统一的主时间线,并导出为结构化的 **CSV** 和 **JSON** 格式。 | | **🔍 实时 YARA 与关键字扫描** | 由纯 Rust 的 **YARA-X** 引擎驱动。在流式传输磁盘或内存数据的同时,针对自定义 `.yar` 规则集和正则表达式关键字搜索执行实时模式匹配。 | | **🧩 可扩展插件平台** | 模块化插件架构,支持编译后的原生共享库 (`.so`, `.dll`, `.dylib`),且仅限于获取后的分析模式。具有标准化的生命周期钩子 (`pre_acquisition`, `on_block`, `post_acquisition`),通过静态原生分派进行数据处理和自动化报告富化,无需动态 trait 或产生运行时开销。 | | **🔐 密码学哈希验证** | 使用经 NIST 批准的 **SHA-256 和 SHA-512** 引擎以及真正的 **MD5 和 SHA-1** 进行单遍多线程完整性验证,用于 NSRL/遗留匹配和跨工具验证。内置检查点功能,可暂停和恢复长时间的获取过程而不会导致数据损坏。 | | **🔑 密钥化完整性清单** | 内置密码学密钥化完整性密封引擎,使用唯一的工作站特定密钥 (`~/.openforensic/investigator_seal.key`),为证据容器和案件报告生成 detached 的防篡改签名 (`.manifest` / `.sig` / `.signature`)。 | | **📁 统一案件管理与报告** | 独立的 **Autopsy 风格统一案件文件夹架构** (`Cache/`, `Export/`, `Log/`, `ModuleOutput/`, `Reports/`, `.ofc` 清单和便携式 `openforensic.db`)。所有磁盘镜像、取证数据库、时间线和法庭可采信的 HTML/PDF 报告都会自动路由到每个案件的中央目录中。无需任何外部数据库导入脚本。 | ## 🏛️ 架构与异步流水线 OpenForensic 通过将磁盘读取、密码学哈希、IOC 扫描和文件写入分离为由 Tokio 运行时通道管理的不同异步处理流,从而实现了最大的 I/O 吞吐量。 ``` graph TD subgraph Storage & Memory Sources RawDisk[Physical Drive / dev/rdisk / sys/block] LiveSys[Live OS / VSS Shadow Copy] RamDump[Physical RAM / winpmem / lime / avml] end subgraph Rust Backend Engine Reader[Async Block Reader / Software Write-Blocker] Broadcast[Tokio MPSC Broadcast Channel] Hashers[Concurrent Hash Verification
SHA256 | SHA512 | Mapped MD5/SHA1] Yara[YARA-X & Keyword Scanner] Plugins[Static Native Plugin Engine
Compiled DLL / SO / DYLIB] Writer[Image Writer & Compression Engine
Raw | E01 | AFF | Sparse] VolEngine[Native Rust Volatility Engine
AbuseIPDB | VirusTotal IOC Enrichment] end subgraph Storage & UI CaseDB[(Global & Portable SQLite Case DBs)] CaseRoot[📁 Unified Case Folder Architecture] Reports[HTML / PDF Evidence Reports] UI[Tauri 2 / Vanilla CSS Forensic Dashboard] end RawDisk --> Reader LiveSys --> Reader RamDump --> VolEngine Reader --> Broadcast Broadcast --> Hashers Broadcast --> Yara Broadcast --> Plugins Broadcast --> Writer Hashers --> CaseDB Yara --> CaseDB Plugins --> CaseDB Writer --> CaseDB VolEngine --> CaseDB CaseDB --> CaseRoot CaseRoot --> Reports CaseDB -->|Structured JSON Stream| SIEM[Splunk HEC / Wazuh Socket] CaseDB <-->|Asynchronous IPC| UI VolEngine -->|Real-time Event Streams| UI ``` ### 🔒 捕获与分析模式 (纵深防御安全) 为了确保数字证据的完整性并防止在现场主动收集期间意外修改证据,OpenForensic 在数据捕获和分析之间实现了多层边界: - **默认捕获模式**:启动时,应用程序严格在 **捕获模式** 下运行。在此模式下,仅启用非侵入式的物理/逻辑获取、密码学哈希和常规实用工具。 - **会话分析模式门控**:切换到 **分析模式** 需要调查员通过交互式 UI 确认弹窗(“*切换到分析模式将禁用本次会话中进一步的修改证据安全防护*”)或在 CLI 模式下传递 `--mode analysis` 标志进行明确确认。 - **运行时 Rust 强制执行 (`require_analysis_mode`)**:所有 7 个获取后的分析和流式处理命令 (`query_triage_db`, `generate_image_timeline`, `start_volatility_analysis`, `test_siem_connection`, `save_siem_config`, `export_triage_to_siem` 和 `extract_memory_keys`) 均在 Rust 运行时层受到门控控制。在捕获模式下尝试调用这些处理程序的任何行为都会被立即阻止并拒绝。 - **监管链审计日志**:每次会话模式转换都会连同时间戳和调查员操作一起被密码学记录到 SQLite 案件数据库(`audit_logs` 表)中。 - **模块化能力白名单**:命令调用权限被组织为两个截然不同的静态能力文件:`capabilities/default.json`(始终激活的捕获命令)和 `capabilities/analysis.json`(分析套件命令)。 ### ⚡ 零 Panic 取证可靠性保证 在数字取证中,获取过程中发生软件 panic 或崩溃是不可接受的——它会损坏数千兆字节的证据镜像、破坏未保存的易失性内存工件,并破坏监管链。OpenForensic v2.1.0 在整个 Rust 后端执行了毫不妥协的可靠性标准: - **编译时禁止 (`#![deny(clippy::unwrap_used)]`)**:核心库模块 (`lib.rs`) 和应用程序二进制文件 (`main.rs`) 均强制执行严格的 lint 规则,禁止在生产代码中使用 `.unwrap()` 和 `.expect()`。任何容易引发 panic 的断言的引入都会在编译时被捕获并拒绝。 - **易错的错误传播**:所有系统互斥锁、SQLite 表评估、I/O 流和子进程管道均利用模式匹配 (`match`, `if let`, 或 `map_err(...)?`) 返回描述性的 `OpenForensicError` 变体。 - **严格的代码质量与 Clippy 合规性**:核心获取、哈希、报告和插件引擎在维护时保持零编译器或 clippy lint 警告 (`-D warnings`),利用现代 Rust 惯用法(如 `&& let` 链和静态零填充缓冲区)以实现最佳的内存效率。 - **优雅降级**:当与不可靠的外部源(例如,断开连接的 SIEM endpoint、缺失的第三方内存工具或锁定的操作系统句柄)交互时,引擎会捕获失败、向进度流记录带有时间戳的事件,并在不终止应用程序的情况下继续获取。 ### 🛡️ 实时 SIEM 与 SOC 集成 OpenForensic 弥合了现场磁盘镜像和安全运营中心 (SOC) 事件响应之间的差距。在快速系统取证和实时获取期间,取证发现会被转换为带有时间戳的结构化 JSON 记录,并实时流式传输到企业 SIEM 平台: - **Splunk HTTP Event Collector (HEC)**:通过 HTTPS POST 发出结构化事件,通过 HEC bearer token (`Authorization: Splunk `) 进行身份验证。自动索引运行中的进程、网络连接、浏览器访问和操作系统事件日志。 - **Wazuh Agent Socket / Syslog**:将取证记录格式化为 Wazuh JSON 行,并通过 TCP/UDP socket(默认端口 1514)直接流式传输,或者追加到由活动 Wazuh agent 监视的本地日志队列中。 - **一键 IR 取证**:响应人员可以在获取期间启用自动 SIEM 发送,立即用现场 IOC 丰富企业 SIEM 仪表板,而不会延迟物理数据收集。 - **零配置泄漏**:为了防止在编译后的二进制文件中泄露内部实验室 URL 或主机名,SIEM endpoint 默认清空为空字符串。每当在 CLI 模式下激活 `--siem-export` 时,提供目标 `--siem-endpoint` 都会经过严格验证并由 clap 要求 (`required_if_eq("siem_export", "true")`)。 ### 💻 无头 CLI 与自动化模式 OpenForensic 包含一个由 `clap` 驱动的原生命令行界面,允许调查员和自动化 SOAR 流水线在没有 GUI 或显示服务器的情况下执行取证引擎(非常适合 AWS EC2 云取证或远程 IR SSH 会话): ``` # 枚举检测到的物理 block devices openforensic --cli list-devices # 执行无头 E01 物理镜像,使用 zstd 压缩和 SHA-256 哈希 openforensic --cli acquire --source \\.\PhysicalDrive0 --dest D:\evidence\disk.e01 --format e01 --compression zstd --hashes md5,sha256 # 使用实时 Splunk HEC SIEM 流式传输运行快速实时取证(需要 Analysis Mode) openforensic --cli --mode analysis triage --dest C:\triage_output --siem-export --siem-type splunk_hec --siem-endpoint https://splunk.example.com:8088 --siem-token # 通过原生 Rust Volatility 引擎分析获取的 RAM dump,并使用 AbuseIPDB 威胁情报丰富(需要 Analysis Mode) openforensic --cli --mode analysis ram --dump memory.raw --profile windows.pslist.PsList --ioc-enrich ``` ### 🔑 密钥化密码学完整性清单 为了确保无需臃肿的非对称 OpenPGP 依赖即可实现法庭可采信的监管链,OpenForensic 集成了一个轻量级的 **密钥化完整性清单** 引擎: - **密钥化 HMAC 密封**:使用调查员案件编号和安全盐,直接在仪表板中生成确定性的 SHA-256 / SHA-512 完整性证明。 - **防篡改签名**:自动生成包含案件元数据、设备几何结构和镜像摘要的 detached 完整性清单 (`.manifest` / `.sig`)。 - **一键验证**:针对证据 payload 验证清单,以确认在获取后未发生任何篡改。 ### 🧩 可扩展的原生插件架构 OpenForensic 作为模块化的数字取证平台运行。第三方模块通过 `OpenForensicPlugin` 中定义的标准化生命周期钩子集成到获取流水线中: - **`pre_acquisition`**:在镜像开始之前调用,以检查案件元数据、卷几何结构并初始化资源。 - **`on_block`**:对从磁盘读取的每个数据块调用。数据块通过非阻塞的多生产者通道分派到后台工作线程,保证对磁盘读取吞吐量零降级。 - **`post_acquisition`**:在获取完成时执行。返回直接嵌入到官方 PDF、HTML 和文本案件报告中的自定义指标、哈希或分析输出。 #### 静态原生分派安全性 - **原生共享库 (`.so` / `.dll` / `.dylib`)**:高性能编译扩展,通过 FFI 符号 (`_openforensic_plugin_create`) 动态加载,用于操作系统级操作,采用静态分派以实现最大执行速度和最小二进制占用空间。 ### 🛡️ 硬件与软件写阻塞 OpenForensic 在 OS 内核边界强制执行只读访问: - **Windows**:通过 `CreateFileW` 打开块设备,严格请求 `GENERIC_READ` 及共享访问属性,防止操作系统或应用程序进行任何写入修改。 - **Linux**:使用 `O_RDONLY | O_DIRECT` 打开块设备以绕过浏览器和 OS 页面缓存,并查询 `BLKROSET` ioctl 以验证只读设备强制执行。 - **macOS**:直接与原始磁盘节点 (`/dev/rdiskX`) 通信,以实现无缓冲的、只读的硬件级速度。 ## 💻 系统要求与支持平台 | 平台 | 支持的版本 | 所需权限 | 特殊说明 | | :------------- | :---------------------------------- | :------------------------------ | :---------------------------------------------------------------------------------------------- | | **🪟 Windows** | Windows 10, Windows 11 (64-bit) | **管理员 (UAC Uplevel)** | 捆绑 `winpmem_mini_x64` 用于 RAM 捕获;需要 VSS 权限以提取锁定文件。 | | **🐧 Linux** | Ubuntu 20.04+, Debian, Arch, Fedora | **Root (`sudo` / `su`)** | 需要原始块设备访问权限 (`/dev/sdX`, `/dev/nvme0n1`)。捆绑 **LiME 内核模块** (`lime.ko`) 用于对称内核 RAM 捕获;还支持 `avml` 和 `/proc/kcore`。 | | **🍎 macOS** | macOS 11.0 Big Sur 或更高版本 | **Root + 完全磁盘访问权限** | 终端 / 应用程序必须在系统设置 ➔ 隐私与安全性下被授予 _完全磁盘访问权限_。 | ### 最低硬件要求 - **CPU**:建议使用 4 核或以上核心,用于并行 SHA-512 哈希计算和 YARA 规则编译。 - **RAM**:最低 4 GB(使用原生 Rust Volatility 引擎分析数千兆字节的 RAM 转储时建议 8 GB 或以上)。 - **存储**:建议使用 NVMe / SSD 目标存储,以防止在多算法哈希处理期间出现写入瓶颈。 ## 🚀 快速开始与安装说明 由于 OpenForensic 直接与原始块存储设备和内核内存交互,因此它**必须使用提升的管理员权限执行**。 ### 1. 在 Windows 上运行 1. 下载或编译 `openforensic.exe` 二进制文件。 2. 启动应用程序。内嵌的 UAC 清单将自动提示**管理员提升**。 3. 在 UAC 对话框上点击**是**。 4. 从**源选择器**侧边栏中选择您的目标设备,并选择您的调查标签页。 ### 2. 在 Linux 上运行 使用 `sudo` 通过终端执行二进制文件: ``` sudo ./target/release/openforensic ``` ### 3. 在 macOS 上运行 1. 打开**系统设置** ➔ **隐私与安全性** ➔ **完全磁盘访问权限**。 2. 为您的终端或目标 IDE 启用访问权限。 3. 使用超级用户权限从终端启动: ``` sudo ./target/release/openforensic ``` ## 🖥️ 仪表板概览与工作流 1. **📁 案件管理标签页** *(默认着陆标签页)*: - 应用程序直接打开到案件管理。使用原生 OS 目录浏览初始化原生的**统一案件文件夹架构**容器(`Cache/`、`Export/`、`Log/`、`ModuleOutput/`、`Reports/`、`.ofc` 清单和便携式 `openforensic.db`)。 - 通过交互式**案件架构可视化工具**检查案件子文件夹中的实时项目计数和存储消耗 (MB)。 - 点击**设置活动工作区**,自动将获取、取证和时间线导出目标预填充到当前案件文件夹。 - 查看历史获取作业,验证存储的 SHA-256/SHA-512 哈希,并导出自包含的 HTML 证据报告。详情请参阅 **[统一案件架构指南](docs/unified-case-architecture.md)**。 2. **📂 磁盘镜像标签页**: - 选择物理块设备或逻辑目录。 - 选择目标格式(`Raw .dd`、`E01` 或 `AFF`)。 - 启用扇区压缩、稀疏零块跳过,并选择验证哈希算法。 - 附加可选的 YARA 规则集 (`.yar`),以在镜像过程中进行实时 IOC 报警。 3. **⚡ 系统取证标签页**: - 一键执行快速系统收集:运行中的进程、网络 socket、浏览器历史记录和事件日志。 - *(注意:交互式**取证 SQL 工作台**受**分析模式**门控;点击顶部栏中的“切换到分析模式”即可解锁)。* 4. **🔴 实时获取标签页**: - 无需重启即可获取实时系统卷影副本。 - 勾选**捕获物理内存 (RAM)**,使用自动检测或自定义工具(`winpmem`、`avml`)转储易失性系统内存。 5. **⏱️ 时间线生成器标签页** *(需要分析模式)*: - 输入任何已获取的原始磁盘镜像 (`.dd`)。 - 指定输出目标,以生成包含文件系统修改和日志条目的统一按时间顺序排列的时间线(`timeline.csv` / `timeline.json`)。 - *受**分析模式**门控,以保护实时获取会话免受证据修改的影响。* 6. **🧠 RAM 分析标签页** *(需要分析模式)*: - 选择已获取的内存转储(`.raw`、`.vmem`、`.dmp`),并可选择指定自定义 Volatility 引擎可执行文件路径(默认使用内置的原生 Rust 引擎)。 - 选择分析配置文件(例如,`windows.pslist.PsList`、`windows.netstat.NetStat`、`windows.malfind.Malfind`)。 - 启用 **AbuseIPDB** 和 **VirusTotal** API 富化,以实时自动标记恶意的远程 IP 连接和可疑的进程哈希。 - *受**分析模式**门控,以保护实时获取会话免受证据修改的影响。* ## 🛠️ 从源码构建与开发 我们使用 [**mise**](https://mise.jdx.dev/) 来管理可重现的工具链(Rust 1.85+、Node.js)。 ### 步骤 1:克隆并安装依赖 ``` git clone https://github.com/rootwithkhandal/OpenForensic.git cd OpenForensic npm install ``` ### 步骤 2:清理陈旧的缓存与构建产物 (推荐) 在切换分支或升级 Tauri 依赖项时,请清理陈旧的构建产物: ``` mise run clean # 或者手动操作: cargo clean --manifest-path src-tauri/Cargo.toml ``` ### 步骤 3:验证工具链与检查构建 ``` mise run check # 或者手动操作: cargo check --manifest-path src-tauri/Cargo.toml ``` ### 步骤 4:以开发模式运行应用程序 要通过实时重新加载启动 OpenForensic 桌面窗口: ``` mise run run # 或者使用 npm: npm run tauri dev ``` _(在 Windows 上,如果测试原始物理磁盘扫描,请以管理员身份运行终端)。_ ### 步骤 5:编译生产发布二进制文件 构建优化后的发布可执行文件: ``` mise run build # 或者使用 npm: npm run tauri build ``` 编译后的独立二进制文件将输出到 `src-tauri/target/release/openforensic.exe`(在 Linux/macOS 上为 `./target/release/openforensic`)。 ## 📚 文档与参考指南 - [**统一取证案件文件夹架构指南**](docs/unified-case-architecture.md):标准化案件目录(`Cache/`、`Export/`、`Log/`、`ModuleOutput/`、`Reports/`)、`.ofc` 清单规范以及零导入便携式 SQLite 归档的技术概述。 - [**原生 Rust Volatility 引擎架构与参考**](docs/volatility-rust-engine.md):关于我们定制的原生 Rust 内存分析引擎(`volatility/`)、受支持的配置文件以及零依赖内存取证的完整技术指南。 - [**Ponytail 超债务修剪与系统架构**](docs/architecture-pruning-ponytail.md):深入了解我们精简的架构、静态原生插件、本地磁盘日志发送器以及弱哈希消除。 - [**OpenForensic 分析套件与动态模式门控指南**](docs/enabling-analysis-suite-features.md):关于捕获模式与分析模式之间取证边界、功能切换以及零 Panic 可靠性架构的综合指南。 - [**OpenForensic 哈希系统指南**](docs/hashes_guides.md):深入了解我们的 NIST 密码学验证架构、容器哈希 (E01/AFF) 以及确定性 SHA-256 密封映射。 - [**内存捕获与易失性取证指南**](docs/memory-dump.md):实时物理 RAM 获取、内核驱动程序 (WinPmem、LiME) 的概述,以及关于内存映射硬件偏移量大小调整的说明。 - [**PGP 与密钥化完整性清单指南**](docs/pgp_manifests.md):关于生成密钥化完整性密封、签署证据容器以及验证监管链的综合指南。 - [**安全策略**](SECURITY.md):漏洞报告指南和范围定义。 ## ⚠️ 已知的取证限制与实验室边界 在数字取证中,关于工具能力和架构边界的透明度对于法庭可采信性至关重要。依赖 OpenForensic 的调查员必须注意以下操作边界: 1. **内存取证偏移量表 (`volatility/`)**: 我们的原生 Rust 内存分析引擎目前采用静态池标签扫描(例如,在内核池分配中搜索 `"Proc"` 标签,并测试每个 Windows NT 版本的已知 `EPROCESS` 结构偏移量)。虽然速度极快且零依赖,但它目前不会从 Microsoft Symbol Server (`msdl.microsoft.com`) 下载或解析动态的 PDB/Symbol 文件。因此,在未经测试或高度定制/热修复的 Windows 内核版本上,进程解析可能需要回退到手动覆盖偏移量或外部 Symbol 解析。 2. **访问控制 / 实验室多租户**: OpenForensic 主要被设计为单调查员工作站应用程序(`--mode capture` 或 `--mode analysis`)。虽然案件管理将文件分离到独立的案件目录(`Case/`)中,但该应用程序依赖于操作系统级的用户权限,而不是内部基于角色的访问控制 (RBAC)。对于多审查员共享实验室部署,必须通过操作系统域权限和文件系统 ACL 来管理访问权限。 3. **高级密码学硬件密封**: 我们的 HMAC-SHA256 完整性清单 (`openforensic_hmac`) 使用存储在用户工作区目录(`~/.openforensic/`)中的 256 位密钥安全地密封证据容器。虽然在数学上是防篡改的,但硬件支持的密钥存储(例如,YubiKey / PKCS#11 / TPM 2.0 enclave 集成)目前已列入未来版本的开发路线图。 ## ⚖️ 法律与取证免责声明 _OpenForensic 的开发严格用于合法的数字取证调查、事件响应、数据恢复和学术研究。在未经明确法律授权或未拥有设备所有权的情况下,访问原始物理磁盘、获取易失性系统内存或对计算机介质进行镜像,可能会违反地方、州或国际的计算机隐私与犯罪法律。开发者不对滥用行为承担任何责任。_
标签:可视化界面, 调试插件, 通知系统