in-toto/witness

GitHub: in-toto/witness

基于 in-toto 规范的软件供应链安全管理框架,实现从源码到部署的全程可追溯证明与策略验证。

Stars: 518 | Forks: 75

# Witness [![Go 参考](https://pkg.go.dev/badge/github.com/in-toto/witness.svg)](https://pkg.go.dev/github.com/in-toto/witness) [![Go 报告卡](https://goreportcard.com/badge/github.com/in-toto/witness)](https://goreportcard.com/report/github.com/in-toto/witness) [![OpenSSF 最佳实践](https://www.bestpractices.dev/projects/8164/badge)](https://www.bestpractices.dev/projects/8164) [![OpenSSF 记分卡](https://api.securityscorecards.dev/projects/github.com/in-toto/witness/badge)](https://securityscorecards.dev/viewer/?uri=github.com/in-toto/witness) [![FOSSA 状态](https://app.fossa.com/api/projects/custom%2B41709%2Fgithub.com%2Fin-toto%2Fwitness.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B41709%2Fgithub.com%2Fin-toto%2Fwitness?ref=badge_shield&issueType=license) Witness 起源于 **[TestifySec](https://www.testifysec.com)**,后来捐赠给了 CNCF in-toto 生态系统。它现在由开放社区维护。
**[文档](https://witness.dev) • [贡献指南](/CONTRIBUTING.md) • [许可证](https://github.com/in-toto/witness/blob/main/LICENSE)** `bash <(curl -s https://raw.githubusercontent.com/in-toto/witness/main/install-witness.sh)`
Witness 项目 logo ### Witness 能做什么? ✏️ **证明** - Witness 是一个动态 CLI 工具,可集成到流水线和基础设施中,利用 in-toto 规范为您的软件在整个软件开发生命周期 (SDLC) 中的全过程创建审计追踪。 **🧐 验证** - Witness 还具有内置的策略引擎,并嵌入了对 OPA Rego 的支持,因此您可以确保您的软件从源码到部署的过程中都得到了安全处理。 ### 您可以用 Witness 做什么? - 验证软件是如何生产的以及使用了哪些工具 - 确保供应链的每一步都是由经过授权的用户和机器完成的 - 检测潜在的篡改或恶意活动 - 跨气隙分发证明和策略 ### 主要特性 - 与 GitLab、GitHub、AWS 和 GCP 集成。 - 旨在以**非特权**模式在容器化和非容器化环境中运行。 - 实现 in-toto 规范(包括 ITE-5、ITE-6 和 ITE-7) - 内置 OPA Rego 策略引擎用于策略执行 - 支持 Sigstore 和 SPIFFE/SPIRE 的无密钥签名 - 集成兼容 RFC3161 的时间戳颁发机构 - 进程追踪和进程篡改预防(实验性) - 使用 [Archivista](https://github.com/in-toto/archivista) 进行证明存储 ### 演示 ![Demo](https://raw.githubusercontent.com/in-toto/witness/main/docs/assets/demo.gif) ## 快速开始 ### 安装 要安装 Witness,您只需要 Witness 二进制文件。您可以从 [发布](https://github.com/in-toto/witness/releases) 页面下载,或使用安装脚本下载最新版本: ``` bash <(curl -s https://raw.githubusercontent.com/in-toto/witness/main/install-witness.sh) ``` 如果您想手动安装并验证其完整性,请按照 [INSTALL.md](./INSTALL.md) 中的说明操作。 ### 教程 查看我们的教程: - [入门指南](docs/tutorials/getting-started.md) - [验证制品策略](docs/tutorials/artifact-policy.md) - [使用 Fulcio 作为密钥提供者](docs/tutorials/artifact-policy.md) ## 媒体 查看一些外部内容,了解更多关于如何使用该项目的详细信息。 ##### [博客/视频 - 使用 Witness 生成和验证证明](https://www.testifysec.com/blog/attestations-with-witness/) ##### [博客 - 什么是供应链证明,我为什么需要它?](https://www.testifysec.com/blog/what-is-a-supply-chain-attestation/) ##### [演讲 - 使用 in-toto 和 SPIRE 项目保护软件供应链](https://www.youtube.com/watch?v=4lFbdkB62QI) ##### [演讲 - 使用 SBOM 和证明保护软件供应链](https://www.youtube.com/watch?v=wX6aTZfpJv0) ## 参与社区! 加入 [CNCF Slack](https://slack.cncf.io/) 并进入 `#in-toto-witness` 频道。您可能也有兴趣加入 `#in-toto` 频道以进行更广泛的 in-toto 讨论,以及 `#in-toto-archivista` 频道以参与关于 [Archivista](https://github.com/in-toto/archivista) 项目的讨论。 ## 社区与商业支持 - **社区渠道** – Slack、GitHub Issues 和每两周一次的办公时间对所有贡献者免费开放。 - **商业平台与 SLA** – [TestifySec](https://www.testifysec.com) 提供托管的 Witness/Archivista 托管服务和 7x24 小时支持。 (这些商业服务由 TestifySec 提供,不属于 CNCF 对 Witness 的赞助。)
标签:CI/CD安全, CNCF, DevSecOps, EVTX分析, EVTX分析, Go语言, Groq API, in-toto, Llama, OPA, RDFlib, Rego, SBOM, SLSA, web渗透, 上游代理, 制品溯源, 完整性验证, 文档安全, 日志审计, 硬件无关, 程序破解, 策略引擎, 网络安全挑战, 自动化证明, 请求拦截, 跌倒检测, 软件开发工具包, 软件物料清单, 靶场