SDA-SE/cluster-image-scanner

GitHub: SDA-SE/cluster-image-scanner

一个在 Kubernetes 集群内运行的容器镜像漏洞与配置错误发现系统。

Stars: 55 | Forks: 4

# ClusterImageScanner ![Logo](docs/images/logo.png "Logo") 在生产环境中发现漏洞和容器镜像配置错误。 # 简介 ClusterImageScanner 检测 Kubernetes 集群中的镜像,并根据多种安全测试提供快速反馈。建议在生产环境中运行 ClusterImageScanner,以便在安全问题的实际影响发生的地方获得最新的反馈。 由于 ClusterImageScanner 本身是在 Kubernetes 集群内运行的服务,因此可以复用现有的部署流程。 # 概述 下图提供了整体概览: ![Overview](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a54fd79d92145145.png) 执行以下步骤。 1. 镜像收集器(Image Collector,顾名思义)从容器环境(如 Kubernetes 集群)中收集不同的镜像。收集器会创建一个 JSON 文件,并包含集群、负责团队和镜像等信息。 2. 编排器(通过 ArgoWorkflows 实现)定期(例如每晚)启动工作流。 3. 镜像收集器收集的镜像可由镜像获取器(Image Fetcher)拉取。 4. 这些文件保存在单独的目录中,并从此处传递给扫描器。 5. 使用多种扫描器,例如 Dependency Track、Lifetime、Malware 等。 6. 漏洞管理系统(在我们的案例中是 [OWASP DefectDojo](https://github.com/DefectDojo/django-DefectDojo))收集结果。 7. 未得到响应的发现结果会通过通信渠道(Slack/Email)提供给开发人员。 ## 文档目录 - [用户文档](docs/user) - [架构与决策](docs/architecture) - [Operator 文档](docs/deployment) [视频(英文):SDA SE ClusterImageScanner 开源,2021-03](https://www.youtube.com/watch?v=_AElSBKSizc&t=2966s) # 镜像 ArgoWorkflows 使用的镜像在 quay.io 上发布(2021-06-28): - `cluster-image-scanner-scan-runasroot` - `cluster-image-scanner-scan-distroless` - `cluster-image-scanner-scan-lifetime` - `cluster-image-scanner-scan-malware` - `cluster-image-scanner-scan-new-version` - `cluster-image-scanner-imagefetcher` - `cluster-image-scanner-notifier` - `cluster-image-scanner-imagecollector` - `cluster-image-scanner-image-source-fetcher` - `cluster-image-scanner-workflow-runner` - [quay.io/sdase/image-metadata-collector](https://github.com/SDA-SE/image-metadata-collector) - [quay.io/sdase/defectdojo-client](https://github.com/SDA-SE/defectdojo-client) `cluster-image-scanner-base` 是所有 `cluster-image-scanner-*` 镜像的基础镜像。 镜像使用 [buildah](https://buildah.io/) 构建。可启动时使用的环境参数在 [images](images/) 目录中的 _build.sh_ 脚本内通过 --config 文档化。 # 负责任披露与安全 [SECURITY.md](SECURITY.md) 包含有关负责任披露和安全主题的信息,例如安全补丁。 # 部署 ## 测试 ``` cd test_actions export IS_MINIKUBE=true # if minikube is used ./setup.bash ``` ## 生产 Helm 文件位于 `deployment/helm` 中。 # 法律声明 ClusterImageScanner 的目的不是取代渗透测试者或使其过时。我们强烈建议在所有应用程序上由经验丰富的渗透测试者执行广泛测试。 ClusterImageScanner 仅应用于测试您正在运行的应用程序/容器。您需要对 **被扫描环境** 的组织拥有书面同意,才能使用 ClusterScanner 扫描组件。 # 作者信息 该项目由 [Signal Iduna](https://www.signal-iduna.de) 和 [SDA SE](https://sda.se/) 开发。
标签:ArgoWorkflows, CI/CD 安全, Dependency Track, DevSecOps, Email 告警, GPT, Image Collector, Image Fetcher, Kubernetes 安全, OWASP DefectDojo, Slack 通知, Web截图, 上游代理, 夜间扫描, 子域名突变, 安全测试, 容器安全, 容器镜像扫描, 开源安全工具, 恶意软件扫描, 攻击性安全, 数据投毒防御, 模型鲁棒性, 漏洞管理, 生产环境漏洞检测, 生命周期扫描, 逆向工程平台, 镜像配置审计, 集群资产发现