chainloop-dev/chainloop

GitHub: chainloop-dev/chainloop

软件供应链证据存储与策略引擎,帮助安全团队定义合规契约,让开发人员在 CI/CD 中轻松提交 SBOM、证明等证据,实现供应链可追溯与合规自动化。

Stars: 529 | Forks: 47

# Chainloop [![LFX Health Score](https://insights.linuxfoundation.org/api/badge/health-score?project=chainloop)](https://insights.linuxfoundation.org/project/chainloop) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/chainloop-dev/chainloop/badge)](https://securityscorecards.dev/viewer/?uri=github.com/chainloop-dev/chainloop) [![Go Report Card](https://goreportcard.com/badge/github.com/chainloop-dev/chainloop)](https://goreportcard.com/report/github.com/chainloop-dev/chainloop) ![Test passing](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d523fdb2f8113355.svg) [![Chat on Slack](https://img.shields.io/badge/slack-chainloop-blue?logo=slack)](https://join.slack.com/t/chainloop-community/shared_invite/zt-2k34dvx3r-u85uGP_KiLC6ic5Wy4aRnQ) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/chainloop-dev/chainloop/blob/main/LICENSE.md) ## 它是什么? [Chainloop](https://github.com/chainloop-dev/chainloop) 是一个用于存储软件供应链证明、软件物料清单 (SBOM)、VEX、SARIF、QA 报告等的开源证据存储库。借助 Chainloop,安全、合规和风险管理团队可以定义安全和合规策略,明确他们希望接收哪些证据和工件,以及将其存储在何处。另一方面,开发人员通过获得关于如何在 CI/CD 流水线中进行插桩时提供所需内容的简单指示,从而免受所有这些复杂性的困扰。 欲了解更多关于项目动机的信息,请查看[我们的文档](https://docs.chainloop.dev)。 ## 它是如何工作的? ### 合规的单一事实来源 无论您选择哪种 CI/CD 提供商,都可以通过单一的集成点制作并存储证明元数据和工件。 ![Chainloop Overview](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e0ff390b77113356.png) 其结果是拥有一个符合 SLSA 第 3 级标准的、用于元数据、工件和证明的单一事实来源,该来源构建于 [Sigstore](https://www.sigstore.dev/)、[in-toto](https://in-toto.io/)、[SLSA](https://slsa.dev) 和 [OCI](https://github.com/opencontainers/image-spec/blob/main/spec.md) 等 OSS 标准之上。 Chainloop 还确保工件和证明的制作遵循**最佳实践,并满足**其相关工作流契约中声明的要求。 ### 声明式的、基于契约的证明 Chainloop 的一个关键方面是,CI/CD 集成是通过[**工作流契约**](https://docs.chainloop.dev/concepts/contracts)声明的。 工作流契约赋予合规和安全团队**完全控制权,以决定必须接收哪些类型的数据(构建信息、材料)作为证明的一部分,以及这些工作流必须在何种环境中执行**。这提供了一种简单且可维护的方式,将需求向下传播并在组织内强制执行。 您可以将其视为**组织软件供应链的 API**,开发团队与合规及安全团队双方都可以利用它进行有效的交互。 ![Chainloop Contracts](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c4b17f43fc113358.png) ### 策略即代码 合规和安全团队可以[编写](https://docs.chainloop.dev/guides/custom-policies) [Rego](https://www.openpolicyagent.org/docs/latest/policy-language/) 策略,并将其[附加](https://docs.chainloop.dev/concepts/policies)到工作流契约中。这些策略将被自动评估,其结果将在签名和存储之前添加到证明中。 ### 通过第三方集成满足您的需求 运维人员可以设置第三方集成,例如用于 SBOM 分析的 [Dependency-Track](https://docs.chainloop.dev/guides/dependency-track) 或 [Guac](https://docs.chainloop.dev/guides/guac/),或者使用存储后端(如 OCI 注册表或云对象存储)来存放接收到的工件、证据和证明元数据。 ![Chainloop Overview](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d774f4e95d113400.png) 合规和安全团队可以混合搭配不同的集成,同时**无需开发人员在其端进行任何更改**! 欲了解更多信息并查找可用集成列表,请查看我们的[集成页面](./devel/integrations.md)。 ### 角色定制体验 Chainloop 确保明确定义**两个主要角色(合规/安全团队和开发团队)**的职责、体验和功能范围。 合规和安全团队负责定义工作流契约、制定策略、设置第三方集成,或访问展示所有软件供应链安全细节的控制平面。 另一方面,开发团队只需要集成 Chainloop 无术语的[制作工具](https://docs.chainloop.dev/concepts/attestations#attestation-lifecycle),并通过熟悉的 DevExp 遵循步骤,以确保他们符合 SecOps 团队定义的工作流契约。无需学习 in-toto、签名、SLSA、OCI、API 等等 :) ## 支持的证据 / 材料 在证明过程中,您可以附加不同的证据和工件,这些证据和工件将被上传到[内容寻址存储](https://docs.chainloop.dev/concepts/cas-backend)(如适用),并在已签名的 in-toto 证明中被引用。 Chainloop 支持收集以下证据类型列表。完整列表请参考[此页面](https://docs.chainloop.dev/concepts/material-types) - [CycloneDX SBOM](https://github.com/CycloneDX/specification) - [SPDX SBOM](https://spdx.dev/specifications/) - [OpenVEX](https://github.com/openvex) - [SARIF](https://docs.oasis-open.org/sarif/sarif/v2.1.0/) - [Container Image Reference](https://github.com/opencontainers/image-spec) - [Helm Chart](https://helm.sh/docs/topics/charts/) - [BlackDuck SCA](https://www.blackduck.com/software-composition-analysis-tools/black-duck-sca.html) - [ZAP DAST](https://github.com/marketplace/actions/zap-baseline-scan) - [PrismaCloud Twistcli Scan](https://docs.prismacloud.io/en/compute-edition/30/admin-guide/tools/twistcli-scan-images) - [CSAF Security Incident Report](https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html#42-profile-2-security-incident-response) - [CSAF Informational Advisory](https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html#43-profile-3-informational-advisory) - [CSAF Security Advisory](https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html#44-profile-4-security-advisory) - [CSAF VEX](https://docs.oasis-open.org/csaf/csaf/v2.0/os/csaf-v2.0-os.html#45-profile-5-vex) - [Gitlab Security report](https://docs.gitlab.com/ee/user/application_security/) - [JUnit](https://www.ibm.com/docs/en/developer-for-zos/14.1?topic=formats-junit-xml-format) - [JaCoCo XML Coverage Reports](https://www.jacoco.org/jacoco/trunk/doc/) - [SLSA Provenance files](https://slsa.dev/spec/v1.1/provenance) - Attestation: 现有的 Chainloop 证明。 - Artifact Type: 代表一个软件工件。 - Custom Evidence Type: 不适合任何其他类别的自定义证据,例如 json 格式的审批报告等。 - Key-Value 元数据对 ## 开始使用 按照[快速入门](https://docs.chainloop.dev/quickstart)或[入门指南](https://docs.chainloop.dev/get-started)获取有关 a) 如何下载和配置 Chainloop CLI 以及 b) 如何在您的 Kubernetes 集群上部署 Chainloop 的详细信息。 ### 命令行界面 (CLI) 安装 要为 macOS、Linux 或 Windows(使用 [WSL](https://learn.microsoft.com/en-us/windows/wsl/install))**安装最新版本**,只需选择以下安装方法之一。 ``` curl -sfL https://dl.chainloop.dev/cli/install.sh | bash -s ``` 您可以使用以下命令检索特定版本 ``` curl -sfL https://dl.chainloop.dev/cli/install.sh | bash -s -- --version v1.7.0 ``` 并自定义安装路径(默认为 /usr/local/bin) ``` curl -sfL https://dl.chainloop.dev/cli/install.sh | bash -s -- --path /my-path ``` 如果您的系统中存在 [`cosign`](https://docs.sigstore.dev/cosign),除了校验和检查外,还将执行签名验证。可以通过 `--force-verification` 标志强制执行此行为。 ``` curl -sfL https://dl.chainloop.dev/cli/install.sh | bash -s -- --force-verification ``` ### 部署 Chainloop(可选) 下载 CLI 是您试用 Chainloop 所需的全部操作,因为默认情况下,它指向一个[正在运行的 Chainloop 实例](https://app.chainloop.dev)。 您也可以利用[此 Helm Chart](./deployment/chainloop/)在您的 Kubernetes 集群上**运行您自己的 Chainloop 实例**。 ### 配置 CLI(可选) 如果您正在运行控制平面的[自有实例](https://github.com/chainloop-dev/chainloop)。您可以使用 `chainloop config save` 命令让 CLI 指向您的实例。 ``` chainloop config save \ --control-plane my-controlplane.acme.com \ --artifact-cas cas.acme.com ``` ### 认证 通过运行以下命令向控制平面进行认证 ``` $ chainloop auth login ``` ### 完成设置 登录后,请按照[这些说明](https://docs.chainloop.dev/get-started/setup)了解如何设置您的账户。 ## 文档 欲了解更多信息,请访问 Chainloop 项目的文档网站 https://docs.chainloop.dev,您将在那里找到入门指南、常见问题解答、示例等。 ## 社区 / 讨论 / 支持 Chainloop 是开源开发的,并由我们的用户、贡献者和维护者不断改进。有问题、评论或想法?请不要犹豫,通过以下方式联系我们: - GitHub [Issues](https://github.com/chainloop-dev/chainloop/issues) - [Slack](https://join.slack.com/t/chainloop-community/shared_invite/zt-2k34dvx3r-u85uGP_KiLC6ic5Wy4aRnQ) - Youtube [Channel](https://www.youtube.com/channel/UCISrWrPyR_AFjIQYmxAyKdg) ## 更新日志 查看[版本](http://github.com/chainloop-dev/chainloop/releases)列表以了解最新的功能和变更。 ## 许可证 Chainloop 是在 Apache License, Version 2.0 下发布的。更多信息请参见 [LICENSE](./LICENSE.md) 文件。
标签:Attestation, Cloud Native, DevSecOps, EVTX分析, EVTX分析, EVTX分析, Go, LNA, QA报告, Ruby工具, SARIF, SBOM, SDLC, SLSA, VEX, 上游代理, 中间件漏洞, 人工智能安全, 元数据管理, 制品管理, 合规性, 子域名突变, 安全策略, 开源, 提示词设计, 日志审计, 源-of-Truth, 硬件无关, 策略引擎, 结构化提示词, 网络安全挑战, 证据存储, 跌倒检测, 软件供应链, 软件物料清单