88nonog-dev/nono-gate

GitHub: 88nonog-dev/nono-gate

一个面向 CI/CD 流水线的确定性安全治理架构,将发布决策转化为可密码学验证、可独立审计、可重放验证的证据制品。

Stars: 0 | Forks: 0

# Nono-Gate 确定性 CI/CD 安全治理架构 Nono-Gate 是一种用于 CI/CD 流水线的确定性治理架构,它使安全发布决策变得可证明、可重放验证且可独立审计。 它不替代扫描器。 它作为安全发现(例如 SARIF 输出)与发布边界之间的决策验证层运行。 ## 问题 现代 CI/CD 安全工作流产生的结果: - 难以复现 - 难以审计 - 难以事后论证 - 无法独立验证 Nono-Gate 通过将决策本身转换为可验证的制品来解决这个问题。 ## 核心能力 - 基于确定性策略的决策评估 - 密码学绑定的证据制品 - 证据根生成 - 可重放验证的决策输出 - 仅追加治理账本 - 基于 Merkle 的透明度完整性 - 独立审计员验证 ## 架构 安全发现 -> 策略评估 -> 确定性决策 -> 证据包 -> 账本条目 -> 重放验证 ## 关键制品 decision.json decision-attestation.json decision-provenance.json EVIDENCE_ROOT_SHA256.txt governance-ledger.ndjson LEDGER_MERKLE_ROOT_SHA256.txt ## 演示 运行演示: ./demo/RUN_PROOF_DEMO.ps1 验证决策: ./demo/VERIFY_ONLY.ps1 ## 仓库结构 engine/ 核心治理引擎 demo/ 可运行演示 docs/ 架构文档 tests/ 验证测试 examples/ 样本证据 ## 状态 用于确定性 DevSecOps 治理的研究原型。 ## 从这里开始 参见 START_HERE.md ## 架构概览 Nono-Gate 位于安全扫描器和发布边界之间。 扫描器输出 (SARIF / Signals) ? 策略评估 ? 确定性决策引擎 ? 证据生成 ? 治理账本条目 ? 独立重放验证 此架构使安全决策能够: - 可复现 - 可独立验证 - 通过密码学与证据绑定 - 事后可审计 与其单纯信任扫描器或 CI 日志,Nono-Gate 能够验证最终的安全决策制品本身。 ## 安全模型 Nono-Gate 假设 CI 环境和扫描器输出不能总是作为最终证明被信任。 因此,系统专注于**可验证的决策制品**,而非信任执行环境。 架构旨在实现的安全属性: - 确定性决策复现 - 通过加密哈希进行证据绑定 - 仅追加治理账本 - 决策历史的基于 Merkle 的完整性 - 过往决策的重放验证 - 审计员可读的制品 此模型允许安全审查人员独立于原始 CI 流水线对决策进行验证。 换句话说,验证不需要信任产生该决策的系统。 ## 为什么这很重要 许多安全工具专注于检测:扫描器、分析器和策略引擎。 然而,CI/CD 中的最终**发布决策**通常基于日志、审批或工具输出,这些在事后往往无法独立验证。 Nono-Gate 专注于**决策边界本身**。 系统不再是询问“扫描器报告了什么?”,而是使团队能够询问: “我们能验证允许此发布的安全决策吗?” 通过将决策与可复现的证据和账本完整性绑定,该架构实现了: - 发布后验证 - 对审计友好的安全决策 - 可复现的治理制品 - 更强的供应链透明度 - CI 环境中的信任最小化 这种方法对于那些运行高保障 DevSecOps 流水线、且发布决策必须在数月或数年后仍具有可辩护性的组织尤为重要。
标签:AI合规, CI/CD 安全, DevOps 工具链, DevSecOps, Homebrew安装, SARIF, 上游代理, 不可篡改日志, 事件溯源, 代码安全, 发布控制, 可验证性, 合规自动化, 安全治理, 审计追踪, 密证绑定, 工件证明, 数据投毒防御, 漏洞枚举, 确定性构建, 策略即代码, 聊天机器人安全, 自定义脚本, 软件供应链安全, 远程方法调用, 默克尔树