BrandonDucar/dreamnet-cerberus
GitHub: BrandonDucar/dreamnet-cerberus
一款静态离线的供应链安全隔离工具,在依赖安装或代码执行前检测不受信任的仓库和包中的风险,并生成绑定摘要的安全凭证。
Stars: 0 | Forks: 0
# DreamNet Cerberus
[](https://github.com/BrandonDucar/dreamnet-cerberus/actions/workflows/cerberus-guard.yml)
[](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, 上游代理, 云安全监控, 代码审查, 文档安全, 暗色界面, 自定义脚本, 静态分析