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

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

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

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

工具目录

分类

查看所有分类
Loading categories
kubeaudit — kubeaudit 可帮助您对照常见安全控制项审计您的 Kubernetes 集群。 | Kitploit
工具/GitHubGitHub/shopify/kubeaudit
云基础设施安全漏洞扫描器容器安全配置审计云安全DevSecOps错误配置Archived
GitHubshopify/kubeaudit

kubeaudit

kubeaudit 可帮助您对照常见安全控制项审计您的 Kubernetes 集群。

查看仓库
1.9k189352年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Build Status Go Report Card GoDoc

现在要求集群运行 Kubernetes >=1.19。

使用未注册的 kubernetes.io 注解进行覆盖标签将被弃用。很快将要求改用 kubeaudit.io。 更多背景请参考此讨论。

🚨 弃用通知 🚨

Kubeaudit 计划于 2024 年 10 月之前弃用。

我们正在积极寻找愿意接手该项目的维护者。如果您对继续开发和维护它充满热情,请与我们联系。

对于寻找替代方案的用户,我们建议迁移到 Kubebench,它提供类似功能且正在积极维护。

感谢社区的支持和贡献。

kubeaudit ☁️ 🔒 💪

kubeaudit 是一个命令行工具和一个 Go 包,用于审计 Kubernetes 集群中的各种安全关注点,例如:

  • 以非 root 用户运行
  • 使用只读根文件系统
  • 丢弃危险的能力,不添加新能力
  • 不以特权模式运行
  • 以及更多!

简而言之,kubeaudit 确保你部署的容器是安全的!

包

如需将 kubeaudit 作为 Go 包使用,请参阅包文档。

本 README 的其余部分将重点介绍如何将 kubeaudit 用作命令行工具。

命令行界面(CLI)

  • 安装
  • 快速开始
  • 审计结果
  • 命令
  • 配置文件
  • 覆盖错误
  • 贡献

安装

Brew

brew install kubeaudit

下载二进制文件

Kubeaudit 有经过验证的稳定官方发布版本: 官方发布

自行构建

main 分支可能包含比稳定发布版本更新的功能。如果你需要尚未包含在发布版本中的新功能,请确保使用最新的 Go 并运行以下命令:

go get -v github.com/Shopify/kubeaudit

从快速开始开始使用 kubeaudit,或查看所有支持的命令。

Kubectl 插件

前提条件:kubectl 1.12.0 或更高版本

kubectl 1.12.0 引入了外部函数的易插拔性,kubeaudit 可以通过以下方式作为 kubectl audit 调用:

  • 运行 make plugin 并将 $GOPATH/bin 添加到你的 PATH 中。

  • 或者将二进制文件重命名为 kubectl-audit 并将其放在 PATH 中。

Docker

我们不再向 Docker Hub 发布镜像(因为 Docker Hub 已停止为免费团队组织提供服务)。目前,旧镜像仍然可用,但可能会随时停止提供。我们将很快开始向 Github 容器注册表发布镜像。

如需在集群中将 kubeaudit 作为作业运行,请参阅在集群中运行 kubeaudit。

快速开始

kubeaudit 有三种模式:

  1. 清单模式
  2. 本地模式
  3. 集群模式

清单模式

如果使用 -f/--manifest 标志提供了 Kubernetes 清单文件,kubeaudit 将审计该清单文件。

示例命令:

kubeaudit all -f "/path/to/manifest.yml"

示例输出:

$ kubeaudit all -f "internal/test/fixtures/all_resources/deployment-apps-v1.yml"

---------------- Results for ---------------

  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: deployment
    namespace: deployment-apps-v1

--------------------------------------------

-- [error] AppArmorAnnotationMissing
   Message: AppArmor annotation missing. The annotation 'container.apparmor.security.beta.kubernetes.io/container' should be added.
   Metadata:
      Container: container
      MissingAnnotation: container.apparmor.security.beta.kubernetes.io/container

-- [error] AutomountServiceAccountTokenTrueAndDefaultSA
   Message: Default service account with token mounted. automountServiceAccountToken should be set to 'false' or a non-default service account should be used.

-- [error] CapabilityShouldDropAll
   Message: Capability not set to ALL. Ideally, you should drop ALL capabilities and add the specific ones you need to the add list.
   Metadata:
      Container: container
      Capability: AUDIT_WRITE
...

如果未发现达到指定最低严重级别的错误,则返回以下内容:

All checks completed. 0 high-risk vulnerabilities found

自动修复

清单模式还支持使用 autofix 命令自动修复所有安全问题:

kubeaudit autofix -f "/path/to/manifest.yml"

要将修复后的清单写入新文件而非修改源文件,请使用 -o/--output 标志。

kubeaudit autofix -f "/path/to/manifest.yml" -o "/path/to/fixed"

要根据 kubeaudit 配置文件中指定的自定义规则修复清单,请使用 -k/--kconfig 标志。

kubeaudit autofix -k "/path/to/kubeaudit-config.yml" -f "/path/to/manifest.yml" -o "/path/to/fixed"

集群模式

Kubeaudit 可以检测自身是否在集群内的容器中运行。如果是,它将尝试审计该集群中的所有 Kubernetes 资源:

kubeaudit all

本地模式

Kubeaudit 将尝试使用本地 kubeconfig 文件($HOME/.kube/config)连接到集群。可以通过 --kubeconfig 标志指定不同的 kubeconfig 路径。使用 -c/--context 标志指定 kubeconfig 的上下文。

kubeaudit all --kubeconfig "/path/to/config" --context my_cluster

有关 Kubernetes 配置文件的更多信息,请参阅 https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/

审计结果

Kubeaudit 生成三种严重级别的结果:

  • Error:安全问题或无效的 Kubernetes 配置
  • Warning:最佳实践建议
  • Info:信息性,无需操作。包括已覆盖的结果

可以使用 --minSeverity/-m 标志设置最低严重级别。

默认情况下,kubeaudit 以人类可读的方式输出结果。如果输出需要进一步处理,可以使用 --format json 标志将其设置为 JSON 格式。要输出为日志(之前的默认格式),请使用 --format logrus。某些输出格式包含颜色,便于在终端中阅读。要禁用颜色(例如,将输出发送到文本文件),可以使用 --no-color 标志。

你可以使用 --format sarif 标志生成 SARIF 格式的 kubeaudit 报告。要写入 SARIF 结果到文件,可以使用 > 重定向输出。例如:

kubeaudit all -f path-to-my-file.yaml --format="sarif" > example.sarif

如果存在严重级别为 error 的结果,kubeaudit 将以退出码 2 退出。可以使用 --exitcode/-e 标志更改此行为。

有关 kubeaudit 所有自定义选项,请参阅全局标志。

命令

命令描述文档
all运行所有可用的审计器,或使用 kubeaudit 配置指定的审计器。docs
autofix自动修复安全问题。docs
version打印当前 kubeaudit 版本。

审计器

审计器也可以单独运行。

下载工具