a-Gb/strata

GitHub: a-Gb/strata

一款基于 Apple Silicon 的 GPU 辅助可视化二进制分析工作台,将原始字节转化为多种关联投影并提供精确的源字节溯源。

Stars: 0 | Forks: 0

# Strata ![Strata 应用程序图标](https://static.pigsec.cn/wp-content/uploads/repos/cas/82/825be5b12bff56e672c8a09037f0aa7bb04b8474248cb1500d5e79a0d31ebacb.png) [![发布](https://img.shields.io/github/v/release/a-Gb/strata?display_name=tag&include_prereleases&sort=semver)](https://github.com/a-Gb/strata/releases/tag/v0.1.0) [![下载量](https://img.shields.io/github/downloads/a-Gb/strata/total)](https://github.com/a-Gb/strata/releases) ![平台](https://img.shields.io/badge/macOS-15%2B-black?logo=apple) ![架构](https://img.shields.io/badge/Apple%20Silicon-arm64-0b7285) [![许可证](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-2f9e44)](#license) ![状态](https://img.shields.io/badge/status-pre--alpha-f08c00) **一个由 GPU 辅助的可视化工作台,用于理解二进制数据。** Strata 将原始字节转换为关联映射、转换场、统计空间、 位平面、区块布局和 3D 投影。点击某个视觉特征, Strata 就会带你回到确切的源字节范围以及生成它的变换。 它专为数据发现、格式研究、固件探索、 逆向工程、比较和可解释的视觉交流而设计——而不是用于 自动判定文件是安全的、恶意的、加密的还是压缩的。 ![展示关联 Hilbert 和复杂性投影的 Strata 工作台](https://static.pigsec.cn/wp-content/uploads/repos/cas/66/6689cce6b44aed3bdf45907e03e0efbc374c679697332776352264cdd396b772.jpg) ## 下载 **[下载适用于 Apple Silicon 的 Strata 0.1.0](https://github.com/a-Gb/strata/releases/download/v0.1.0/Strata-0.1.0-arm64.dmg)** 要求: - Apple Silicon Mac (`arm64`) - macOS 15 或更高版本 - 大约 20 MB 的可用空间 打开 DMG,将 **Strata** 拖入 **应用程序**,然后正常启动它。 该版本已经过强化,使用 Developer ID 证书签名,由 Apple 公证,并附有订书钉式的公证票据。 手动验证下载: ``` curl -LO https://github.com/a-Gb/strata/releases/download/v0.1.0/Strata-0.1.0-arm64.dmg curl -LO https://github.com/a-Gb/strata/releases/download/v0.1.0/Strata-0.1.0-arm64.dmg.sha256 shasum -a 256 -c Strata-0.1.0-arm64.dmg.sha256 ``` 该版本还包含一个经过校验和验证的 CycloneDX SBOM 包,涵盖 所有 18 个工作区 crate。 0.1.0 版本是预览版。请使用重要文件的副本,并在敏感工作流中使用它之前阅读[当前限制](docs/20-implementation-status.md)。 ## 你的首次调查 1. 选择 **Open…** 并选择一个本地文件。Strata 以只读方式打开它。 2. 从 **Discover** 开始,查找候选字符串、重复、周期性、 签名、结构变化和可逆的 XOR 关系。 3. 在 **Structure**、**Grammar**、**Resonance**、**Interleave**、 **Revision diff** 和 **3D Lab** 之间切换。所选内容保持关联。 4. 点击一个点、体素、范围或发现,以检查其确切偏移量、 十六进制字节、文本渲染、贡献者和来源。 5. 保存一个私有的 `.strata-project` 以重新打开本地路径和 UI 状态,或者当你需要可移植的证据链时,保存一个 无源文件的 `.strata-session`。 大文件不会被完整复制到内存中。Strata 使用有界读取、 分块概览、显式采样和确切的聚焦范围。连续 分析路径目前限制为 64 MiB。 ## Strata 帮助揭示的内容 | 问题 | 有用的视图和证据 | |---|---| | 区域、行、标头或嵌入式 payload 从哪里开始? | 地址光栅、Hilbert 平面/立方体、熵和区域叠加层 | | 某个区域是类似文本的、结构化的、重复的、紧凑的还是统计上异常的? | 复杂性相空间、字节转换、递归、字符串、熵 | | 数据是否包含标志、掩码、平面通道或位损坏? | 位平面堆栈和 Hamming 投影 | | 哪种记录宽度或 interleave 是合理的? | 对齐晶格、步幅关系、周期性、频谱证据 | | 哪些区块重复或相关? | 精确重复、递归、相关性和重复天际线证据 | | 某个区域是否类似于已知的签名? | 严格签名包候选,具有精确的匹配范围和包来源 | | 两个修订版之间发生了什么变化? | 关联的 diff 范围、匹配区域和修订位移证据 | | 我该如何向他人解释这个发现? | 持久化的选择、证据说明、确定性会话和可编程视频导出 | 没有任何单一视图会被视为最终结论。例如,高熵本身无法 区分压缩和加密。当多个独立的视图指向同一个源范围时,Strata 的作用最强。 ## 投影模型 Strata 将许多二进制可视化器混淆在一起的概念区分开来: ``` Binary → sample domain Byte | Word | Window | Region → projection Raster | Hilbert | Transition | Phase | Parsed layout → geometry Points | Path | Voxels | Surface → visual channels Colour | Height | Size | Opacity | Motion → overlays Regions | Strings | Signatures | Selection ``` 默认的投影系列是 **Raster**、**Hilbert**、 **Transitions**、**Bitplanes**、**Complexity** 和 **Sections**。高级 工作包括对齐、递归、频谱、Hamming 空间、层级和 地址路径。命名的 A/B 投影可以作为分屏、叠加或变形查看,同时每个数据点都保持稳定的源贡献者。 核心不变量是: ## 隐私和证据边界 - 文件以只读方式打开,永远不会被上传。 - 没有 telemetry 或云端分析依赖。 - 可移植的会话会排除源字节和本地源路径。 - 私有项目定位器可能包含本地路径,并被 Git 忽略。 - 签名匹配和统计相似性作为候选证据呈现, 绝不是权威的文件类型或安全结论。 - 截图和导出仍然可能泄露源自数据的结构;在分享前请仔细 检查它们。 Strata 会分析攻击者控制的输入,并且尚未进行沙箱化或 独立审计。在检查具有敌意的或敏感材料之前,请参阅 [SECURITY.md](SECURITY.md)。 ## 从源码构建 受支持的开发目标是搭载 macOS 15 或更高版本的 Apple Silicon。 安装 Xcode Command Line Tools、稳定的 Rust 和 [`just`](https://github.com/casey/just): ``` xcode-select --install brew install rustup just rustup-init ``` 克隆、验证并运行: ``` git clone https://github.com/a-Gb/strata.git cd strata just check just test cargo run -p strata-app-macos ``` 从命令行打开特定文件: ``` cargo run -p strata-app-macos -- /absolute/path/to/source.bin ``` 构建优化后的本地应用程序或 DMG: ``` just package-macos just dmg open target/artifacts/Strata-0.1.0-arm64.dmg ``` 本地包默认进行临时签名。仅限维护者的 Developer ID 和 公证步骤记录在 [packaging/macos/README.md](packaging/macos/README.md)。 ## 无头分析 CLI 使用与桌面应用程序相同的有界 runtime 和溯源模型: ``` cargo run -p strata-cli -- analyze Cargo.toml \ --preset examples/presets/structure-entropy-fast.json \ --range 0x0:0x200 \ --output-format json ``` 机器可读的输出排除了源路径,并包含源摘要、 覆盖范围、预设和规范工件摘要。 ## 扩展 Strata 欢迎做出贡献和进行实验性分支。最有用的扩展 点是: - `crates/strata-analysis` — 确定性的 CPU 分析器和发现 结果。 - `crates/strata-views` — 带有源范围往返的投影映射。 - `crates/strata-gpu` — 带有强制 CPU 差异 测试和回退机制的有界 WGPU kernel。 - `crates/strata-runtime` — 共享规划、预算和工件编排。 - `schemas/` 和 `wit/` — 版本化交换和未来的插件契约。 - `fixtures/` — 带有摘要和 预期属性的微型确定性、可重新分发示例。 - `examples/video/` — 可编程相机、投影、变形和证据 叙述。 第三方插件安装尚未启用;当前的扩展路径 是源码贡献或分支。新的分析必须保持确定性、 资源有界,并且可追溯到确切或显式采样的源范围。 从 [CONTRIBUTING.md](CONTRIBUTING.md)、[架构](docs/01-architecture.md) 和 [实施状态](docs/20-implementation-status.md) 开始。 ## 架构一览 ``` flowchart LR A[macOS workbench / CLI] --> B[bounded shared runtime] B --> C[immutable byte sources] B --> D[deterministic CPU analyzers] B --> E[verified WGPU compute] D --> F[provenance-bearing artifacts] E --> F F --> G[linked views and exact picking] G --> H[source-free sessions and exports] ``` [文档索引](docs/INDEX.md) 涵盖了产品模型、算法、 GPU pipeline、交互模型、会话、安全、性能预算、 插件方向和路线图。 [GUI 参考](docs/21-gui-reference.md) 将当前的可执行 基线与目标工作台层次结构及其布局不变量区分开来。 ## 项目状态 Strata 0.1.0 是第一个公开的预览版。工作路径包括 桌面工作台、CLI、关联的 2D/3D 投影、有界大文件访问、 选定的 Metal 计算、确定性会话、签名知识和视频 程序。原生沙箱化、可安装的第三方插件、更广泛的 GPU 覆盖、更新交付、Intel 支持以及稳定的兼容性承诺 仍然是未来的工作。 请参阅 [更新日志](CHANGELOG.md)、[路线图](docs/11-roadmap.md) 和 [维护的实施状态](docs/20-implementation-status.md)。 ## 社区 - 使用 [GitHub Discussions](https://github.com/a-Gb/strata/discussions) 讨论 想法、投影设计和格式研究问题。 - 使用 [GitHub Issues](https://github.com/a-Gb/strata/issues) 报告可复现的 bug 和提出专注于特定功能的建议。 - 使用[私下报告漏洞](https://github.com/a-Gb/strata/security/advisories/new) 进行对安全敏感的报告。切勿将专有二进制文件、私有 路径、凭据或活体恶意软件附加到公开的 issue 中。 ## 许可证 Strata 源代码和文档可根据你选择的 [Apache License 2.0](LICENSE-APACHE) 或 [MIT license](LICENSE-MIT) 获取。合成夹具基于 [CC0 1.0 Universal](fixtures/LICENSE-CC0) 贡献。
标签:Apple Silicon, 二进制分析, 云安全运维, 云资产清单, 可视化界面, 文档结构分析, 格式研究, 逆向工程, 通知系统