SecurityRonin/apfs-forensic
GitHub: SecurityRonin/apfs-forensic
一个纯 Rust 编写的 APFS 文件系统取证分析库,提供从底层结构解析到异常检测审计的完整能力。
Stars: 0 | Forks: 0
# apfs-forensic
[](https://crates.io/crates/apfs-core)
[](https://crates.io/crates/apfs-forensic)
[](https://docs.rs/apfs-forensic)
[](https://www.rust-lang.org)
[](LICENSE)
[](https://github.com/sponsors/h4x0r)
[](https://github.com/SecurityRonin/apfs-forensic/actions)
[](https://github.com/rust-secure-code/safety-dance)
[](deny.toml)
**一个从头编写的 APFS 读取器和分级异常审计器 —— 通过路径导航 Apple File System 容器、卷和快照,并呈现“干净”的 macOS 挂载旨在隐藏的快照和密封卷篡改、可恢复的已删除记录、object-map 不一致以及加密状态。**
一个工作区,两个 crate:
- **[`apfs-core`](https://crates.io/crates/apfs-core)** —— 读取器:NXSB
container + checkpoint ring、object map、B-tree、APSB 卷、file-system
记录 (`j_key`)、文件区、扩展属性、快照、space
manager、encryption-state,以及在任意
`Read + Seek` 源上进行透明的 **decmpfs** 解压。无 `unsafe`,无 C 绑定。(作为 `apfs_core` 导入。)
- **[`apfs-forensic`](https://crates.io/crates/apfs-forensic)** —— 审计器:
将解析后的 APFS 结构转化为分级的
[`forensicnomicon::report::Finding`](https://crates.io/crates/forensicnomicon)s,
从而使 APFS 卷的异常与 partition 和
container 层统一聚合。
## 审计 APFS 容器
```
[dependencies]
apfs-forensic = "0.1" # pulls in apfs-core
```
```
use apfs_core::ApfsContainer;
use apfs_forensic::{audit_container, Source};
use forensicnomicon::report::Observation;
let container = ApfsContainer::open(std::fs::File::open("disk.img")?)?;
let src = Source { analyzer: "apfs-forensic".into(), scope: "APFS".into(), version: None };
for anomaly in audit_container(&container) {
let finding = anomaly.to_finding(src.clone());
println!("[{:?}] {} — {}", finding.severity, finding.code, finding.note);
// e.g. [Some(High)] APFS-SEALED-VOLUME-BROKEN — im_broken_xid set at xid …
}
# Ok::<(), apfs_core::ApfsError>(())
```
## 信任但验证
无 panic(`unsafe_code = "forbid"`、带边界检查的读取器、带范围检查的
length/offset/count 字段、限制上限的分配、带循环保护的树遍历),
经过 fuzz(每个解析的结构都有一个 cargo-fuzz 目标 + 一个全流水线目标),并且
已针对**真实工件**进行验证 —— macOS 本身(只读挂载并 diff)、
The Sleuth Kit `fsstat`/`fls`/`istat`、`fsapfsinfo` (libfsapfs) 和 `apfsck`
(apfsprogs)。参见 [`docs/validation.md`](docs/validation.md)。
[隐私政策](https://securityronin.github.io/apfs-forensic/privacy/) · [服务条款](https://securityronin.github.io/apfs-forensic/terms/) · © 2026 Security Ronin Ltd
标签:APFS, Rust, 可视化界面, 异常分析, 数字取证, 文件系统, 网络流量审计, 自动化脚本, 通知系统