SecurityRonin/state-history-forensic
GitHub: SecurityRonin/state-history-forensic
一个为零依赖设计的状态历史取证类型库,提供时间索引导航原语的统一抽象层,供上层取证 crate 实现多源历史数据的结构化管理。
Stars: 0 | Forks: 0
# state-history-forensic
[](LICENSE)
[](https://securityronin.github.io/state-history-forensic/)
[](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, 可视化界面, 底层库, 数字取证, 数据模型, 状态历史, 类型定义, 网络流量审计, 自动化脚本, 通知系统