3sk1nt4n/Unchained
GitHub: 3sk1nt4n/Unchained
基于 GPT 大模型的自主数字取证与事件响应(DFIR)调查工具,通过确定性约束保证证据只读、可审计,并生成离线可验证的证明包。
Stars: 1 | Forks: 0
不受限的推理。链式的证据。
一个有边界的自主数字取证与事件响应 (DFIR) 调查员:在能发挥作用的地方使用模型判断,在可能改变证据的所有地方赋予确定性权威。
从这里开始 · 快速开始 · 运行体验 · 架构 · 证明状态 · 评审指南
Unchained 会对证据文件夹进行性能分析,让 GPT-5.4 选择符合条件的只读类型化工具,并行执行开局操作,随后在每个自适应回合中执行一项可审计的操作。然后,它将发现绑定到精确保留的输出字节,要求全新上下文的审查者保留或降级这些发现,并将确定性报告、惰性查看器、监管链凭证和清单封装到一个内容寻址的证明包中。 ## 当前发布状态 | 功能 | 状态 | |---|---| | OpenAI 原生控制器和独立的离线验证器 | ✅ 已离线验证 | | Linux/AMD64 Docker 构建、274 项测试门禁、CLI、性能分析和监管链 | ✅ 已在本地验证 | | 廉价的 GPT-5.4 Luna 类型化工具测试 | ✅ 已实时演示;由第二审查者(项目关联方)证明的脱敏凭证 | | 真实的 GPT-5.4 Sol 在真实 Windows 内存上的封顶开局 | ✅ 保留的包验证为 `VALID`;终端状态有意设为 `PARTIAL` | | 真实的 `COMPLETE` GPT-5.4 Sol 证据包 | ⏳ 开局/工具路径已验证;发现结果 → 审查者 → 最终报告仍待处理 | | 与 Qwen 在相同证据下的速度/成本/准确率比较 | ⏳ 故障安全比较脚手架已就绪;事实集、冻结锁和测量待处理 | **实时里程碑:** 第一次保留的 Sol 运行使用了 2 GiB 的 Windows 内存镜像,在两个模型响应中都记录了 `gpt-5.4-sol`,成功执行了所有六个由模型选择的开局工具,并在下一次预留将超过六工具上限时诚实地停止了。它使用了 59,254 个提供商报告的 token,端到端耗时 43.702 秒,产生的本地成本估算为 $0.38789875。这证明了实时的开局、类型化执行、上限、监管链和打包路径——而不是一个完整的调查。请参阅[发布交接](docs/OPENAI_VNEXT_RELEASE_HANDOFF.md)以获取完整的记分卡和最快的提交路径。 **排练后的强化:** 随后四次未计分的尝试暴露了一个真实的终端契约问题。它们保留的审计显示包含 395–1,750 个字符可见账本文本的已完成响应,但没有类型化操作——不是空响应。因此,v2 控制器不会将空白文本、标点符号、Markdown 或散文规范化为完成状态。每个自适应响应必须准确选择一个类型化操作:一个符合条件的取证工具,或者是带有唯一参数 `status="DONE"` 的封闭动作 `finish_investigation`。离线验证器能够理解历史上的字面量 DONE-v1 证明包,但需要新运行时的类型化目录、`tool_choice=required` 和准确的终端 schema。实时的 `COMPLETE` v2 证明包仍待处理。 ## 致评审者 —— 提交概览 | 字段 | 值 | |---|---| | 赛道 | **开发者工具** — OpenAI Build Week | | 构建使用 | **Codex**(实现 + 对抗性审查)和 **GPT-5.4**(Sol 调查员/审查者,Luna 测试) | | Codex 会话 ID | `019f61e5-5755-7a02-adb4-618d32baab27` — 参见 [使用 Codex 构建](#built-with-codex) | | 最快免密钥测试 | 三个命令,零花费 — 位于 [评审快速指南](JUDGE-QUICKSTART.md) 顶部 | | 实时凭证 | [真实内存上的 Sol 封顶开局](docs/runs/sol-capped-dc01-opening.json) · [Luna 测试](docs/runs/luna-canary-receipt.json) | | 诚实的差距 | `COMPLETE` 证明包、基准测试和视频仍在待办中;[证明状态](#proof-status) 表从不夸大 | **每项评审标准的关注点:** | 标准 | 查看位置 | |---|---| | 技术实现 | [工作原理](#how-it-works) · 类型化开局套路、无状态循环、类型化 `DONE` v2、字节精确的离线验证器 | | 设计 | `sentinel onboard` 引导的前端门 · 实时调查旁白 · 静态惰性证明查看器 | | 潜在影响 | [为什么 Unchained 与众不同](#why-unchained-is-different) — 为任何高风险 Agent 提供可检查的自主性,不仅限于 DFIR | | 想法质量 | 权威分配:模型选择策略;代码拥有证据、执行、引用、监管链和报告 | ## 快速开始 **选择您的机器。每条路径都以零密钥和零花费开始。** | 您的机器 | 路径 | 首次出结果时间 | 花费 | 验证状态 | |---|---|---|---|---| | 🪟 **Windows 10/11** | 原生 CPython 3.11 — 旗舰级取证路径 | ~5 分钟 | 在您输入启动口令前 $0 | ✅ 已测试;实时的 Sol 运行发生于此 | | 🐧 **Linux (AMD64)** | 加固的 Docker 离线路径 | ~3 分钟 | $0 | ✅ 已测试:容器内 274 项测试门禁 | | 🍎 **macOS** | 通过 Docker Desktop 使用相同的 Docker 路径 | ~3 分钟 | $0 | ⚠️ 预计通过 Docker 的 `linux/amd64` 模拟运行;尚未在 Mac 硬件上验证 | 每条路径最终都会汇聚到相同的体验:色彩丰富的引导式入门、SHA-256 案例卡片、明确的双密钥启动门,以及运行后的一个可离线验证的证明包。 ### 🪟 Windows — 旗舰路径 **单行命令** — 克隆、安装指定的工具链、(可选)通过隐藏输入粘贴您的密钥,并进入引导式入门: ``` irm https://raw.githubusercontent.com/3sk1nt4n/Unchained/main/get.ps1 | iex ``` 想看清每一步?手动操作的路径是完全相同的: **第 1 步 — 安装(不读取任何证据,不索要密钥,不发起任何 OpenAI 调用):** ``` git clone https://github.com/3sk1nt4n/Unchained.git cd Unchained powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1 ``` **第 2 步 — 体验分析师友好的前端门:** ``` $sentinel = "$env:LOCALAPPDATA\venvs\sentinel-unchained-py311\Scripts\sentinel.exe" & $sentinel onboard ``` 全彩欢迎界面将引导您准备一个案例、了解安全预览的作用,并在读取任何内容之前,准确告诉您付费运行的成本。 **第 3 步 — 分析一个案例并获取已验证的案例卡片:** ``` & $sentinel onboard "C:\Evidence\CASE-A" ``` 这会通过有边界的内容探针进行分类,分配公共证据 ID,并在本地执行完整的 SHA-256 前后监管链检查——无需密钥,无需付费运行。归档文件不会被解包;不支持的文档将被计算哈希、列出并搁置。路由器每个案例最多接受一个就绪的内存镜像和一个就绪的磁盘镜像;同类多个镜像会安全失败(fail closed)。 **第 4 步 — 选择一个硬性上限(不是更换模型,不是质量承诺):** | 选项 | 选项参数 | 默认硬性上限 | |---|---|---| | **CAUTIOUS (谨慎)** | `--caps strict` | 20 个工具 · 100,000 token · 10 分钟 · 估算成本 $2.50 | | **FLAGSHIP (旗舰)** | `--caps default` | 60 个工具 · 400,000 token · 30 分钟 · 估算成本 $10 | 两者均使用 GPT-5.4 Sol。环境变量覆盖可以更改实际上限,案例卡片会打印出这些上限。 **第 5 步 — 审慎启动。** 付费运行只能通过交互方式开始,并且只有当您准确输入 `LAUNCH GPT-5.4 SOL` 后才会执行: ``` & $sentinel onboard "C:\Evidence\CASE-A" --launch --caps strict ``` 随后您可以实时观看调查过程:开局套路、每个带有保留字节和时间的类型化工具、上限和监管链检查点,以及带有确切 `verify` 和 `view` 命令的最终状态徽章。 阅读简明的[从这里开始指南](docs/START-HERE.md),了解证据格式、挂载结果、云边界以及运行后的验证/查看步骤。 ### 🐧 Linux — 加固的容器路径 要求:Git、Docker Engine + Compose(或 Docker Desktop)。 **单行命令** — 克隆、构建加固镜像、(可选)通过隐藏输入为实时测试存储密钥,并打开入门引导: ``` curl -fsSL https://raw.githubusercontent.com/3sk1nt4n/Unchained/main/get.sh | bash ``` 或者分步执行: ``` git clone https://github.com/3sk1nt4n/Unchained.git cd Unchained docker compose build docker compose run --rm offline docker compose run --rm offline profile /evidence --json ``` 第一个运行命令使用容器友好的 `onboard --json` 默认设置:无密钥、不读取证据、无网络、退出码 `0`。最后一条命令使用**无网络**、**无 API 密钥**且**零 OpenAI 调用**来分析已提交的合成测试夹具(fixture)——它应该报告 `logs-only`,公共证据 ID 为 `E001`,并且监管链匹配。该服务以非 root 用户身份运行,具有只读文件系统,并丢弃了所有 Linux capability。 以只读方式分析您自己的文件夹: ``` SENTINEL_EVIDENCE_PATH=/cases/CASE-A docker compose run --rm offline profile /evidence --json ``` `docker compose run --rm offline doctor --json` 是明确的实时就绪检查;当离线服务没有密钥/模型时,它会正确报告未就绪。这正是隔离在起作用,而不是安装失败。 ### 🍎 macOS — 相同的容器路径,如实标注 上述完全相同的 Compose 命令可以在 Docker Desktop for Mac 下运行。在 Apple Silicon 上,Docker 通过模拟运行 `linux/amd64` 镜像。 ``` git clone https://github.com/3sk1nt4n/Unchained.git cd Unchained docker compose build docker compose run --rm offline profile /evidence --json ``` 上面的 `get.sh` 单行命令在这里同样适用。 ### 💡 廉价的实时检查:一次 GPT-5.4 Luna 请求 此测试仅检查容器 → OpenAI 身份验证、Responses API、返回的模型/请求身份、用量核算以及一次强制的严格类型化工具调用。它不读取证据,也不创建证明包。 将密钥放在代码仓库之外的单行文件中,然后让 Compose 指向该文件: ``` $env:OPENAI_API_KEY_FILE = "C:\Secure\openai_api_key" docker compose --profile live run --rm live-smoke ``` 该密钥作为 Docker secret 挂载,并通过 `OPENAI_API_KEY_FILE` 读取;它不会被复制到镜像中,也不会被放入普通的容器环境元数据中。该命令默认使用 `gpt-5.4-luna`,一次请求,低推理强度,低详细程度,128 个输出 token 上限,`store=false`,并且无重试层。 第一个实时测试现在已被独立报告为一次有效的 Luna 请求,包含 186 个输入 token 和 27 个输出 token。因为其原始 JSON 凭证未与提供的工件一起保留,所以已提交的 [Luna 凭证](docs/runs/luna-canary-receipt.json) 明确是被证明的脱敏投影——而不是派生自证明包的加密证明。Linux/macOS 密钥文件命令
``` export OPENAI_API_KEY_FILE=/secure/openai_api_key docker compose --profile live run --rm live-smoke ```choose 1–6 typed tools] O --> X[All-or-none validation
parallel deterministic execution] X --> L[Plan → one action → observe → visible update] L --> D{Typed action is
finish status DONE?} D -- Forensic tool --> L D -- Typed DONE --> S[Forced structured findings] S --> J[Fresh-context
downgrade-only review] J --> R[Deterministic report
inert viewer · proof manifest] R --> V[Final custody check
strict offline verification] classDef model fill:#172554,stroke:#60a5fa,color:#fff; classDef code fill:#422006,stroke:#f59e0b,color:#fff; class O,L,S,J model; class P,X,D,R,V code; ``` - **蓝色:** 有界协议内的 GPT-5.4 判断。 - **琥珀色:** 确定性代码权限和证明重构。 阅读完整的[架构](docs/ARCHITECTURE.md)或详细的 [OpenAI vNext 审查](docs/OPENAI_VNEXT_REVIEW.md)。 ## 证明状态 | 声明 | 当前证据 | |---|---| | 确定性的性能分析、路由、公共 ID 以及前/后监管链 | 单元/对抗性测试 + 容器化合成分析 | | 一到六种全有或全无的并行开局 | 控制器和同步屏障回归测试 | | 无状态的单动作自适应循环和类型化 `DONE` | 必须动作、封闭 schema、格式错误状态、精确输入和协议变异测试;字面量 v1 仅保持验证器可读 | | 确切的证据跨度 | 全工件后期跨度和字节变异测试 | | 仅降级的全新审查 | 发现 ID、状态格、跨度和凭证测试 | | 确定性报告和惰性查看器 | 独立重渲染 + 精确字节和积极的 HTML/CSP 策略测试 | | 独立的严格验证器 | 跨生命周期、使用、重试、成本和监管链的重新链接对抗性突变 | | Linux Docker 打包 | CPython 3.11 测试目标:274 项测试、Ruff、格式化和 `pip check`;非 root 运行时/性能分析门禁 | | 实时 GPT-5.4 Luna 测试 | 已独立演示;[已证明的脱敏投影](docs/runs/luna-canary-receipt.json),无用于证明包证明的原始凭证 | | 真实内存上真实的 GPT-5.4 Sol 开局 | [派生自证明包的脱敏凭证](docs/runs/sol-capped-dc01-opening.json):2 个模型响应,6 个成功的开局工具,记录的监管链匹配,离线 `VALID` | | 真实完整的 GPT-5.4 Sol 案例 | 待定;保留的 Sol 运行在 `MAX_TOOL_CALLS` 处明确为 `PARTIAL` | | 比 Qwen 更快/更好 | 在运行冻结的基准测试之前,仅为架构论点 | 验证器建立本地协议和证明包一致性。它不会对 OpenAI 进行加密验证,不替代语义准确性评分,也不会将同家族的审查者转变为外部基本事实。 ## 无需密钥检查证明包 ``` sentinel verify C:\path\to\bundle --require-complete --require-live-gpt56 sentinel view C:\path\to\bundle ``` 严格验证的作用不仅仅是重新计算清单哈希: - 它重构每个模型可见的阶段数据包和类型化调用契约; - 它根据保留的工件和确切的 UTF-8 范围解析发现的引语; - 它重新计算用量、本地成本估算、生命周期计数和监管链; - 它重建 `report.md` 和 `viewer.html`,并要求逐字节相等。 离线一致性并非提供商真实性。如果该威胁模型很重要,请保留提供商端的日志并从外部锚定最终校验和。 ## 支持的路径 | 证据 / 宿主机路由 | 状态 | |---|---| | 原生 Windows 上的 Windows 内存镜像 | 已演示实时 Sol 开局和六种类型化工具;`COMPLETE` 发现/审查/报告案例待定 | | 安全 Linux 容器中的原始内存镜像 | 由 Volatility 支持;特定案例的符号/就绪状态仍适用 | | 安全容器中带有 Sleuth Kit 的原始磁盘镜像 | 可进行非特权原始检查 | | Docker 内挂载的 E01/NTFS/APFS | 未启用;需要提升的设备/FUSE 权限 | | 正确配置的原生宿主机上的 Windows 磁盘/E01 | 已实现;真实的 vNext 路由待定 | | Linux 证据 | 实验性 | | macOS 证据 | 尽力而为 | | 仅日志文件夹 | 仅限性能分析/监管链冒烟测试;非完整调查路径 | | 两个就绪的内存镜像或两个就绪的磁盘镜像 | 故障安全关闭;将它们拆分为单独的案例 | 证据能力特定于路由。“Docker 可以在这台笔记本电脑上运行”并不等同于“这台宿主机上完全支持每种类型的取证镜像”。 ## Docker 安全边界 默认的 Compose 服务有意设计得非常保守: - 非 root UID/GID `10001:10001`; - 只读根文件系统和只读证据绑定; - 丢弃所有 Linux capability; - `no-new-privileges` 以及有界限的进程数; - 无 Docker socket、宿主机 PID 命名空间或特权模式; - 离线服务无网络; - Git 仅存在于联网的构建器中,而非最终运行时; - 运行时包含 `sleuthkit`、Volatility、CA 证书和 Tini。 实时测试必然具有出站网络访问权限。安全的 Docker 模式不会挂载文件系统:E01/FUSE/loop-device 支持会削弱隔离性,因此被有意排除在此默认设置之外。 对于 Docker Desktop 上的多 GB 证据,请使用本地的非 OneDrive 路径或 WSL2 ext4 存储。云同步的绑定可能会主导运行时间。 ## CLI 概览 ``` sentinel onboard [
标签:DLL 劫持, Petitpotam, Python, 人工智能, 大语言模型, 库, 应急响应, 数字取证, 无后门, 版权保护, 用户模式Hook绕过, 网络调试, 自动化, 自动化脚本, 请求拦截