SecurityRonin/state-history-forensic

GitHub: SecurityRonin/state-history-forensic

一个为零依赖设计的状态历史取证类型库,提供时间索引导航原语的统一抽象层,供上层取证 crate 实现多源历史数据的结构化管理。

Stars: 0 | Forks: 0

# state-history-forensic [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![文档](https://img.shields.io/badge/docs-mkdocs-blue.svg)](https://securityronin.github.io/state-history-forensic/) [![赞助](https://img.shields.io/badge/Sponsor-h4x0r-ea4aaa?logo=githubsponsors)](https://github.com/sponsors/h4x0r) **用于 SecurityRonin 取证集群的零依赖 `[H]` 状态历史词汇表 —— 将每个导航原语提升为时间索引变体的 KNOWLEDGE 层类型与 trait。** `state-history-forensic` 是一个纯粹的 type/trait 叶子节点:无解析、无 I/O、无依赖。具体的 `[H]` crate(`vss-history`、`wal-history`、`git-history` 等)实现 `HistoricalSource` 并向下依赖于它。 ``` [dependencies] state-history-forensic = "0.1" ``` ## `[H]` 函子 `[H]` 将每个基础导航原语提升为时间索引变体: | 提升的原语 | 时间索引源 | |---|---| | `[P^H]` 磁盘 | VSS、APFS 快照、Time Machine、btrfs | | `[M^H]` 内存 | hiberfil 链、VMware 内存快照 | | `[L^H]` 日志 | 轮转日志、journald 封闭纪元 | | `[Q^H]` 查询 | 时间点 osquery 导出 | | `[C^H] ≅ [C]` | Git 已经编码了历史 —— `[C]` 上的 `[H]` 是恒等的 | ## crate 内容 | 模块 | 提供 | |---|---| | `identity` | `ArtifactRef` + `IdentityClaim` 多面身份,`IdentityDiscipline` 选择器 | | `clock` | `ClockProvenance` —— 四个正交轴 (source / trust_grade / tamper_resistance / ordering_only) | | `epoch` | `EpochTag`、`LsnKind` 排序键(例如:salt 限定的 SQLite WAL 帧) | | `cohort` | `TemporalCohort` / `TemporalState`、`CohortTopology`、`MaterializationSafety` | | `source` | `HistoricalSource` trait、`AcquisitionProtocol`、`StateMaterializer` 边界 | ## 设计 - **零外部依赖** —— 一个纯粹的 KNOWLEDGE 叶子。每个 `[H]` crate 都向下依赖于它;而它不依赖于任何东西。 - **对源定义的句柄 `H` 泛型化** —— `TemporalCohort` 按 `wall_time`(或备用排序键)对状态进行排序,且没有 trait-object 开销。 - **信任是多轴的,而不是扁平的层级** —— “本地但已签名”(iOS APFS)与“外部 + 已认证”(Sigstore)在结构上是截然不同的。 [隐私政策](https://securityronin.github.io/state-history-forensic/privacy/) · [服务条款](https://securityronin.github.io/state-history-forensic/terms/) · © 2026 Security Ronin Ltd
标签:Rust, 可视化界面, 底层库, 数字取证, 数据模型, 状态历史, 类型定义, 网络流量审计, 自动化脚本, 通知系统