A segurança da supply chain de software voltou aos holofotes com a descoberta de um pacote malicioso no npm (Node Package Manager), o repositório de pacotes JavaScript mais popular do mundo. Intitulado “@acitons/artifact”, o pacote se passava pelo legítimo “@actions/artifact”, com o objetivo de infiltrar-se em pipelines de CI/CD (integração contínua e entrega contínua) dentro dos fluxos de trabalho do GitHub Actions.
A Trama por Trás do Pacote Malicioso
De acordo com a Veracode, o pacote foi carregado em 7 de novembro e projetado para ser acionado durante o processo de build de repositórios pertencentes ao GitHub. Uma vez executado em um runner de CI/CD, o payload (carga maliciosa) capturava quaisquer tokens disponíveis naquele ambiente de build e, em seguida, usava essas credenciais para publicar artefatos maliciosos – efetivamente personificando o próprio GitHub. (Veracode Blog)
O incidente levanta sérias questões sobre a confiança cega que muitas organizações depositam na supply chain moderna. Randolph Barr, CISO da Cequence Security, ressalta que a maioria das organizações concentra seus controles em ambientes de runtime, enquanto o pipeline de CI/CD muitas vezes opera com privilégios mais elevados do que qualquer desenvolvedor. Uma única dependência com erro de digitação pode executar código silenciosamente durante um build, acessar tokens de repositório e personificar uma organização.
Detalhes da Operação e o Mecanismo de Ataque
O pacote malicioso acumulou mais de 260 mil downloads antes de ser detectado, com um total de seis versões carregadas – nenhuma detectável por “qualquer antivírus popular”, conforme apontaram os pesquisadores da Veracode. O GitHub afirma que os pacotes foram carregados internamente como parte de seus esforços de red teaming (testes de intrusão). (CSO Online)
Aparentemente, o pacote @acitons/artifact parecia normal, com seus metadados descrevendo-o como “actions artifact lib” e seus URLs de homepage e repositório espelhando de perto os do projeto legítimo do GitHub. No entanto, embutido em seu interior havia um hook de pós-instalação que baixava e executava um script shell ofuscado chamado “harness”.
Implicações e Lições Aprendidas
A análise da Veracode revelou que esse script, compilado com uma ferramenta compiladora de script shell, continha um kill switch (interruptor de desativação) baseado em tempo, programado para desativar-se após 6 de novembro de 2025 – provavelmente para evitar a detecção após um breve período ativo. Uma vez invocado, o harness buscava um arquivo JavaScript (“verify.js”) destinado a verificar se o ambiente de build pertencia ao GitHub e, em caso afirmativo, exfiltrar tokens do GitHub Action. Esses tokens poderiam então ser mal utilizados para personificar o GitHub e publicar releases maliciosos.
Boris Cipot, engenheiro sênior de segurança da Black Duck, explica que o typosquatting (ato de registrar um domínio ou nome de pacote semelhante a um legítimo, mas com erros de digitação) é um vetor de ameaça bem conhecido e crescente nas supply chains de software. Os atacantes publicam pacotes com nomes semelhantes aos legítimos e esperam que ocorra um erro, induzindo a vítima a instalar o código malicioso por engano. (Synopsys Blog)
Defesa em Profundidade: Estratégias de Mitigação
Cipot acrescenta que o uso de um hook de pós-instalação e um payload ofuscado de curta duração demonstra uma tentativa deliberada de se misturar à atividade normal de build.
Como lições de defesa, Barr aponta que os privilégios mais elevados nos pipelines de CI/CD os tornam um alvo ideal. Atacantes que comprometem um runner de build podem injetar código na fonte, assinar releases com credenciais legítimas ou enviar artefatos com aparência autêntica.
As mitigações, segundo Cipot, incluem tokens de curta duração e escopo limitado, com rotações regulares de segredos. A varredura automatizada de pacotes suspeitos usando ferramentas como Socket.dev ou Phylum também pode ajudar a ficar à frente da ameaça. Outras maneiras de verificar a autenticidade do pacote incluem a validação de checksum e padrões emergentes como o Sigstore.
Resposta Imediata e Recomendações
Jason Soroko, membro sênior da Sectigo, aconselha uma resposta imediata para equipes potencialmente afetadas: “Pesquise o código-fonte, lockfiles, caches e registros por @acitons e 8jfiesaf83, então coloque em quarentena quaisquer runners que os buscaram. Gire todos os tokens e revise o histórico de publicação de artefatos e pacotes para o período de 29 de outubro a 6 de novembro de 2025.”
Conclusão: Vigilância Contínua e Práticas de Segurança Robustas
Este incidente serve como um lembrete gritante dos riscos inerentes à supply chain de software moderna. A sofisticação crescente dos ataques exige uma vigilância contínua e a implementação de práticas de segurança robustas em todas as etapas do ciclo de vida do desenvolvimento de software. A adoção de ferramentas de varredura automatizada, a validação rigorosa de dependências e a implementação de políticas de privilégios mínimos são essenciais para mitigar os riscos e proteger os ativos digitais. A segurança da supply chain não é apenas uma responsabilidade técnica, mas um imperativo estratégico para todas as organizações que dependem de software.
