Ciberseguridad

Paquetes de Red Hat llevaron un código que robaba claves y se copiaba solo

Susan Hill

Durante un tiempo, varias de las piezas de software que se reparten con el nombre de Red Hat trabajaron en silencio contra quienes las instalaban. Dentro de más de 30 paquetes de la colección pública @redhat-cloud-services de la empresa había un pequeño programa listo para activarse apenas un programador instalaba cualquiera de ellos. Quedó puesto como un paso preinstall, una de esas tareas automáticas que la herramienta npm ejecuta sola, antes de que cargue una sola línea del software de verdad. Su trabajo fue buscar contraseñas y después esparcirse.

Red Hat no hace aplicaciones que la mayoría abra por su nombre, pero su código sostiene gran parte de lo que usamos todos los días: los paneles en la nube por donde entra un banco, los sistemas con los que funcionan hospitales y oficinas de gobierno, las herramientas con las que otras empresas arman sus propios productos. Cuando un código con esa etiqueta se vuelve hostil, el alcance no es una sola app. Es todo lo que se construyó encima.

El programa escondido salió a cazar las llaves que abren la computación actual. Según la firma de seguridad StepSecurity, la primera en avisar sobre los paquetes, se llevó tokens de acceso de Amazon Web Services, Google Cloud, Microsoft Azure, Kubernetes, HashiCorp Vault, la propia npm y el servicio de automatización CircleCI, además de los secretos guardados dentro de las cadenas de compilación de GitHub. Para llegar a ellos leyó la memoria en bruto del proceso de compilación que estaba corriendo, una maniobra que esquiva las protecciones que deberían mantener los secretos fuera de los registros.

Lo que volvió a este robo de datos algo más parecido a un contagio fue lo que el código hizo después. Con los tokens de publicación de npm que robó, intentó subir versiones recién alteradas de cualquier otro paquete al que la cuenta secuestrada llegara, usando un parámetro que desactiva la verificación en dos pasos que normalmente lo frenaría. Un robo que se copia a sí mismo no se queda con sus primeras víctimas. Viaja por la misma confianza sobre la que se apoya todo el sistema.

En las computadoras de los propios programadores el código llegó más lejos: dejó instrucciones dentro de la configuración de tareas de Visual Studio Code y de los ajustes de Claude Code, el asistente de programación con inteligencia artificial, para seguir corriendo mucho después de que terminó la instalación. Los que más suelen instalar estos paquetes, los ingenieros que mantienen el software de los demás, fueron también aquellos cuyas laptops se volvieron una puerta de entrada.

El detalle más incómodo es de dónde salieron las versiones envenenadas. Los programadores de Red Hat, que reconocieron el problema en el repositorio público del proyecto, y los investigadores que desarmaron el código coinciden en que esas versiones salieron por la propia cadena de publicación automática de Red Hat, la maquinaria que toma el código de sus repositorios y lo manda al mundo. Los atacantes no se hicieron pasar por Red Hat. Durante un tiempo, pudieron publicar como Red Hat. El sello de confianza y lo que se confiaba se separaron.

No es la primera vez que la cadena de suministro del software libre se convierte en una vía de reparto. Extensiones de navegador alteradas y cuentas de programadores secuestradas aparecieron una y otra vez durante la primavera, todas aprovechando la misma costumbre: el software moderno se arma con miles de componentes gratuitos que nadie escribe desde cero. Lo que hace que este caso pese más es el nombre en la caja. La razón misma de tomar código de un proveedor como Red Hat, y no de un colaborador anónimo, es que ese nombre debería ser la garantía.

Vale la pena precisar qué no significa esto. Por ahora no hay señales de que se infectaran equipos de usuarios comunes, ni de que se vulneraran los productos empresariales de pago de Red Hat o los sistemas en producción de sus clientes. Las versiones maliciosas apuntaron al terreno intermedio del desarrollo, los servidores de compilación automáticos y las máquinas de los ingenieros, y muchos de los paquetes afectados son herramientas de interfaz y de desarrollo, no el corazón de ningún servicio en funcionamiento. El panorama además sigue cambiando, y el número exacto de paquetes contaminados se movió mientras Red Hat y los investigadores externos revisan la lista. El daño que más importa, las credenciales robadas, queda invisible hasta que alguien las usa.

Red Hat fue retirando las versiones maliciosas y las publicaciones comprometidas se están borrando de npm. A quien las instaló en la ventana afectada se le pide que considere quemado cada token que la compilación pudo ver y que lo renueve. El aviso llegó a comienzos de junio, y la limpieza va a durar más que los titulares. El problema de fondo va a durar más que la limpieza: internet se arma, a toda velocidad, con millones de piezas chicas que mantiene gente que nunca vamos a conocer y, cada vez más, sistemas automáticos que pueden secuestrarse para firmar esas piezas en su lugar.

Etiquetas: , ,

Discussion

There are 0 comments.