Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
kube-score — Kubernetes 对象分析与改进可靠性和安全性的建议。kube-score 主动防止 Kubernetes YAML 和 Charts 中的停机与错误。用于 Kubernetes 的静态代码分析。 | Kitploit
工具/GitHubGitHub/zegl/kube-score
漏洞扫描器静态代码分析 (SAST)云安全DevSecOps错误配置
GitHubzegl/kube-score

kube-score

Kubernetes 对象分析与改进可靠性和安全性的建议。kube-score 主动防止 Kubernetes YAML 和 Charts 中的停机与错误。用于 Kubernetes 的静态代码分析。

查看仓库
3.1k1983个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

kube-score

Go Report Card Test Go Releases GitHub stars Downloads License


kube-score 是一个对您的 Kubernetes 对象定义进行静态代码分析的工具。

输出是一系列建议,帮助您提高应用程序的安全性和弹性。

您可以通过在线演示(源代码)在浏览器中尝试 kube-score。

安装

kube-score 安装简单,可通过以下途径获取:

赞助商

_您的公司在这里?_

检查项

完整检查项列表请参见 README_CHECKS.md。

  • 容器限制(应设置)
  • Pod 被 NetworkPolicy 覆盖,建议同时配置 egress 和 ingress 规则
  • Deployment 和 StatefulSet 应设置 PodDisruptionPolicy
  • Deployment 和 StatefulSet 应配置宿主机 PodAntiAffinity
  • 容器探针:应配置就绪探针,且不应与存活探针相同。更多信息请参见 README_PROBES.md。
  • 容器 securityContext:以高编号用户/组运行,不要以 root 运行或使用特权根文件系统。更多信息请参见 README_SECURITYCONTEXT.md。
  • 稳定 API:尽可能使用稳定 API(支持:Deployments、StatefulSets、DaemonSet)

示例输出

在 CI 中使用

kube-score 可以在 CI/CD 环境中运行,若发现严重错误则退出码为 1。可以通过 --exit-one-on-warning 参数将触发级别改为警告。

为了获得最佳结果,kube-score 的输入应该是您部署到同一命名空间的所有应用。

Helm 示例

root@kitploit:~
helm template my-app | kube-score score -

Kustomize 示例

root@kitploit:~
kustomize build . | kube-score score -

静态 YAML 示例

root@kitploit:~
kube-score score my-app/*.yaml
root@kitploit:~
kube-score score my-app/deployment.yaml my-app/service.yaml

现有集群示例

root@kitploit:~
kubectl api-resources --verbs=list --namespaced -o name \
  | xargs -n1 -I{} bash -c "kubectl get {} --all-namespaces -oyaml && echo ---" \
  | kube-score score -

Docker 示例

root@kitploit:~
docker run -v $(pwd):/project zegl/kube-score:latest score my-app/*.yaml

配置

root@kitploit:~
kube-score 用法:
kube-score [action] --flags

操作:
	score	检查输入中的所有文件,给出评分和建议
	list	打印所有可用评分检查的 CSV 列表
	version	打印 kube-score 版本
	help	打印此帮助信息

score 标志:
      --disable-ignore-checks-annotations   设为 true 以禁用 'kube-score/ignore' 注释的效果
      --disable-optional-checks-annotations 设为 true 以禁用 'kube-score/enable' 注释的效果
      --enable-optional-test strings        启用一个可选测试,可多次设置
      --exit-one-on-warning                 如果有警告则退出码为 1
      --help                               打印帮助信息
      --ignore-container-cpu-limit          禁用设置容器 CPU 限制的要求
      --ignore-container-memory-limit       禁用设置容器内存限制的要求
      --ignore-test strings                 禁用一个测试,可多次设置
      --kubernetes-version string           设置 kubernetes-version 会影响对清单运行检查。建议设置为生产环境使用的 Kubernetes 版本以获得最佳结果。(默认 "v1.18")
  -o, --output-format string                设为 'human'、'json'、'ci' 或 'sarif'。若设为 ci,kube-score 将输出更易于其他程序解析的格式。Sarif 输出便于与 CI 平台集成。(默认 "human")
      --output-version string               改变 --output-format 的版本。'json' 格式有 'v2'(默认)和 'v1'(已弃用,将在 v1.7.0 中移除)。'human' 和 'ci' 格式只有 'v1' 版本(默认)。若未显式设置,将使用该输出格式的默认版本。
  -v, --verbose count                       启用详细输出,可多次设置以增加详细程度。

忽略测试

可以使用 --ignore-test 标志在程序全局运行中忽略测试。

也可以通过向对象添加 kube-score/ignore 注释,以每个对象为基础忽略测试。其值应为逗号分隔的测试 ID 字符串。

示例:

测试此对象将临时禁用 service-type 测试,该测试会警告使用 NodePort 类型的服务。

root@kitploit:~
apiVersion: v1
kind: Service
metadata:
  name: node-port-service-with-ignore
  namespace: foospace
  annotations:
    kube-score/ignore: service-type
spec:
  selector:
    app: my-app
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
  type: NodePort

启用可选测试

可以使用 --enable-optional-test 标志在程序全局运行中启用可选测试。

也可以通过向对象添加 kube-score/enable 注释,以每个对象为基础启用测试。其值应为逗号分隔的测试 ID 字符串。

示例:

测试此对象将启用 container-seccomp-profile 测试。同时,kube-score/ignore 定义的多个测试也会被忽略。

root@kitploit:~
apiVersion: apps/v1
kind: Deployment
metadata:
  name: optional-test-manifest-deployment
  labels:
    app: optional-test-manifest
  annotations:
    kube-score/ignore: pod-networkpolicy,container-resources,container-image-pull-policy,container-security-context-privileged,container-security-context-user-group-id,container-security-context-readonlyrootfilesystem,container-ephemeral-storage-request-and-limit
    kube-score/enable: container-seccomp-profile
spec:
  replicas: 1
  selector:
    matchLabels:
      app: optional-test-manifest
  template:
    metadata:
      labels:
        app: optional-test-manifest
    spec:
      containers:
      - name: optional-test-manifest
        image: busybox:1.34
        command:
        - /bin/sh
        - -c
        - date; env; tail -f /dev/null

从源码构建

kube-score 需要 Go 1.21 或更高版本才能构建。克隆此仓库,然后:

root@kitploit:~
# 构建项目
go build ./cmd/kube-score

# 运行所有测试
go test -v ./...

想要贡献?

想帮忙吗?请查看贡献指南了解更多信息。🤩

依赖

项目版本
go.dev^1.21

制作团队

下载工具
发行方式命令 / 链接
macOS、Linux 和 Windows 的预构建二进制文件GitHub releases
Dockerdocker pull zegl/kube-score (Docker Hub)
Homebrew(macOS 和 Linux)brew install kube-score
Krew(macOS 和 Linux)kubectl krew install score