ObtuseAI/nimrod

GitHub: ObtuseAI/nimrod

nimrod 是一个实验性的宪政网络防御研究系统,通过确定性重放、已签名证据和独立验证,探索防御系统在学习协调过程中如何避免将模型输出或遥测数据转化为执行授权。

Stars: 1 | Forks: 0

# nimrod
**一个将证据视为证据——而非权威——的宪政网络防御研究系统。** 本地优先。默认不执行。证据不完整时 fail-closed。 [![Quality](https://static.pigsec.cn/wp-content/uploads/repos/cas/52/52c39db3769c1901d1e4a9bcc3a204e99d101146cab6653c9b151c13e5b7d832.svg)](https://github.com/ObtuseAI/nimrod/actions/workflows/quality.yml) [![Python 3.11+](https://img.shields.io/badge/Python-3.11%2B-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![No execution](https://img.shields.io/badge/default-no--execution-2DD4BF)](docs/DOCTRINE.md) [![Source available](https://img.shields.io/badge/license-source--available-22C55E)](LICENSE)
![nimrod 宪政控制面板](https://static.pigsec.cn/wp-content/uploads/repos/cas/1e/1eea5c91370b1660300a783373890dfb778ff7f39be48c541175d5ae92557023.png) nimrod 探索着一个难题:一个防御系统如何在学习、协调和改进的同时,不让自身的模型、遥测数据、评估器或成功指标成为“许可”? 该仓库通过版本化合约、确定性重放、已签名的证据、独立验证、宪政策略以及明确的人工掌控发布边界来回答这个问题。当前的公开发布是一个研究预览版和参考实现——而不是一个生产级的端点保护声明。 ## 一句话设计理念 ## 已实现功能 | 接口 | 角色 | 权限上限 | | --- | --- | --- | | **Crucible 合约** | 用于授权、证据、活动、验证、恢复和迁移的版本化 schema | 合约仅用于描述;不执行 | | **不执行模拟器** | 确定性的已签名提议、因果判定和 Witness 记录 | 无实时目标变更 | | **受控集群** | 七种类型化单元:Red、Blue、Purple、证据、恢复、验证和安全 | 仅限提议 | | **边缘观测** | 调用方选择、只读的进程证据,身份字段仅包含摘要 | 无枚举、策略或响应 | | **CACIS** | 世界模型、免疫 runtime、稳态、基因组评估、竞技场和观测台 | 仅限有界的影子提升 | | **独立评估器** | 用于跨语言合约一致性的 TypeScript 验证器 | 无法验证其自身的权限 | | **控制面板** | 用于重放和模拟状态的本地静态证据查看器 | 仅限展示 | ## 宪政架构 ``` flowchart TB INPUT["Replayed, simulated, or caller-selected evidence"] INTAKE["Typed intake + provenance checks"] WORLD["Replay-safe world model"] CELLS["Governed specialist cells"] PROPOSAL["Content-addressed proposal"] VERIFY["Independent verifier mesh"] KERNEL["Constitutional Kernel"] WITNESS["Immutable Witness ledger"] ACTION["External action boundary"] INPUT --> INTAKE INTAKE --> WORLD WORLD --> CELLS CELLS --> PROPOSAL PROPOSAL --> VERIFY VERIFY --> KERNEL KERNEL --> WITNESS KERNEL -. "blocked in this preview" .-> ACTION ``` 任何模型输出、检索到的内容、文档、遥测样本、信誉评分、共识结果或适应度值都不能为自身授权。 ## 证据阶梯 nimrod 将模拟、重放、观测、验证和生产证明区分开来: ``` flowchart LR SIM["Simulated fixture"] --> REPLAY["Deterministic replay"] REPLAY --> OBS["Read-only local observation"] OBS --> INDEP["Independent verification"] INDEP --> RANGE["Disposable-range evidence"] RANGE --> PROD["Production-calibrated evidence"] SIM -. "cannot claim" .-> PROD REPLAY -. "cannot claim" .-> RANGE OBS -. "cannot claim" .-> PROD ``` 缺失、过期、格式错误、自我证明或来源不明的证据都是硬性失败。公开示例被标记为模拟或重放,不构成现实世界中的预防、检测、遏制、响应或恢复效能。 ### 当前证据姿态 `CONSTRUCTION_ZONE_PROVISIONING_SIGNED_DENIAL_INDEPENDENT_ATTESTATION_BLOCKED` 源代码预览版证明了重放、合约、打包、只读观测以及 fail-closed 治理行为。建设区配置、独立保留的隔离证据、生产环境托管、靶场连接、活动执行、遏制、主动基线变更和生产环境提升仍处于受阻状态。本仓库是一个可审查的防御性研究接口,而不是可部署的保护声明或针对目标进行操作的授权。 ## 快速开始 要求:Python 3.11+,Node.js 24+,以及在 Windows 上运行完整验证阶梯所需的 PowerShell 7。 ``` git clone https://github.com/ObtuseAI/nimrod.git cd nimrod python -m venv .venv .\.venv\Scripts\python.exe -m pip install --upgrade pip .\.venv\Scripts\python.exe -m pip install -e ".[validation]" .\tools\validate-foundation.ps1 ``` 验证器会构建独立的 TypeScript 评估器,检查规范 manifest,重放每个合约和语义变更门,编译 Python 接口,并在外部证据不可用时保留真实的受阻状态。 ### 打开控制面板 ``` .\.venv\Scripts\python.exe -m http.server 8765 --bind 127.0.0.1 --directory . ``` 打开 `http://127.0.0.1:8765/ui/`。该面板仅读取仓库本地的演示状态,没有后端、凭证、目标或执行权限。 ### 运行不执行模拟器 ``` $runRoot = Join-Path $env:TEMP ("nimrod-simulator-" + [guid]::NewGuid()) .\.venv\Scripts\nimrod-simulate.exe ` --project-root . ` --lease .\specs\examples\authorization-lease.example.json ` --campaign .\specs\examples\validation-campaign.example.json ` --authorization-proof .\specs\examples\authorization-proof-bundle.example.json ` --trust-policy .\specs\examples\authorization-trust-policy.example.json ` --control-state .\tests\fixtures\simulator\control-state.valid.json ` --output "$runRoot\witness" ` --state-root "$runRoot\state" ` --now 2026-07-12T19:05:00Z ``` 结果会记录 `live_execution_performed: false`。加密授权证明了是谁授权了该测试夹具;它不能将一个空操作转化为防御效能的证据。 ## 发布证明 质量工作流在 Windows 上运行全新克隆合约阶梯和一个单独的覆盖率任务: ``` flowchart LR SHA["Exact source SHA"] --> BUILD["Python + TypeScript build"] BUILD --> MANIFEST["Canonical manifest"] MANIFEST --> CONTRACTS["Schema + semantic mutation ladder"] CONTRACTS --> CACIS["CACIS + Edge validators"] CACIS --> RESULT{"All local gates complete?"} RESULT -->|"yes"| PREVIEW["Public research preview"] RESULT -->|"no"| BLOCK["Blocked with evidence"] ``` 此版本未满足另外记录的运营门槛,这些门槛用于真实的设计合作伙伴参与、一次性靶场执行、硬件支持的签名托管、生产校准或主动响应。 ## 仓库地图 ``` specs/ versioned public contracts and labeled examples src/nimrod_simulator/ no-execution simulator, verifier, swarm, Witness src/nimrod_edge/ replay and read-only observation surfaces src/nimrod_cacis/ world model, immune runtime, homeostasis, arenas conformance/ independent TypeScript evaluator tools/ fail-closed validators and release checks ui/ local static constitutional control board docs/ doctrine, threat model, decisions, and evidence guides reports/ machine-readable validation evidence ``` 从以下内容开始: - [原则](docs/DOCTRINE.md) - [参考架构](docs/REFERENCE_ARCHITECTURE.md) - [威胁模型](docs/THREAT_MODEL.md) - [AI 保障](docs/AI_ASSURANCE.md) - [公开发布边界](docs/PUBLIC_LAUNCH.md) - [贡献指南](CONTRIBUTING.md) - [安全策略](SECURITY.md) ## 范围与限制 nimrod 是一个实验性的研究系统。它不是防病毒软件、EDR、遏制产品、安全保证,也不是测试你不拥有的系统的授权。不要将其用于反黑客攻击、监控、破坏性补救、凭证轮换、关键基础设施控制或任何未经明确授权的目标。 每一项公开声明的范围都特意设定得比架构本身更窄:本仓库证明了本地合约、确定性重放、有界的只读观测以及 fail-closed 的治理行为。它不声明提供生产级别的保护。 ## 许可证 版权所有 © 2026 ObtuseAI。该源代码根据 [ObtuseAI Source-Available License](LICENSE) 提供评估、教育、防御性研究和作品集审查之用。商业、托管、生产、重新分发、攻击性、监控和关键基础设施的使用权利均未授予。
标签:Python, 形式化验证, 无后门, 网络安全, 自动化防御, 防御研究, 隐私保护