Durante ocho horas, el registro de npm distribuyó una versión pirateada de una popular herramienta de IA.

Durante ocho horas, el registro de npm distribuyó una versión pirateada de una popular herramienta de IA.

Miles de ordenadores empresariales en riesgo en todo el mundo

image

En el registro de npm ocurrió un incidente con la herramienta Cline CLI — durante varias horas se distribuyó a los usuarios una versión con un script de instalación modificado. Los desarrolladores confirmaron que el token de publicación quedó comprometido, tras lo cual una tercera persona publicó una versión modificada.

El problema afectó al paquete cline versión 2.3.0, publicado el 17 de febrero de 2026 a las 3:26, hora del Pacífico. En el archivo package.json se añadió un script postinstall adicional que, al instalarse, ejecutaba automáticamente el comando para instalar otro paquete — openclaw — en modo global. Al mismo tiempo, los demás archivos, incluido el módulo ejecutable dist/cli.mjs, coincidían por completo con la versión legítima anterior 2.2.3.

El proyecto openclaw no está relacionado con Cline y no contiene código malicioso, pero su instalación no fue autorizada por el equipo. Por tanto, no se trata de la introducción de malware, sino de una modificación no autorizada del proceso de instalación.

La versión vulnerable permaneció disponible durante cerca de ocho horas — hasta las 11:30 del mismo día. A las 11:23 los desarrolladores publicaron la versión corregida 2.4.0, y la versión 2.3.0 fue pronto marcada como obsoleta. Se revocó el token comprometido. Ahora la publicación de paquetes se realiza mediante un mecanismo de verificación OIDC a través de GitHub Actions, lo que debería reducir el riesgo de que se repita un escenario similar.

El incidente afecta únicamente al paquete CLI cline en npm. La extensión Cline para Visual Studio Code y el complemento para JetBrains no se vieron afectados. Se recomienda a los usuarios que instalaron cline@2.3.0 entre las 3:26 y las 11:30 del 17 de febrero que actualicen la herramienta a la versión actual y comprueben si openclaw se instaló globalmente. Si es necesario, puede eliminarse con el comando estándar de npm.