CEVIU Logo
Voltar

Ataque à cadeia de suprimentos compromete imagens Docker e extensões VS Code do Checkmarx KICS

Aprofundamento CEVIU

Aprofundamento

O ataque ao KICS não foi um incidente isolado, mas a segunda onda de uma campanha coordenada do TeamPCP contra a Checkmarx, iniciada em 19 de março de 2026 com o acesso aos repositórios GitHub da empresa, explorando credenciais roubadas previamente no ataque ao Trivy. Em 22 de abril, os atacantes injetaram binários adulterados em imagens Docker oficiais (tags v2.1.20-debian, latest, v2.1.21) e comprometeram quatro extensões VS Code com mais de 1.000 instalações, todas executando o mcpAddon.js: um payload de ~10 MB que roda sob Bun, extrai credenciais de nuvem, chaves SSH, tokens GitHub/npm e até configurações de assistentes de IA como Claude. Diferente de ataques anteriores baseados em postinstall ou prepublish, esse usa runtime de extensão como vetor de execução, e exfiltra dados via repositórios públicos das vítimas como dead drops, criptografando com AES-256-GCM + RSA OAEP-SHA256.

Isso conecta-se diretamente à linhagem Shai-Hulud/Miasma, um worm npm ativo desde fim de 2025 e agora adaptado para containers e IDEs. O mesmo código base aparece na campanha Node-gyp Supply Chain Compromise de 4 de junho de 2026 (57 pacotes afetados) e no ataque Megalodon, que infectou 5.500 repositórios. A escalabilidade é técnica: o malware não depende de engenharia social, mas de exploração sistemática de pontos de execução nativos, actions, extensions, docker build, npm install, todos com permissões implícitas de leitura em ambientes de desenvolvedor.

O que mudou

A cobertura anterior do CEVIU já havia mapeado o padrão do TeamPCP (2026-05-25), os vetores de extensões maliciosas (2026-05-25) e o envenenamento de imagens Docker (2026-06-02), mas esta notícia mostra a consolidação operacional: o mesmo grupo agora orquestra múltiplos vetores simultaneamente (Docker Hub + VS Code Marketplace + GitHub Actions) usando um único payload modular. Antes, o mcpAddon.js era descrito como 'variante de Shai-Hulud' em relatórios técnicos; agora, sua arquitetura de exfiltração via repositórios públicos e criptografia em duas camadas está confirmada em artefatos reais. Também é a primeira vez que o CEVIU documenta o uso de Bun como runtime de execução em extensões VS Code, um desvio técnico significativo em relação aos scripts Node.js tradicionais.

Por que isso importa

Para equipes de DevOps e plataformas, isso invalida suposições básicas de confiança: imagens Docker com milhões de pulls não são seguras por popularidade, extensões VS Code oficiais não são seguras por autoria, e pipelines CI/CD não são seguros por estar dentro de firewalls. O ataque explora exatamente os pontos que as equipes automatizam, docker pull, code --install-extension, npm ci, sem interação humana. Isso exige mudanças concretas: verificação de assinatura de conteúdo (SLSA, Cosign), sandboxing de extensões, restrição de permissões de GitHub Actions com permissions: granular, e monitoramento de env e shell history como indicador de comprometimento. Não é sobre mais ferramentas, é sobre redefinir onde o limite de confiança começa.

Linha do tempo

  1. TeamPCP obtém acesso não autorizado aos repositórios GitHub da Checkmarx, explorando credenciais roubadas no ataque ao Trivy

  2. Credenciais roubadas do Trivy usadas para publicar GitHub Actions e extensões VSCode maliciosas da Checkmarx

  3. Exfiltração de dados dos repositórios GitHub da Checkmarx

  4. Segunda onda de ataque: imagens Docker KICS e extensões VS Code comprometidas com mcpAddon.js

  5. Divulgação pública do incidente pelo CEVIU News

Perguntas frequentes

Como identificar se minha instância do KICS foi comprometida?

Verifique se há processos inesperados rodando bun ou node com nome mcpAddon.js no processo de inicialização da extensão VS Code. Analise logs de ~/.vscode/extensions/checkmarx.* e busque por requisições para audit.checkmarx[.]cx ou domínios similares. Se estiver usando Docker, escaneie imagens com trivy image --scanners vuln,config,secret e compare hashes com os oficiais no GitHub da Checkmarx.

Por que o <em>mcpAddon.js</em> usa Bun em vez de Node.js?

Bun tem menor footprint de detecção em ambientes de desenvolvimento, pois não gera entradas óbvias no process.argv como o Node.js e suporta execução direta de scripts JS sem package.json. Além disso, muitos scanners de segurança ainda não inspecionam bins de Bun como parte de rotinas de análise de extensões VS Code.

O que muda na política de aprovação de extensões VS Code após esse ataque?

Equipes devem exigir assinatura de código (VSIX signed with Microsoft Partner Center cert), bloquear instalação de extensões fora do marketplace corporativo e usar políticas de extensionKind para evitar extensões que rodem no workspace local. Também vale auditar permissões solicitadas, o KICS comprometido pedia acesso a secrets, env e workspace, o que vai além do necessário para análise estática.

Esse ataque afeta apenas quem usa KICS ou é um risco para qualquer equipe que usa Docker e VS Code?

É um risco sistêmico. O padrão de ataque, comprometer ferramentas de segurança para obter acesso privilegiado, se repete em Trivy, Snyk e Dependabot. Qualquer time que automatiza docker pull ou code --install-extension sem verificação de integridade está exposto. O fato de o KICS ter sido alvo não é acidental: é uma ferramenta de segurança usada por times com alto nível de acesso a infraestrutura e credenciais.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU DevOps
Publicado
03 de junho de 2026
Editoria
CEVIU DevOps

Quer receber mais sobre CEVIU DevOps?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser