CNCF 项目 Inspektor Gadget 已于近日完成了首次独立安全审计。这次审计由 Open Source Technology Improvement Fund(OSTIF)协调,CNCF 资助,并由安全公司 Shielder 执行。
审计结果、修复方案以及后续加固建议均已公开;所有报告中提到的漏洞,目前也都已经有可用补丁。对于正在生产环境中使用 Inspektor Gadget 的团队来说,建议升级到 v0.50.1 或更高版本。

Shielder 安排了两名研究人员在 2026 年初执行本次审计。审计方法包括:
- 协同威胁建模;
- 人工源代码审查;
- 在专用实验环境中进行动态测试;
- 使用 Semgrep、GoSec 等工具进行静态分析;
- 借助 AI 辅助代码审查,以提升覆盖面。
为了贴近真实使用场景,研究人员搭建了三类测试环境:本地 Linux 主机部署;远程 daemon 部署;基于 minikube 的 Kubernetes 部署。这些环境覆盖了 Inspektor Gadget 在实际使用中的主要部署方式。
本次审计共发现 3 个漏洞。其中没有 Critical 或 High 级别漏洞,严重程度分布为:2 个 Medium,1 个 Low。
两个中危问题包括:
- ig image build 中存在命令注入风险,对应 CVE-2026-24905。原因是镜像构建流程中使用的 Makefile 对用户可控输入处理不当,没有进行充分转义。这会形成命令注入向量。这个问题在 CI/CD 场景中尤其值得关注。如果流水线会构建不可信 gadget,攻击者就可能利用该路径执行非预期命令。该问题已在 v0.48.1 中修复。
- 通过事件洪泛造成拒绝服务。恶意容器可以持续向 eBPF ring buffer 写入大量事件。由于该缓冲区大小固定为 256 KB,攻击者可以通过制造噪声导致其他容器产生的事件被静默丢弃。对于把 Inspektor Gadget 接入安全监控链路的团队来说,这个问题比较关键。攻击者可能通过“刷屏”隐藏真正的异常行为。该问题已在 v0.50.1 中修复。
低危问题是 columns 输出模式中未清理 ANSI 转义序列,对应 CVE-2026-25996。当 Inspektor Gadget 在终端中渲染事件时,如果没有对 ANSI escape sequences 做清理,受感染容器就可能向操作员终端注入特殊控制字符,影响终端显示。该问题已在 v0.49.1 中修复。
除了具体漏洞,Shielder 还给出了 6 条安全加固建议。这些建议并不代表已经存在可利用漏洞,而是为了进一步缩小攻击面、提升默认安全性。
- 第一,TCP listener 默认应强制启用 TLS。目前 daemon 在没有 TLS 的情况下启动 TCP listener 时,会打印警告但继续以明文方式运行。审计建议改为默认强制 TLS,只有在用户显式声明时才允许关闭。
- 第二,CI/CD 中的外部依赖需要固定版本并进行校验。部分构建依赖在下载时没有做哈希或签名验证。项目已经合入了一部分修复,也有相关 PR 正在推进。
- 第三,实现 Kubernetes namespace blocklist。这样可以避免对 kube-system 等敏感命名空间进行非预期追踪。
- 第四,限制远程客户端通过 daemon 启用主机级追踪。如果继续支持这类能力,则需要更清楚地文档化对应风险。
- 第五,自动化扫描第三方依赖漏洞。这可以帮助项目更早发现依赖链中的已知安全问题。
- 第六,收缩 DaemonSet Pod 的 RBAC 权限。尤其是 nodes/proxy GET 权限。如果 service account token 泄露,该权限可能被用于权限提升。
维护者正在逐项处理这些建议。部分修复已经合入,RBAC 重构和 namespace blocklist 等工作则需要更长时间。
Inspektor Gadget 是一个基于 eBPF 的 Kubernetes 可观测性和 Linux 主机检查工具包。它可以在 Kubernetes 集群和 Linux 主机中收集、检查运行时数据,并通过所谓的 “gadget” 来完成具体观测任务。这里的 gadget 可以理解为被打包成 OCI 镜像的 eBPF 程序,能够像容器镜像一样被分发和运行。
在生产环境中,排查 Kubernetes 集群内部发生了什么,通常会带来不少成本:需要给镜像加入额外埋点;需要给 Pod 注入 sidecar;需要把调试器或 strace 挂到运行中的进程上;需要重启工作负载以开启或关闭追踪;甚至可能要在节点上安装自定义内核模块。
Inspektor Gadget 试图降低这些成本。它通过在运行时把 eBPF 程序加载进内核,观察系统调用、网络活动和文件访问等行为。应用本身不需要改动,业务可以继续运行,运维和安全团队则可以拿到所需的运行时数据。
而 Inspektor Gadget 的工作方式决定了它需要较高权限。为了完成节点级别的观测,它会在节点上以 root 级权限运行。对于任何会在共享基础设施中以高权限运行的工具而言,安全性不能只依赖项目自己的判断。随着项目逐渐成熟、用户采用增加,引入独立第三方安全审计,是建立信任的关键一步。
更多详情可查看官方博客。