A 22 de abril, uma versão maliciosa da interface de linha de comandos da Bitwarden apareceu no npm com o nome oficial do pacote @bitwarden/cli@2026.4.0. Durante 93 minutos, qualquer pessoa que descarregasse a CLI através do npm recebia um substituto com backdoor em vez da ferramenta legítima.
A Bitwarden detetou o comprometimento, removeu o pacote e emitiu uma declaração a afirmar que não encontrou evidências de que os atacantes acederam aos dados do cofre dos utilizadores finais ou comprometeram sistemas de produção.
A empresa de investigação de segurança JFrog analisou o payload malicioso e descobriu que este não tinha interesse particular nos cofres da Bitwarden. O alvo eram tokens do GitHub, tokens do npm, chaves SSH, histórico de shell, credenciais AWS, credenciais GCP, credenciais Azure, segredos do GitHub Actions e ficheiros de configuração de ferramentas de IA.
São credenciais que controlam a forma como as equipas constroem, implementam e acedem à sua infraestrutura.
| Segredo/tipo de dados visado | Onde normalmente se encontra | Por que razão é importante operacionalmente |
|---|---|---|
| Tokens do GitHub | Portáteis de programadores, configuração local, ambientes CI | Podem permitir acesso a repositórios, abuso de fluxos de trabalho, listagem de segredos e movimento lateral através de automação |
| Tokens do npm | Configuração local, ambientes de lançamento | Podem ser usados para publicar pacotes maliciosos ou alterar fluxos de lançamento |
| Chaves SSH | Máquinas de programadores, hosts de compilação | Podem abrir acesso a servidores, repositórios internos e infraestrutura |
| Histórico de shell | Máquinas locais | Podem revelar segredos colados, comandos, nomes de host internos e detalhes de fluxos de trabalho |
| Credenciais AWS | Ficheiros de configuração locais, variáveis de ambiente, segredos CI | Podem expor cargas de trabalho na nuvem, armazenamento e sistemas de implementação |
| Credenciais GCP | Ficheiros de configuração locais, variáveis de ambiente, segredos CI | Podem expor projetos na nuvem, serviços e pipelines de automação |
| Credenciais Azure | Ficheiros de configuração locais, variáveis de ambiente, segredos CI | Podem expor infraestrutura na nuvem, sistemas de identidade e caminhos de implementação |
| Segredos do GitHub Actions | Ambientes CI/CD | Podem conceder acesso a automação, resultados de compilação, implementações e segredos a jusante |
| Ferramentas de IA / ficheiros de configuração | Diretórios de projetos, ambientes de desenvolvimento local | Podem expor chaves de API, endpoints internos, configurações de modelos e credenciais relacionadas |
A Bitwarden serve mais de 50.000 empresas e 10 milhões de utilizadores, e a sua própria documentação descreve a CLI como uma forma "poderosa e completa" de aceder e gerir o cofre, incluindo em fluxos de trabalho automatizados que se autenticam usando variáveis de ambiente.
A Bitwarden indica o npm como o método de instalação mais simples e preferido para utilizadores já familiarizados com o registo. Essa combinação de utilização em automação, instalação em máquinas de programadores e distribuição oficial via npm coloca a CLI exatamente onde os segredos de infraestrutura de alto valor tendem a residir.
A análise da JFrog mostra que o pacote malicioso reconfigurou tanto o hook de pré-instalação como o ponto de entrada do binário bw para um loader que obtinha o runtime Bun e lançava um payload ofuscado. O comprometimento é ativado no momento da instalação e em tempo de execução.
Uma organização poderia executar a CLI com backdoor sem tocar em nenhuma senha armazenada, enquanto o malware recolhia sistematicamente as credenciais que governam os seus pipelines CI, contas na nuvem e automação de implementação.
A empresa de segurança Socket afirma que o ataque parece ter explorado uma GitHub Action comprometida no pipeline CI/CD da Bitwarden, consistente com um padrão que os investigadores da Checkmarx têm vindo a monitorizar.
A Bitwarden confirmou que o incidente está relacionado com a campanha mais ampla de cadeia de fornecimento da Checkmarx.
O npm desenvolveu o seu modelo de publicação fidedigna precisamente para fazer face a este tipo de risco.
Ao substituir tokens de publicação npm de longa duração por autenticação CI/CD baseada em OIDC, o sistema elimina um dos caminhos mais comuns que os atacantes utilizam para sequestrar lançamentos no registo; o npm recomenda a publicação fidedigna e considera-a um avanço significativo.
A superfície mais difícil é a lógica de lançamento em si, como os fluxos de trabalho e as ações que invocam o passo de publicação. A própria documentação do npm recomenda controlos para além do OIDC, tais como ambientes de implementação com requisitos de aprovação manual, regras de proteção de tags e restrições de branches.
| Camada na cadeia de confiança | O que se supõe garantir | O que pode ainda correr mal |
|---|---|---|
| Repositório de origem | A base de código pretendida existe no repositório esperado | Os atacantes podem nunca precisar de alterar diretamente a base de código principal |
| Fluxo de trabalho CI/CD | Automatiza a compilação e o lançamento a partir do repositório | Se comprometido, pode produzir e publicar um artefacto malicioso |
| GitHub Actions / lógica de lançamento | Executa os passos que compilam e publicam software | Uma action contaminada ou um fluxo de trabalho abusado pode tornar malicioso um caminho de lançamento legítimo |
| Publicação fidedigna OIDC | Substitui tokens de registo de longa duração por autenticação baseada em identidade de curta duração | Prova que um fluxo de trabalho autorizado publicou o pacote, não que o próprio fluxo de trabalho era seguro |
| Rota de pacote oficial npm | Distribui software com o nome de pacote esperado | Os utilizadores podem ainda receber malware se o caminho de publicação oficial estiver comprometido |
| Máquina do programador / runner CI | Consome o pacote oficial | Malware em tempo de instalação ou de execução pode recolher segredos locais, na nuvem e de automação |
As definições de ambiente do GitHub permitem que as organizações exijam a aprovação de revisores antes de um fluxo de trabalho poder ser implementado. O framework SLSA vai mais longe, pedindo aos consumidores que verifiquem se a proveniência corresponde aos parâmetros esperados, como o repositório correto, branch, tag, fluxo de trabalho e configuração de compilação.
O incidente da Bitwarden demonstra que o problema mais difícil reside na camada do fluxo de trabalho. Se um atacante conseguir explorar o próprio fluxo de trabalho de lançamento, o selo "oficial" continua a acompanhar o pacote malicioso.
A publicação fidedigna transfere o ónus da confiança para a integridade dos fluxos de trabalho e das ações que a invocam, uma camada que as organizações têm largamente deixado por examinar.
Para as equipas de programadores e de infraestrutura, um fluxo de trabalho de lançamento comprometido expõe os pipelines CI, a infraestrutura de automação e as credenciais que os governam.
A análise da JFrog mostra que, uma vez obtido um token do GitHub, o malware podia validar o token, enumerar repositórios com permissão de escrita, listar segredos do GitHub Actions, criar um branch, fazer commit de um fluxo de trabalho, aguardar a sua execução, descarregar os artefactos resultantes e depois limpar os rastos.
A obtenção do token cria uma cadeia automatizada que transforma uma única credencial roubada em acesso persistente a toda a infraestrutura de automação de uma organização.
O portátil de um programador que instala um pacote oficial contaminado torna-se uma ponte entre o repositório local de credenciais do host e o acesso ao GitHub, chegando a tudo o que esse token do GitHub consegue alcançar.
O incidente da Bybit é uma analogia estrutural próxima. Uma estação de trabalho de programador comprometida permitiu que os atacantes contaminassem uma interface upstream fidedigna, que depois chegou ao processo operacional da vítima.
A diferença é que a Bybit envolveu uma interface web Safe adulterada, enquanto a Bitwarden envolveu um pacote npm oficial adulterado.
Em ambientes de criptomoedas, fintech ou custódia, esse caminho pode ir de um repositório de credenciais a signatários de lançamentos, acesso à nuvem e sistemas de implementação, sem nunca tocar numa entrada do cofre.
Nos últimos 60 dias, a Checkmarx divulgou fluxos de trabalho do GitHub Actions e plugins OpenVSX comprometidos, enquanto a Cloud Security Alliance alertou que a campanha TeamPCP estava a comprometer ativamente projetos de código aberto e componentes de automação CI/CD.
A JFrog documentou como uma GitHub Action da Trivy comprometida exfiltrou o token de publicação da LiteLLM e permitiu lançamentos maliciosos no PyPI, e a Axios divulgou que duas versões npm maliciosas circularam durante aproximadamente três horas através de uma conta de mantenedor comprometida.
A Sonatype contabilizou mais de 454.600 novos pacotes maliciosos apenas em 2025, elevando o total acumulado para mais de 1,2 milhões. A Bitwarden junta-se a uma cadeia de incidentes que confirma os fluxos de trabalho de lançamento e os registos de pacotes como a principal superfície de ataque.
| Data / período | Incidente | Ponto de confiança comprometido | Por que razão é importante |
|---|---|---|---|
| 23 de mar. de 2026 | A Checkmarx divulgou fluxos de trabalho do GitHub Actions e plugins OpenVSX comprometidos | Fluxos de trabalho do GitHub Actions, distribuição de ferramentas para programadores | Demonstra que os atacantes visam a automação upstream e os canais de ferramentas fidedignas |
| Na mesma janela da campanha | Cadeia Trivy / LiteLLM documentada pela JFrog | GitHub Action comprometida que levou ao roubo de token e a lançamentos maliciosos no PyPI | Demonstra como um componente de automação contaminado pode desencadear abuso na publicação de pacotes |
| 31 de mar. de 2026 | Versões npm maliciosas da Axios | Conta de mantenedor comprometida | Demonstra que os nomes de pacotes oficiais podem tornar-se vetores de ataque através do comprometimento ao nível da conta |
| 22 de abr. de 2026 | Lançamento npm malicioso da CLI da Bitwarden | Caminho de distribuição npm oficial de uma ferramenta de segurança | Demonstra que um pacote fidedigno pode expor segredos de infraestrutura sem tocar nos conteúdos do cofre |
| Total de 2025 | Contagem de malware da Sonatype | Ecossistema de pacotes de código aberto de forma geral | Indica a escala da atividade de pacotes maliciosos e por que razão a confiança nos registos é agora um risco estratégico |
A causa raiz precisa ainda não é pública, uma vez que a Bitwarden confirmou uma ligação à campanha da Checkmarx, mas não publicou uma análise detalhada de como o atacante obteve acesso ao pipeline de lançamento.
O resultado mais relevante para os defensores é que este incidente acelera uma redefinição do que significa "oficial".
Atualmente, a publicação fidedigna anexa dados de proveniência a cada pacote lançado, confirmando assim a identidade do editor no registo. O SLSA documenta explicitamente um padrão mais elevado para que os verificadores confirmem se a proveniência corresponde ao repositório, branch, fluxo de trabalho e parâmetros de compilação esperados.
Se esse padrão se tornar o comportamento padrão dos consumidores, "oficial" começa a significar "construído pelo fluxo de trabalho correto sob as restrições corretas", e um atacante que comprometa uma action mas não consiga satisfazer todas as restrições de proveniência produz um pacote que os consumidores automatizados rejeitam antes de ser instalado.
O caminho mais plausível a curto prazo segue a direção oposta. Os atacantes demonstraram, em pelo menos 4 incidentes em 60 dias, que os fluxos de trabalho de lançamento, as dependências de actions e as credenciais adjacentes aos mantenedores produzem resultados de elevado valor com um atrito relativamente baixo.
Cada incidente sucessivo acrescenta mais uma técnica documentada a um manual público de comprometimento de actions, roubo de tokens a partir de output CI, sequestro de contas de mantenedores e abuso do caminho de publicação fidedigna.
A menos que a verificação de proveniência se torne o comportamento padrão dos consumidores em vez de uma camada de política opcional, os nomes de pacotes oficiais terão mais confiança do que os seus processos de lançamento conseguem justificar.
The post For 93 minutes, installing Bitwarden's 'official' CLI turned laptops into launchpads for hijacking GitHub accounts appeared first on CryptoSlate.


