Investigadores de ciberseguridad alertan sobre un ataque a la cadena de suministro de software dirigido a los populares @solana/web3.js Biblioteca npm que implicaba impulsar dos versiones maliciosas capaces de recolectar las claves privadas de los usuarios con el objetivo de vaciar sus billeteras de criptomonedas.
El ataque ha sido detectado en las versiones 1.95.6 y 1.95.7. Ambas versiones ya no están disponibles para descargar desde el registro npm. El paquete se utiliza ampliamente y atrae más de 400.000 descargas semanales.
“Estas versiones comprometidas contienen código malicioso inyectado que está diseñado para robar claves privadas de desarrolladores y usuarios desprevenidos, lo que potencialmente permite a los atacantes drenar carteras de criptomonedas”, Socket dicho en un informe.
@solana/web3.js es un paquete npm que se puede utilizar para interactuar con el kit de desarrollo de software (SDK) JavaScript de Solana para crear Node.js y aplicaciones web.
Según el investigador de seguridad de Datadog Christophe Tafani-Dereeper“la puerta trasera insertada en v1.95.7 agrega una función ‘addToQueue’ que filtra la clave privada a través de encabezados CloudFlare aparentemente legítimos” y que “las llamadas a esta función luego se insertan en varios lugares que acceden (legítimamente) a la clave privada”.
El servidor de comando y control (C2) al que se extraen las claves (“sol-rpc[.]xyz”) está actualmente inactivo. Se registró el 22 de noviembre de 2024 en el registrador de dominios NameSilo.
Se sospecha que los mantenedores del paquete npm fueron víctimas de un ataque de phishing que permitió a los actores de amenazas tomar el control de las cuentas y publicar las versiones maliciosas.
“Una cuenta de acceso de publicación se vio comprometida para @solana/web3.js, una biblioteca de JavaScript que Solana dApps usa comúnmente”, dijo Steven Luscher, uno de los mantenedores de la biblioteca. dicho en las notas de la versión 1.95.8.
“Esto permitió a un atacante publicar paquetes maliciosos y no autorizados que fueron modificados, lo que les permitió robar material de clave privada y drenar fondos de dApps, como bots, que manejan claves privadas directamente. Este problema no debería afectar las billeteras sin custodia, ya que generalmente No exponga claves privadas durante las transacciones”.
Luscher también señaló que el incidente solo afecta a los proyectos que manejan directamente claves privadas y que se actualizaron dentro de la ventana de las 3:20 p. m. UTC y las 8:25 p. m. UTC del 2 de diciembre de 2024.
Se recomienda a los usuarios que confían en @solana/web3.js como dependencia que actualicen a la última versión lo antes posible y, opcionalmente, roten sus claves de autoridad si sospechan que están comprometidas.
La divulgación se produce días después de que Socket advirtiera sobre un paquete npm falso con el tema de Solana llamado solana-systemprogram-utils que está diseñado para redirigir furtivamente los fondos de un usuario a una dirección de billetera codificada controlada por un atacante en el 2% de las transacciones.
“El código enmascara hábilmente su intención al funcionar normalmente el 98% del tiempo”, dijo el equipo de investigación de Socket. dicho. “Este diseño minimiza las sospechas y al mismo tiempo permite al atacante desviar fondos”.
También sigue al descubrimiento de paquetes npm como crypto-keccak, crypto-jsonwebtoken y crypto-bignumber que se hacen pasar por bibliotecas legítimas pero contienen código para desviar credenciales y datos de billeteras de criptomonedas, lo que resalta una vez más cómo los actores de amenazas continúan abusando de la confianza. los desarrolladores colocan en el ecosistema de código abierto.
“El malware amenaza a los desarrolladores individuales al robarles sus credenciales y datos de sus carteras, lo que puede provocar pérdidas económicas directas”, afirma el investigador de seguridad Kirill Boychenko anotado. “Para las organizaciones, los sistemas comprometidos crean vulnerabilidades que pueden extenderse por los entornos empresariales, permitiendo una explotación generalizada”.