KubeClarity 开源项目教程
项目介绍
KubeClarity 是一个用于检测和管理软件物料清单(SBOM)及容器镜像和文件系统漏洞的工具。它专注于 Kubernetes 安全扫描和供应链漏洞管理,提供了轻松的集成方式。KubeClarity 支持多种 SBOM 格式,并能与 CI/CD 管道无缝集成,帮助用户在开发过程中及时发现和修复安全问题。
项目快速启动
安装 CLI
KubeClarity 提供了一个命令行工具(CLI),可以方便地在本地运行,尤其适用于 CI/CD 管道。以下是安装步骤:
-
下载二进制文件:
wget https://github.com/openclarity/kubeclarity/releases/download/v2.23.3/kubeclarity-cli-<OS>-<ARCH>
-
解压并添加到 PATH:
tar -xzf kubeclarity-cli-<OS>-<ARCH>.tar.gz mv kubeclarity-cli /usr/local/bin/
-
验证安装:
kubeclarity-cli --version
生成 SBOM 和扫描漏洞
使用 CLI 分析镜像或目录,生成 SBOM 并扫描漏洞:
kubeclarity-cli analyze <image/directory name> --input-type <dir|file|image(default)> -o <output file or stdout>
例如:
kubeclarity-cli analyze my-image:latest --input-type image -o sbom.json
应用案例和最佳实践
在 CI/CD 管道中集成
KubeClarity 可以集成到 CI/CD 管道中,实现自动化的 SBOM 生成和漏洞扫描。以下是一个示例 Jenkins 流水线脚本:
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'docker build -t my-image:latest .'
}
}
stage('SBOM and Vulnerability Scan') {
steps {
sh 'kubeclarity-cli analyze my-image:latest --input-type image -o sbom.json'
sh 'kubeclarity-cli scan sbom.json'
}
}
}
}
定期扫描和报告
建议定期运行 KubeClarity 扫描,并将结果导出到 KubeClarity 后端,以便进行集中管理和报告。
典型生态项目
KubeClarity 可以与以下生态项目集成,提供更全面的安全解决方案:
- Kubernetes:作为容器编排平台,KubeClarity 可以与 Kubernetes 集成,实现运行时扫描和漏洞管理。
- Helm:通过 Helm 部署 KubeClarity,简化安装和管理过程。
- CI/CD 工具:如 Jenkins、GitLab CI 等,实现自动化的 SBOM 生成和漏洞扫描。
通过这些集成,KubeClarity 能够提供从开发到部署的全链路安全保障。