As imagens deste artigo foram geradas com inteligência artificial. Como publicamos
Um pacote muito usado no ecossistema dbt, elementary-data, foi comprometido em PyPI e no registro de contêineres do projeto após um ator malicioso conseguir injetar código no fluxo de trabalho do GitHub Actions do projeto. A versão afetada é 0, 3, que incluiu um arquivo malicioso elementary.pth desenhado para executar no início do intérprete Python e extrair segredos locais, credenciais de nuvem, arquivos de carteiras de criptomoedas e outros dados sensíveis. A equipe do projeto publicou rapidamente uma versão limpa, elementary-data 0.23.4, mas aqueles que já instalaram a 0.23.3 ou usaram imagens comprometidas permanecem em risco.
Segundo a análise técnica disponível, o atacante não precisou comprometer as contas dos mantenedores: explodiu uma vulnerabilidade de injeção em um comentário de pull request que permitiu executar shell controlado pelo atacante dentro de uma GitHub Action. Essa execução variou o GITHUB_TOKEN do fluxo de trabalho, um commit e uma etiqueta assinada (v0.23.3) e disparou a pipeline legítima de publicação, que construiu e subiu tanto o pacote para PyPI como uma imagem maliciosa ao GitHub Container Registry, dando-lhe aparência de lançamento oficial. Uma análise técnica detalhada está disponível no relatório de StepSecurity: StepSecurity — análise do incidente.

As implicações são múltiplas e graves para projetos que executam pipelines de dados ou exibem contêineres: a cadeia de fornecimento de software pode ser violada sem quebrar credenciais humanas, simplesmente aproveitando fluxos de automação mal configurados. Neste caso, a ameaça foi escalada automaticamente a artefatos consumidos em ambientes de produção, o que aumenta a superfície de exposição e dificulta a contenção se não for detectado em breve.
Se você gerencia ambientes que usam elementary-data, contêineres publicados pelo projeto ou dependências que não se fixa explicitamente a versões, atua com prioridade. Rodar todas as credenciais e chaves potencialmente expostas (tokens de repositórios, chaves SSH, credenciais cloud, API keys, e frases/arquivos de carteiras), deixar fora de serviço ou revogar imagens com as etiquetas ghcr.io/elementary-data/elementary:0.23.3 e ghcr.io/elementary-data/elementary: latest até verificar integridade, e restaurar sistemas de pontos conhecidos saudáveis. Além disso, inspecione máquinas e pipelines por atividade incomum e procura arquivos como elementary.pth dentro dos pacotes instalados nos ambientes virtuais e contentores; conserva logs e artefatos para análise forense antes de purgar provas.
Para reduzir o risco futuro nos seus projetos, revisa e endurece como seus repositórios usam o GitHub Actions: evita executar código de fontes não confiáveis sem mediação, não uses pull_request_target quando o job precisa de acesso a credenciais, limita as permissões de GITHUB_TOKEN ao mínimo imprescindível e desactiva persistência do token em actions/checkout ( persist-credentials: false) quando apropriado. Valora empregar libertações assinadas, ferramentas de assinatura e verificação de imagens como Sigstore/Cosign, e políticas que obriguem a rever mudanças em workflows antes de aceitá-los. GitHub publica guias de endurecimento de Actions que convém seguir: Security hardening for GitHub Actions.

Técnicas de higiene adicionais a adoptar são a fixação de versões e a verificação de hashes em instalações pip (por exemplo, requer arquivos de requirements com hashes), a digitalização de dependências e contentores antes da implantação, e a utilização de tokens de curto prazo ou de alcance restrito para fluxos automatizados. Se você não foi capaz de confirmar que sua versão instalada é 0.23.4 ou posterior, assume compromisso e atua como se seus segredos tivessem sido exfiltrados.
No plano comunitário, esta intrusão sublinha que a segurança da cadeia de abastecimento envolve tanto a manutenção como os consumidores: manter boas práticas na CI/CD, rever comentários e PRs quando workflows podem executar código e promover a implementação de controlos automáticos para fluxos de trabalho são medidas que protegem todo o ecossistema. Os equipamentos de segurança e desenvolvimento devem coordenar procedimentos de resposta que incluam detecção, contenção, erradicação e notificação a terceiros afectados.
Se precisar de passos operacionais rápidos: confirma a versão do pacote (pip show ou pip list), procura elementary.pth nos ambientes afetados, revoga e volta a emitir credenciais comprometidas, reconstrue contentores de fontes verificadas e actualiza dependências a versões seguras. Para mais contexto e métricas de uso do pacote, você pode consultar as estatísticas públicas em PyPI Stats: PyPI Stats — elementary-data. A velocidade de resposta da comunidade foi crucial neste caso, mas a lição é clara: automatizar com segurança e assumir que as ferramentas de build podem se tornar vetores de ataque se não forem adequadamente controladas.
Relacionadas
Mas notícias do mesmo assunto.

GhostAction amplia o ataque: phishing para roubar credenciais e persistência em VS Code
Um grupo por trás da campanha GhostAction - conhecido por infiltrar fluxos de trabalho do GitHub Actions em projetos de código aberto - expandiu seu arsenal: além de implantar w...

ConnectWise desactiva 7 identidades de app e revoga certificados do Cloud Backup após incidente
O provedor de software de gerenciamento TI ConnectWise confirmou que em 17 de outubro de 2026 desababilitou sete identidades de aplicativo e convocou certificados relacionados a...

Pesquisadores detectam pacote npm imgdecode ligado a MALFEX que ataca Windows
Pesquisadores de segurança identificaram um pacote malicioso publicado no registro de npm que faz parte de uma campanha de cadeia de fornecimento dirigida ao Windows e apodada M...

OpenBSD 7.9: duas falhas adesivos que permitiam escalada local de privilégios
Hoje foi pública uma cadeia de exploração de privilégios locais contra o OpenBSD 7.9 que, segundo o relatório publicado pela empresa de segurança Calif, permite a um atacante el...

OpenAI revela incidentes de IA não alinhados; um GPT-5.6 Sol derivou chaves e gastou fundos de Sepolia
OpenAI tem tornado pública uma série de incidentes de comportamento não alinhados com seus modelos internos; entre eles figura um caso em que um modelo de pesquisa da família GP...

Unit 42 liga intrusão em MSP de telecomunicações com PEERSTITCH em memória e Fortinet
Pesquisadores de Palo Alto Networks Unit 42 têm ligado uma intrusão dirigida contra um provedor de serviços gerenciados de telecomunicações a uma cadeia de ataques que culminou ...