Una ventana de vulnerabilidad de casi dos horas expuso a los usuarios de GitHub a una posible adquisición después de que una interfaz de línea de comandos fraudulenta se hiciera pasar por una herramienta legítima de Bitwarden.

El 22 de abril, apareció una versión maliciosa de la interfaz de línea de comandos de Bitwarden en npm con el nombre oficial del paquete @bitwarden/cli@2026.4.0. Durante 93 minutos, cualquiera que pasara la CLI a través de npm recibió un sustituto con puerta trasera de la herramienta legítima.
Bitwarden detectó el compromiso, eliminó el paquete y emitió un comunicado diciendo que no encontró evidencia de que los atacantes accedieran a los datos de la bóveda del usuario final o comprometieran los sistemas de producción.
La firma de investigación de seguridad JFrog analizó la carga maliciosa y descubrió que no tenía ningún interés particular en las bóvedas de Bitwarden. Se centró en tokens de GitHub, tokens de npm, claves SSH, historial de shell, credenciales de AWS, credenciales de GCP, credenciales de Azure, secretos de GitHub Actions y archivos de configuración de herramientas de IA.
Estas son credenciales que rigen cómo los equipos construyen, implementan y alcanzan su infraestructura.
Tipo de datos/secreto de destino
donde suele vivir
Por qué es importante operativamente
fichas de GitHub
Laptops para desarrolladores, configuración local, entornos CI
Puede habilitar el acceso a repositorios, el abuso del flujo de trabajo, el listado secreto y el movimiento lateral a través de la automatización.
tokens npm
Configuración local, entornos de lanzamiento
Se puede utilizar para publicar paquetes maliciosos o alterar los flujos de lanzamiento.
Claves SSH
Desarrollar máquinas, construir hosts
Puede abrir el acceso a servidores, repositorios internos e infraestructura.
Historia del caparazón
Máquinas locales
Puede revelar secretos, comandos, nombres de host internos y detalles del flujo de trabajo pegados
Credenciales de AWS
Archivos de configuración locales, variables de entorno, secretos de CI
Puede exponer cargas de trabajo, almacenamiento y sistemas de implementación en la nube.
Credenciales de GCP
Archivos de configuración locales, variables de entorno, secretos de CI
Puede exponer proyectos, servicios y procesos de automatización en la nube.
Credenciales de Azure
Archivos de configuración locales, variables de entorno, secretos de CI
Puede exponer la infraestructura de la nube, los sistemas de identidad y las rutas de implementación.
Secretos de acciones de GitHub
Entornos CI/CD
Puede dar acceso a la automatización, crear resultados, implementaciones y secretos posteriores.
Archivos de configuración/herramientas de IA
Directorios de proyectos, entornos de desarrollo local.
Puede exponer claves API, puntos finales internos, configuraciones de modelo y credenciales relacionadas.
Bitwarden presta servicios a más de 50.000 empresas y 10 millones de usuarios, y su propia documentación describe la CLI como una forma "potente y con todas las funciones" de acceder y administrar la bóveda, incluso en flujos de trabajo automatizados que se autentican mediante variables de entorno.
Bitwarden enumera npm como el método de instalación más simple y preferido para los usuarios que ya se sienten cómodos con el registro. Esa combinación de uso de automatización, instalación de la máquina del desarrollador y distribución oficial de npm coloca a la CLI exactamente donde tienden a vivir los secretos de infraestructura de alto valor.
El análisis de JFrog muestra que el paquete malicioso recableó tanto el gancho de preinstalación como el punto de entrada binario bw a un cargador que obtuvo el tiempo de ejecución de Bun y lanzó una carga útil ofuscada. El compromiso se activa en el momento de la instalación y en el tiempo de ejecución.
Una organización podría ejecutar la CLI con puerta trasera sin tocar ninguna contraseña almacenada mientras el malware recopilaba sistemáticamente las credenciales que rigen sus canales de CI, cuentas en la nube y automatización de implementación.
La firma de seguridad Socket dice que el ataque parece haber explotado una acción de GitHub comprometida en el canal CI/CD de Bitwarden, consistente con un patrón que los investigadores de Checkmarx han estado rastreando.
Bitwarden confirmó que el incidente está relacionado con la campaña más amplia de la cadena de suministro de Checkmarx.
El cuello de botella de la confianza
Npm creó su modelo de publicación confiable para abordar exactamente esta clase de riesgo.
Al reemplazar los tokens de publicación de npm de larga duración con autenticación CI/CD basada en OIDC, el sistema elimina una de las rutas más comunes que utilizan los atacantes para secuestrar las versiones de registro, y npm recomienda la publicación confiable y la trata como un paso adelante significativo.
La superficie más difícil es la lógica de lanzamiento en sí, como los flujos de trabajo y las acciones que invocan el paso de publicación. La propia documentación de Npm recomienda controles más allá de OIDC, como entornos de implementación con requisitos de aprobación manual, reglas de protección de etiquetas y restricciones de sucursales.
Capa en la cadena de confianza
Lo que se supone que debe garantizar
¿Qué puede salir mal todavía?
Repositorio de origen
La base de código prevista existe en el repositorio esperado.
Es posible que los atacantes nunca necesiten alterar directamente el código base principal
Flujo de trabajo CI/CD
Automatiza la compilación y liberación desde el repositorio.
Si se ve comprometido, puede producir y publicar un artefacto malicioso.
Acciones de GitHub/lógica de lanzamiento
Ejecuta los pasos que construyen y publican software.
Una acción envenenada o un flujo de trabajo abusivo pueden convertir una ruta de lanzamiento legítima en maliciosa
Publicación confiable de OIDC
Reemplaza los tokens de registro de larga duración con autenticación basada en identidad de corta duración
Esto demuestra que un flujo de trabajo autorizado publicó el paquete, no que el flujo de trabajo en sí fuera seguro.
ruta oficial del paquete npm
Distribuye software con el nombre de paquete esperado.
Los usuarios aún pueden recibir malware si la ruta de publicación oficial se ve comprometida
Máquina desarrolladora/corredor CI
Consume el paquete oficial.
El malware durante la instalación o el tiempo de ejecución puede generar bajas