O Inspektor Gadget, toolkit eBPF para observabilidade em Kubernetes e inspeção de hosts Linux, passou por sua primeira auditoria independente de segurança. Coordenada pela Open Source Technology Improvement Fund (OSTIF), com financiamento da CNCF e execução pela Shielder, a auditoria trouxe à tona três vulnerabilidades — nenhuma delas Crítica ou Alta —, todas já corrigidas. As recomendações de hardening também foram publicadas, e os patches estão disponíveis para quem opera a ferramenta em produção.
TL;DR: O Inspektor Gadget, toolkit eBPF para observabilidade em Kubernetes, passou por sua primeira auditoria de segurança coordenada pela OSTIF e executada pela Shielder. Foram encontradas três vulnerabilidades — duas de severidade Média e uma Baixa — todas já corrigidas nas versões v0.48.1, v0.49.1 e v0.50.1. Para operações brasileiras que dependem de tracing seguro em produção, a mensagem é clara: atualize para v0.50.1 e acompanhe as recomendações de hardening, como uso obrigatório de TLS e bloqueio de namespaces sensíveis.
O que é o Inspektor Gadget?
Inspektor Gadget é um framework e toolkit que utiliza eBPF para coletar e inspecionar dados em clusters Kubernetes e hosts Linux. Ele gerencia o empacotamento, deployment e execução de "gadgets" — programas eBPF empacotados como imagens OCI (Open Container Initiative). OCI é um projeto da Linux Foundation que define padrões abertos para formatos e runtimes de imagens de container, garantindo que a mesma imagem possa ser distribuída e executada em qualquer registry ou ferramenta compatível.
Para times que operam Kubernetes em produção e precisam entender o que está acontecendo dentro de um cluster, o Inspektor Gadget oferece essa visibilidade sem os tradeoffs tradicionais. Não é necessário reconstruir imagens de container com instrumentação extra, injetar sidecars em cada pod, anexar debuggers ou strace a processos em execução, reiniciar workloads para ativar ou desativar tracing, ou enviar módulos customizados do kernel para os nós. Em vez disso, programas eBPF são carregados no kernel em runtime para observar com segurança syscalls, atividade de rede e acesso a arquivos. As aplicações continuam rodando inalteradas enquanto os operadores obtêm os dados de que precisam.
Por que uma auditoria de segurança?
Qualquer ferramenta que executa com privilégios elevados em infraestrutura compartilhada precisa conquistar confiança. O Inspektor Gadget roda com acesso root nos nós para realizar suas funções, o que torna uma revisão independente de sua postura de segurança um passo natural à medida que o projeto amadurece e a adoção cresce.
A OSTIF é uma organização sem fins lucrativos dedicada a melhorar a segurança de software open source. Nos últimos dez anos, a OSTIF gerenciou engajamentos de segurança que revelaram mais de 800 vulnerabilidades em 120 projetos open source.
Como o escopo da auditoria foi definido?
A OSTIF contratou a Shielder para realizar a avaliação. Dois pesquisadores trabalharam na auditoria no início de 2026. A metodologia combinou:
- Modelagem colaborativa de ameaças com os mantenedores do Inspektor Gadget
- Revisão manual de código-fonte
- Testes dinâmicos em ambientes de laboratório dedicados
- Análise estática usando ferramentas como Semgrep e GoSec
- Revisão de código assistida por IA para cobertura mais ampla
Os pesquisadores montaram três ambientes de teste que refletem como o Inspektor Gadget é implantado na prática: uma implantação local em host Linux, uma implantação remota com daemon e uma implantação Kubernetes no minikube.
O que a auditoria encontrou?
A auditoria identificou três vulnerabilidades. Nenhuma foi classificada como Crítica ou Alta.
Duas descobertas de severidade Média:
-
Injeção de comando no
ig image build(CVE-2026-24905). O processo de construção de imagens usava Makefiles que incorporavam entrada controlada pelo usuário sem escapes adequados, criando um vetor de injeção de comandos. Isso é mais relevante em pipelines de CI/CD que constroem gadgets não confiáveis. Corrigido na versão v0.48.1. -
Negação de serviço via saturação de eventos. Um container malicioso poderia sobrecarregar o ring buffer eBPF (hard-coded em 256 KB), fazendo com que o sistema descartasse silenciosamente eventos de outros containers. Para times que usam Inspektor Gadget como parte de um pipeline de monitoramento de segurança, isso poderia permitir que um atacante escondesse atividades gerando ruído. Corrigido na versão v0.50.1.
Uma descoberta de severidade Baixa:
- Sequências ANSI não sanitizadas no modo de saída em colunas (CVE-2026-25996). Ao renderizar eventos no terminal, o Inspektor Gadget não sanitizava sequências de escape ANSI, permitindo que um container comprometido injetasse códigos de escape no terminal do operador. Corrigido na versão v0.49.1.
Quais recomendações de hardening foram entregues?
Além das vulnerabilidades específicas, a Shielder entregou seis recomendações de hardening. Elas não são exploits ativos — são áreas onde o projeto pode reduzir sua superfície de ataque ao longo do tempo:
- Forçar TLS por padrão em listeners TCP. Quando o daemon inicia um listener TCP sem TLS, atualmente ele registra um aviso e continua em texto plano. A recomendação é exigir uma flag explícita para opt-out.
- Fixar e verificar dependências externas no CI/CD. Várias dependências de build eram baixadas sem verificação de hash ou assinatura. O projeto já aplicou correções ou tem pull requests abertos para a maioria delas.
- Implementar uma blocklist de namespaces Kubernetes para evitar tracing não intencional em namespaces sensíveis como
kube-system. - Restringir clientes remotos de habilitar tracing em nível de host através do daemon, ou documentar claramente o risco.
- Automatizar varredura de vulnerabilidades de terceiros para dependências do projeto.
- Reduzir permissões RBAC no pod do DaemonSet — especificamente a permissão
nodes/proxy GET, que poderia ser usada para escalonamento de privilégios se o token da service account for comprometido.
Os mantenedores estão trabalhando nessas recomendações de forma sistemática. Algumas já foram incorporadas; outras, notadamente o refatoramento de RBAC e a blocklist de namespaces, levarão mais tempo.
Testes de bypass de gadgets
Uma das partes tecnicamente mais interessantes da auditoria foram os testes de bypass de gadgets. Os pesquisadores perguntaram: um container comprometido pode realizar operações que um gadget deveria rastrear, sem acionar eventos? Eles identificaram seis cenários de bypass, variando desde o uso de syscalls Linux mais novas que certos gadgets não hookam (por exemplo, openat2 em vez de openat) até evasão através de io_uring e bibliotecas estaticamente ligadas.
Esses resultados refletem a natureza de gato-e-rato do tracing em nível de kernel. O Linux continua evoluindo, novas syscalls e subsistemas aparecem constantemente, e ferramentas de tracing baseadas em eBPF precisam acompanhar. Os mantenedores do Inspektor Gadget já endereçaram várias das lacunas identificadas e estão documentando as limitações inerentes da abordagem para que operadores entendam o que o tracing com eBPF pode e não pode garantir.
O que isso significa para os usuários?
A ação prática para organizações que rodam Inspektor Gadget é atualizar para v0.50.1 ou superior, que inclui correções para todas as três vulnerabilidades reportadas. A conclusão da própria Shielder, no relatório final, é que "a postura geral de segurança do Inspektor Gadget é adequadamente madura tanto do ponto de vista de codificação segura quanto de design".
Para a comunidade cloud native como um todo, esta auditoria é um exemplo de como o ecossistema deve funcionar. Um projeto atinge um nível de adoção em que a revisão de segurança independente se torna necessária, a OSTIF coordena um engajamento qualificado, pesquisadores fazem o trabalho de forma aberta, mantenedores implementam as correções e o relatório completo é publicado para que os usuários possam tomar decisões informadas.
Perguntas Frequentes
O que é o Inspektor Gadget e para que serve?
É um framework e toolkit open source que usa eBPF para coletar e inspecionar dados em clusters Kubernetes e hosts Linux. Ele empacota programas eBPF como imagens OCI, permitindo observar syscalls, atividade de rede e acesso a arquivos sem modificar cargas de trabalho ou injetar sidecars.
Quais vulnerabilidades foram encontradas na auditoria?
Foram três: injeção de comando no comando 'ig image build' (CVE-2026-24905, severidade Média), negação de serviço via saturação do ring buffer eBPF (severidade Média), e injeção de sequências ANSI não sanitizadas na saída em colunas (CVE-2026-25996, severidade Baixa). Nenhuma vulnerabilidade Crítica ou Alta foi identificada.
Preciso atualizar o Inspektor Gadget imediatamente?
Sim. Todas as vulnerabilidades reportadas possuem correções nas versões v0.48.1, v0.49.1 e v0.50.1. A recomendação direta é atualizar para v0.50.1, que já inclui todas as correções acumuladas, especialmente se você utiliza o Inspektor Gadget em pipelines de CI/CD ou como parte de um sistema de monitoramento de segurança.
O que é o bypass testing mencionado no artigo?
Os pesquisadores testaram cenários onde um container comprometido poderia realizar operações sem gerar eventos rastreáveis pelos gadgets. Identificaram seis cenários, incluindo uso de syscalls mais recentes (ex.: openat2 em vez de openat) e evasão via io_uring ou bibliotecas estaticamente ligadas. Alguns desses gaps já foram endereçados, mas o resultado mostra que ferramentas baseadas em eBPF precisam evoluir continuamente.
Quais recomendações de hardening foram feitas?
Foram seis: forçar TLS por padrão em listeners TCP, verificar dependências externas com hash ou assinatura em CI/CD, implementar blocklist de namespaces Kubernetes (ex.: kube-system), restringir tracing em nível de host para clientes remotos, automatizar varredura de vulnerabilidades em dependências e reduzir permissões RBAC do DaemonSet (especialmente nodes/proxy GET).
Artigo originalmente publicado por Brian Benz, Francis Laniel, Maya Singh, Helen Woeste, and Pietro Tirenna - Inspektor Gadget em Cloud Native Computing Foundation.