BrandonDucar/dreamnet-cerberus

GitHub: BrandonDucar/dreamnet-cerberus

一款静态离线的供应链安全隔离工具,在依赖安装或代码执行前检测不受信任的仓库和包中的风险,并生成绑定摘要的安全凭证。

Stars: 0 | Forks: 0

# DreamNet Cerberus [![Cerberus 供应链卫士](https://github.com/BrandonDucar/dreamnet-cerberus/actions/workflows/cerberus-guard.yml/badge.svg)](https://github.com/BrandonDucar/dreamnet-cerberus/actions/workflows/cerberus-guard.yml) [![许可证](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) Cerberus 是一个静态、离线的隔离舱,专为不受信任的代码仓库、软件包、agent bundle、编辑器工作区和 CI 定义而设计。它会在安装依赖或执行之前检查 artifact,评估风险,并生成一份与摘要绑定的安全凭证。 它不会运行正在评估的代码仓库。 ## 拦截内容 - npm 生命周期脚本和 Git hook - 通过管道输入 shell 的远程内容 - 动态执行和子进程 - 凭证、钱包、浏览器配置文件和 SSH 密钥的窃取行为 - 可疑的网络目标 - 嵌入在代码仓库说明中的提示词注入 - Unicode 方向控制和零宽控制字符 - 特权或可变的 GitHub Actions - 未锁定版本、名称形似、远程来源和内部作用域的依赖项 - 自动化的编辑器和 devcontainer 命令 - 可变的 Docker 基础镜像 - 逃逸出 artifact 根目录的符号链接 ## 快速开始 无需安装任何依赖: ``` git clone https://github.com/BrandonDucar/dreamnet-cerberus.git cd dreamnet-cerberus node scripts/cerberus.mjs gate /path/to/untrusted-repository \ --source=https://github.com/example/candidate \ --source-identity=example \ --commit=0123456789abcdef0123456789abcdef01234567 ``` 绿色是唯一的默认通过判定结果。黄色表示需要人工审查。 橙色和红色无法通过命令行的允许覆盖来强制放行。 仅进行检查而不执行强制阻断: ``` node scripts/cerberus.mjs inspect /path/to/candidate ``` 验证已保存凭证的内部摘要: ``` node scripts/cerberus.mjs explain artifacts/ops/cerberus/.json ``` 运行对抗性测试用例: ``` npm test ``` ## 凭证 每个 `dreamnet.security-receipt.v1` 都会记录: - 声明的来源、发布者、版本、用途和请求者 - 仅包含摘要信息的文件清单 - 结构化的发现结果,不包含被复制的 payload 文本 - 声明的直接依赖 SBOM - 网络目标和请求的权限 - 类别风险评分和门禁判定 - 扫描器局限性和凭证完整性摘要 第一阶段的凭证未签名。它们可用于复现性和变更检测,但不代表发布者的身份签名。 ## 边界 代码仓库的文本仅作为证据,绝不作为权威。它无法自行获取本地凭证、shell、钱包、网络、部署或发布权限。 Cerberus 并不能证明软件是无害的。它不会引爆代码、解析每一个间接依赖包、查询威胁情报服务,也不能替代对高影响力软件的人工审查。 阅读完整的[架构与威胁模型](docs/ARCHITECTURE.md)。 ## DreamNet Cerberus 是 [DreamNet](https://dreamnet.ink) 的供应链防御层:这是一个围绕凭证、验证和明确授权构建的受控 agent 基础设施。
标签:CI/CD安全, DevSecOps, GNU通用公共许可证, Llama, MITM代理, Node.js, 上游代理, 云安全监控, 代码审查, 文档安全, 暗色界面, 自定义脚本, 静态分析