in-toto/witness
GitHub: in-toto/witness
基于 in-toto 规范的软件供应链安全管理框架,实现从源码到部署的全程可追溯证明与策略验证。
Stars: 518 | Forks: 75
# Witness
[](https://pkg.go.dev/github.com/in-toto/witness) [](https://goreportcard.com/report/github.com/in-toto/witness) [](https://www.bestpractices.dev/projects/8164) [](https://securityscorecards.dev/viewer/?uri=github.com/in-toto/witness) [](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 能做什么?
✏️ **证明** - 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) 进行证明存储
### 演示

## 快速开始
### 安装
要安装 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 的赞助。)
### 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) 进行证明存储
### 演示

## 快速开始
### 安装
要安装 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渗透, 上游代理, 制品溯源, 完整性验证, 文档安全, 日志审计, 硬件无关, 程序破解, 策略引擎, 网络安全挑战, 自动化证明, 请求拦截, 跌倒检测, 软件开发工具包, 软件物料清单, 靶场