SuperAPI AI 工具集

iac-scan-kube-linter

安全与审计

查看项目

更新于 10-16 07:05

技能介绍

用途

该技能用于对 Kubernetes 清单文件和 Helm Chart 进行安全最佳实践检查,由安全工程师角色执行。当需要审查或检查 Kubernetes YAML 清单或 Helm Chart 的安全问题时使用。

主要能力

调用 KubeLinter 对目标路径进行扫描,支持扫描单个文件或 Helm Chart 目录,并可将结果输出为 JSON 格式。内置的检查项覆盖多个安全维度:

  • run-as-non-root —— 容器不应以 root 运行
  • no-read-only-root-fs —— 应设置 readOnlyRootFilesystem: true
  • drop-net-raw-capability —— 应丢弃 NET_RAW 能力
  • no-extensions-v1beta —— 不应使用已弃用的 API 版本
  • dangling-service —— 服务没有匹配的 Pod
  • default-service-account —— 不应使用默认服务账户
  • writable-host-mount —— 主机路径以可写方式挂载
  • privilege-escalation-container —— allowPrivilegeEscalation 未设置为 false
  • unset-cpu-requirements —— 未设置 CPU 限制/请求
  • unset-memory-requirements —— 未设置内存限制/请求
  • sensitive-host-mounts —— 挂载了敏感的主机路径

技能会读取 KubeLinter 的 JSON 输出,并以包含检查项、对象、文件、消息和修复方案的表格呈现发现结果,最后汇总问题总数并提供针对每个发现的具体 YAML 修复方案。

前置条件

需要已安装 KubeLinter。可通过以下方式安装:

  • brew install kube-linter
  • 或下载二进制文件

可通过 kube-linter version 验证安装。

使用方式

  1. 确定目标——找出要检查的 K8s 清单或 Helm Chart 目录。
  2. 运行扫描:
    • 扫描路径并输出 JSON:kube-linter lint <path> --format json > kubelinter-results.json
    • 扫描单个文件:kube-linter lint deployment.yaml --format json
    • 扫描 Helm Chart:kube-linter lint ./charts/myapp --format json
    • 查看可用检查项:kube-linter checks list
    • 排除某项检查:kube-linter lint . --exclude no-read-only-root-fs --format json
  3. 解析结果——读取 JSON 输出并以表格形式呈现发现。
  4. 总结——提供问题总数,以及针对每个发现的具体 YAML 修复方案。

适用场景

适用于需要审查 Kubernetes 部署配置安全性的安全工程场景,包括对 K8s 清单文件和 Helm Chart 进行安全最佳实践检查。

限制

关于该技能的具体版本兼容性、支持的语言范围、是否支持自定义检查规则等限制,资料中暂未提供。