jijo-OO7/chainrisk

GitHub: jijo-OO7/chainrisk

一款基于 SBOM 的 CLI 工具,用于分析软件依赖关系并模拟供应链风险传播。

Stars: 0 | Forks: 0

# ChainRisk

chainrisk logo

ChainRisk 是一款用于分析软件供应链风险的 CLI 工具,基于 SBOM。

## 概览 ChainRisk 帮助开发者和安全工程师理解软件依赖之间的关联,以及风险如何在其中传播。 它不仅仅关注已知漏洞,还回答了更具实践意义的问题: ## 为何选择 ChainRisk 现代系统依赖深层的依赖链: ``` Application ↓ Libraries ↓ Transitive Dependencies ``` 底层依赖的故障可能影响多个服务和系统。 ChainRisk 可以帮助你: * 理解依赖关系 * 可视化组件间的连接 * 模拟故障在系统中的传播 ## 功能(v0.1) ### 📊 SBOM 分析 解析 SBOM 文件以提取包和依赖信息。 ``` chainrisk sbom-info ``` 示例: ``` chainrisk sbom-info testdata/sample.json ``` 输出: ``` 📊 SBOM INFO 📦 Total Packages: 3 🔗 Dependency Graph: • protobuf → zlib • grpc → protobuf ``` ### 🔗 依赖关系图 根据 SBOM 关系构建有向依赖图。 * 建模组件间的依赖 * 识别包之间的连接方式 * 为风险分析奠定基础 ### 🚨 影响范围分析 模拟受妥协依赖的影响范围。 ``` chainrisk blast --target=zlib ``` 示例: ``` chainrisk blast testdata/sample.json --target=zlib ``` 输出: ``` 🚨 BLAST RADIUS 🎯 Target: zlib 📦 Affected Components: • zlib • protobuf • grpc ⚡ Total Impact: 3 components ``` ## CLI 使用 ``` chainrisk version chainrisk sbom-info chainrisk blast --target= ``` ## 安装 ### 使用 Go(推荐) ``` go install github.com/jijo-OO7/chainrisk/cmd/chainrisk@latest ``` ### 从源码构建 ``` git clone https://github.com/jijo-OO7/chainrisk.git cd chainrisk go build -o chainrisk ./cmd/chainrisk ``` 运行: ``` ./chainrisk ``` ## 项目结构 ``` cmd/chainrisk → CLI entry point internal/sbom → SBOM parsing logic internal/graph → dependency graph construction internal/cli → command handlers testdata/ → sample SBOM files ``` ## 路线图(v0.1 之后) * 依赖中心性检测 * 影响范围深度/层级 * 风险评分模型 * CI/CD 集成 * 支持多种 SBOM 格式(SPDX、CycloneDX) ## 版本 **当前版本:v0.1.0** 本版本聚焦于: * SBOM 解析 * 依赖关系图构建 * 影响范围模拟 未来版本将扩展更深入的风险分析与生产级能力。 ## 许可证 根据 Apache License 2.0 授权。 ## 作者 Suman Mandal GitHub: https://github.com/jijo-OO7
标签:DevSecOps, EVTX分析, Go语言, SBOM分析, Svelte, XML 请求, 上游代理, 依赖关系图谱, 依赖树, 安全开发, 故障影响分析, 日志审计, 爆破半径分析, 程序破解, 组件可见性, 跌倒检测, 软件供应链安全, 软件物料清单, 软件组成分析, 远程方法调用, 风险传播模拟