
Publicação não autorizada de cline@2.3.0 no npm usou um script de pós-instalação para adicionar openclaw@latest; mantenedores revogaram o token, depreciaram a versão afetada e migraram a publicação para OIDC via GitHub Actions.
| Componente | Pacote Cline CLI publicado no registro npm, especificamente cline@2.3.0. |
| Vetor | Uso não autorizado de um token de publicação npm comprometido para inserir um script postinstall que instalava globalmente openclaw@latest durante a instalação do pacote. |
| Impacto | Desenvolvedores que instalaram cline@2.3.0 na janela afetada receberam uma instalação não autorizada do OpenClaw; o contexto informa que o OpenClaw não foi observado como malicioso e que o daemon Gateway não foi instalado ou iniciado. |
| Prioridade | Atualizar para a versão mais recente do Cline CLI, verificar presença inesperada do OpenClaw em estáções de desenvolvimento e remover o componente quando ele não fizer parte do ambiente aprovado. |
| Versões | Afeta cline@2.3.0 publicado no npm entre 03:26 e 11:30 PT em 17 de fevereiro de 2026; cline@2.4.0 foi lançado como mitigação. |
| Artefatos | Alteração em package.json com script de pós-instalação para instalar openclaw@latest; token de publicação npm revogado após o incidente. |
| Mitigação | Versão 2.3.0 depreciada, mecanismo de publicação atualizado para OpenID Connect via GitHub Actions e orientação para checagem local de instalações inesperadas. |
O incidente envolveu uma publicação não autorizada do pacote Cline CLI no registro npm. A versão afetada, cline@2.3.0, foi colocada no ar em 17 de fevereiro de 2026 por uma parte não autorizada que usou um token de publicação npm comprometido. A alteração técnica relevante estava no package.json: um script de pós-instalação foi adicionado para instalar globalmente openclaw@latest no sistema do desenvolvedor durante o fluxo normal de instalação do pacote. Isso transforma uma ação rotineira de consumo de dependência em um ponto de execução indireta, porque o gerenciador de pacotes processa scripts definidos pelo publicador no momento da instalação.
A janela de exposição foi limitada a aproximadamente oito horas, entre 03:26 e 11:30 no horário do Pacífico em 17 de fevereiro de 2026. O impacto confirmado foi a instalação não autorizada do OpenClaw em máquinas que instalaram a versão comprometida nesse intervalo. O contexto não descreve modificação adicional no pacote Cline nem comportamento malicioso observado no OpenClaw. Também há uma limitação importante para a análise de risco: o daemon Gateway do OpenClaw não teria sido instalado nem iniciado como parte desse evento, o que reduz o escopo operacional imediato, mas não elimina a necessidade de inventário e remoção em ambientes onde o software não foi aprovado.
A estimativa de alcance operacional inclui cerca de 4.000 downloads durante a janela de oito horas e um aumento pequeno, porém perceptível, de instalações do OpenClaw no mesmo dia. O incidente não impactou a extensão do Cline para Visual Studio Code nem o plugin para JetBrains, conforme o material analisado. A contenção executada pelos mantenedores incluiu depreciação da versão 2.3.0, publicação da versão 2.4.0, revogação do token comprometido e atualização do mecanismo de publicação para OpenID Connect via GitHub Actions.
A cadeia de ataque começou com a capacidade de publicar uma versão no npm em nome do projeto. O ponto crítico foi o token de publicação npm, identificado no contexto como um segredo de publicação ativo que permitia autenticação no registro Node.js. Com esse acesso, o operador não precisou comprometer cada estáção de desenvolvimento individualmente: bastou disponibilizar uma versão do pacote com lógica de pós-instalação. Qualquer instalação da versão afetada executaria a ação definida no ciclo de instalação do npm, acionando a instalação global do OpenClaw no host do usuário.
O contexto também conecta o incidente a uma fragilidade anterior envolvendo automação com agente de IA em fluxos do GitHub. A configuração descrita processava issues abertas no repositório com um agente Claude dotado de acesso ao repositório e a um conjunto amplo de ferramentas. A intenção era reduzir esforço de triagem, mas a combinação de permissões excessivas, título de issue contendo prompt injection e capacidade de execução no fluxo padrão criou uma superfície em que uma entrada controlada por usuário poderia influenciar a automação. Esse padrão é relevante porque agentes de IA em pipelines passam a atuar como identidades privilegiadas quando recebem acesso a repositório, cache, workflows e segredos.
A falha denominada Clinejection teria sido introduzida por um commit de 21 de dezembro de 2025 e se apoia em uma lógica derivada de PromptPwnd. A sequência descrita envolve envenenamento de cache em GitHub Actions para deslocar a execução de um workflow de triagem para workflows mais privilegiados, incluindo publicações noturnas. Em termos defensivos, o ponto essencial é que cache de CI/CD, permissões de workflow e segredos de publicação formaram uma cadeia única: uma entrada aparentemente administrativa, como um título de issue, poderia influenciar a execução automatizada e abrir caminho para credenciais de publicação com alcance equivalente ao fluxo de produção.
O resultado final observado foi a publicação de cline@2.3.0 por meio de credenciais válidas de npm. Não há, no contexto, confirmação sobre a identidade do operador nem sobre o objetivo final. Também não há indicação de exfiltração de dados de desenvolvedores por meio do OpenClaw nesse evento. A leitura correta para defesa é tratar o caso como comprometimento de cadeia de publicação e abuso de automação privilegiada, não como prova de malware ativo no OpenClaw ou de vazamento confirmado em todas as máquinas que baixaram o pacote.
A superfície diretamente afetada é composta por sistemas de desenvolvimento que instalaram o pacote Cline CLI a partir do npm, especificamente a versão 2.3.0, dentro da janela informada. Isso inclui estáções locais, ambientes de build, imagens temporárias de CI, contêineres de desenvolvimento e runners que tenham resolvido a dependência para a versão comprometida durante o intervalo de exposição. O risco é maior quando instalações aceitam scripts de pacote sem restrição, quando há permissões amplas no usuário local ou quando ambientes de build preservam ferramentas instaladas globalmente entre execuções.
A extensão do Cline para Visual Studio Code e o plugin para JetBrains foram declarados fora do escopo do incidente. Essa distinção é importante para triagem: equipes não devem tratar todo uso de Cline como comprometido por padrão, mas devem identificar especificamente consumo do Cline CLI via npm. Também é necessário diferenciar instalação autorizada de OpenClaw de instalação inesperada causada pelo pacote comprometido. Em organizações que já usam OpenClaw como agente autônomo auto-hospedado, a investigação deve verificar origem, data de instalação, conta executora e presença de componentes adicionais, em vez de remover cegamente qualquer ocorrência sem análise.
A superfície de publicação do projeto também precisa ser considerada parte afetada. O uso de token tradicional de npm criou dependência de um segredo estático com poder de publicação. A migração para OIDC via GitHub Actions reduz esse padrão ao permitir publicação confiável sem reutilização de token permanente, mas a mudança só é efetiva se a publicação por tokens tradicionais for desabilitada e se as permissões dos workflows forem reduzidas ao necessário.
- Instalações de
cline@2.3.0realizadas entre 03:26 e 11:30 PT em 17 de fevereiro de 2026. - Estáções de desenvolvedores, runners de CI e imagens de build que executaram scripts de instalação npm para a versão afetada.
- Ambientes onde
openclaw@latestapareceu sem solicitação explícita, aprovação de mudança ou registro de instalação esperado. - Repositórios e pipelines que usam agentes de IA para triagem automática com acesso a workflows, cache ou segredos de publicação.
A investigação deve começar por inventário de pacotes e histórico de instalação. Em endpoints de desenvolvedores, procure registros de instalação do Cline CLI na data de 17 de fevereiro de 2026 e compare a versão instalada com 2.3.0. Em ambientes npm, artefatos como lockfiles, caches do gerenciador de pacotes, logs de build e histórico de imagens podem indicar se a versão comprometida foi resolvida durante a janela de exposição. A presença de OpenClaw deve ser tratada como sinal de triagem quando não houver justificativa operacional para a instalação.
Em CI/CD, a prioridade é reconstruir a sequência de execução. Verifique logs de workflows, uso de cache, jobs de publicação, permissões concedidas a agentes automatizados e acesso a segredos relacionados a npm. O contexto descreve uma cadeia em que cache de GitHub Actions foi usado como ponto de pivô para workflows mais privilegiados; portanto, alterações incomuns em chaves de cache, falhas de restauração, recriação inesperada de entradas e execuções próximas aos horários de publicação devem receber atenção. A análise deve evitar reproduzir etapas ofensivas e focar evidências: qual workflow executou, qual identidade acessou segredos, qual artefato foi publicado e quando.
Para endpoints, a telemetria útil inclui criação de diretórios globais de pacotes Node.js, alterações em caminhos de executáveis, novos processos associados ao OpenClaw, registros de instalação em gerenciadores de pacote e mudanças em políticas locais de execução. Como o contexto informa que o Gateway daemon não foi instalado ou iniciado, sua ausência não encerra a investigação; ela apenas delimita que o impacto observado não inclui esse componente. A validação deve confirmar se houve somente instalação passiva do pacote ou se algum operador, script posterior ou automação interna executou componentes adicionais depois do evento.
- Histórico de instalação contendo
cline@2.3.0na janela afetada. - Presença inesperada de
openclaw@latestem diretórios globais de pacotes Node.js ou imagens de desenvolvimento. - Logs de CI/CD com publicação npm, restauração de cache incomum ou acesso a segredos de publicação no período do incidente.
- Diferença entre instalações aprovadas de OpenClaw e instalações sem mudança registrada ou proprietário identificado.
- Ausência ou presença de componentes adicionais, incluindo qualquer serviço persistente relacionado ao OpenClaw, para delimitar o impacto real.
A primeira ação defensiva é remover a dependência da versão comprometida. Ambientes que instalaram cline@2.3.0 devem atualizar para uma versão posterior, com referência explícita à 2.4.0 como versão lançada após a contenção descrita. Em seguida, equipes devem verificar se OpenClaw foi instalado sem aprovação. Quando não houver necessidade operacional, o componente deve ser removido e a remoção validada em endpoints, runners, imagens de base e caches reaproveitados. Essa validação precisa cobrir tanto máquinas persistentes quanto ambientes efêmeros que possam ter gerado artefatos reutilizados depois da janela afetada.
Para mantenedores de pacotes, o incidente reforça a necessidade de publicação confiável com OIDC e eliminação de tokens tradicionais sempre que possível. Apenas habilitar trusted publishing não basta se credenciais estáticas antigas continuarem autorizadas no registro. Segredos de publicação devem ter escopo mínimo, rotação documentada e trilha de auditoria. Workflows que publicam artefatos precisam ser isolados de automações que processam entrada de usuários, incluindo issues, comentários, pull requests e metadados de repositório.
A automação com agentes de IA deve ser tratada como identidade privilegiada quando opera dentro de repositórios. O desenho seguro exige permissões reduzidas, separação entre triagem e publicação, ausência de segredos em fluxos que leem conteúdo não confiável e revisão de qualquer caminho em que texto externo possa afetar execução. Prompt injection em issue, comentário ou título não deve ser visto como simples problema de conteúdo: quando conectado a ferramentas, cache e workflows, ele pode se tornar controle indireto sobre ações de engenharia. A resposta madura combina restrição de permissões, auditoria de workflows, revisão de caches e validação de publicação no registro.
- Atualizar instalações do Cline CLI para versão posterior à
2.3.0e bloquear a versão depreciada em políticas internas de dependência. - Localizar e remover instalações não aprovadas do OpenClaw em estáções, runners e imagens de desenvolvimento.
- Revisar lockfiles, caches de npm e artefatos de build gerados durante a janela de 17 de fevereiro de 2026.
- Revogar tokens npm estáticos, migrar publicação para OIDC via GitHub Actions e desabilitar caminhos antigos de publicação por token.
- Separar workflows que processam conteúdo não confiável de workflows com acesso a segredos, publicação, cache privilegiado ou ramos protegidos.
0 Comentários