autopurple-security-technology-corp/ap-artifactvault

GitHub: autopurple-security-technology-corp/ap-artifactvault

该项目是一个用 Rust 编写的 DFIR 取证 artifact 分诊与解析工具,将 EVTX、EDR 遥测和内存 vault manifest 标准化为统一记录以支持下游关联分析。

Stars: 0 | Forks: 0

# ap-artifactvault DFIR artifact 分诊与解析:Windows EVTX 事件记录、EDR telemetry 流和 memory-artifact vault manifest,以及带有 license-gated 关联核心的组件。 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/99/993938d8ce5e902ccfb9d6747725c320d855dea3235ed9a304cedf0d94c9321f.svg)](https://github.com/autopurple-security-technology-corp/ap-artifactvault/actions) [![Release](https://img.shields.io/github/v/release/autopurple-security-technology-corp/ap-artifactvault?sort=semver)](https://github.com/autopurple-security-technology-corp/ap-artifactvault/releases) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Core](https://img.shields.io/badge/core-license--gated-orange.svg)](core/README.md) [![Rust](https://img.shields.io/badge/rust-1.70%2B-informational.svg)](Cargo.toml) `ap-artifactvault` 接入常见的数字取证 artifact,并将其标准化为通用的分诊记录,以便进行下游关联。它是 AutoPurple 托管的 DFIR / 事件响应工具的 artifact-plane 组件。 ## 功能 - **Vault manifest 读取器** — 紧凑的 4 字节帧 artifact 索引;安全的、边界检查的参考解析器(优化的零拷贝变体位于关联核心中)。 - **EVTX 记录组帧** — 遍历 Windows XML EventLog 数据块记录并提取记录信封(id、size),用于分诊计数和 record-id 连续性检查。 - **EDR telemetry 组帧** — 带有 `key=value` 字段提取的长度帧事件流解析器。 - **License-gated 关联** — 在密封核心中进行行为排序和跨 artifact 关联;在没有密钥的情况下会失效并进入仅解码演示模式。 - **纯 Rust 实现,依赖极少** — 解封垫片使用 `aes-gcm`、`pbkdf2`、`hmac`、`sha2`;公共解析器中没有 `unsafe`。 ## 快速开始 ``` make build # or: cargo build --release ./target/release/artifactvault-cli --manifest case.vaultmanifest python3 tools/vaultmanifest.py case.vaultmanifest # quick read-only inspection ``` 如果没有配置有效的 license key,该库将以**仅解码演示模式**运行(解析并打印 artifact 记录;禁用关联)。要启用关联,请设置 `AP_ARTIFACTVAULT_LICENSE_KEY`(通过您的 AutoPurple 服务实例配置)—— 参见 [core/README.md](core/README.md)。 ## 分诊模型 每个解析器都会标准化为单一的 `TriageRecord`(`source`、`kind`、`declared_len`、`fields`),因此无论 artifact 类别如何,下游代码看到的都是统一的结构。 | Artifact 类别 | 解析器 | 提取的信号 | |----------------|--------|------------------| | Windows EVTX | `src/evtx.rs` | chunk/record 信封,record-id 连续性,event ID | | EDR telemetry | `src/telemetry.rs` | 长度帧事件,`key=value` 字段对 | | Vault manifest | `src/manifest.rs` | process/handle/network/registry/module/eventlog 引用 | 在演示模式下,记录会按原样输出以便进行手动审查。配置了有效核心后,关联引擎会执行行为排序和跨 artifact 联接(例如,在同一个案例中将 process artifact 与其 network 和 registry 活动关联起来)。 ## 针对不受信输入的安全性 取证 artifact 来自可能已被入侵的主机,因此所有输入都被视为恶意的。manifest 读取器会将每个声明的 payload 长度限制在实际存在的字节数内,EVTX 组帧器会在推进之前验证 chunk/record 大小,而 telemetry 组帧器会根据声明的长度限制每个事件。公共解析器不包含任何 `unsafe`。`tools/vaultmanifest.py` 模拟了相同的边界检查逻辑,以便在 Rust 构建之外进行快速检查。 ## 布局 | 路径 | 内容 | |------|----------| | `src/manifest.rs` | vault-manifest 读取器(安全的参考解析器) | | `src/evtx.rs` | EVTX 记录组帧 | | `src/telemetry.rs` | EDR telemetry 组帧 | | `src/engine.rs` | license-gated 核心解封垫片(fail-closed) | | `core/libvaultcore.enc` | 密封的关联核心 (AES-256-GCM) | | `tools/vaultmanifest.py` | 只读 manifest 检查器 | | `docs/` | manifest 格式,分诊笔记 | ## 输出示例 ``` $ ./target/release/artifactvault-cli --manifest case.vaultmanifest manifest case.vaultmanifest records=214 bytes=48120 process 61 network 88 registry 42 module 18 eventlog-ref 5 triage demo mode (no license key) — correlation disabled; records emitted for review ``` ## 文档 - [Vault manifest 格式](docs/manifest-format.md) - [分诊模型](docs/triage.md) - [关联核心 (license-gated)](core/README.md) - [安全策略](SECURITY.md) · [贡献指南](CONTRIBUTING.md) · [更新日志](CHANGELOG.md) ## 许可证 公共库、解析器、CLI、工具和文档均基于 [MIT License](LICENSE) 授权。密封的关联核心(`core/libvaultcore.enc`)是专有的,仅在配置了 AutoPurple license 的情况下提供使用。© 2024-2026 AutoPurple Security Technology。
标签:EDR遥测, EVTX, Rust, 可视化界面, 库, 应急响应, 数字取证, 日志解析, 网络流量审计, 自动化脚本, 证书伪造, 逆向工具, 通知系统