{"id":3529,"date":"2024-12-05T20:26:34","date_gmt":"2024-12-06T01:26:34","guid":{"rendered":"https:\/\/zidrave.net\/?p=3529"},"modified":"2024-12-05T20:28:45","modified_gmt":"2024-12-06T01:28:45","slug":"biblioteca-solana-web3-js-con-puerta-trasera-para-robar-claves-privadas-y-secretas","status":"publish","type":"post","link":"https:\/\/zidrave.net\/index.php\/2024\/12\/05\/biblioteca-solana-web3-js-con-puerta-trasera-para-robar-claves-privadas-y-secretas\/","title":{"rendered":"Biblioteca Solana Web3.js con puerta trasera para robar claves privadas y secretas"},"content":{"rendered":"\n<p>El SDK leg\u00edtimo de JavaScript de Solana se vio comprometido temporalmente ayer en un ataque a la cadena de suministro, donde la biblioteca fue atacada con un c\u00f3digo malicioso para robar claves privadas de criptomonedas y vaciar las billeteras.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"467\" src=\"https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-14.png\" alt=\"\" class=\"wp-image-3532\" srcset=\"https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-14.png 700w, https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-14-300x200.png 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<p>Solana ofrece un SDK llamado \u00bb&nbsp;<a href=\"http:\/\/github.com\/solana-labs\/solana-web3.js\" target=\"_blank\" rel=\"noreferrer noopener\">@solana\/web3.js<\/a>&nbsp;\u00bb utilizado por aplicaciones descentralizadas (dApps) para conectarse e interactuar con la cadena de bloques de Solana.<\/p>\n\n\n\n<p>La empresa de seguridad de la cadena de suministro Socket informa que la biblioteca Web3.js de Solana fue secuestrada para lanzar dos versiones maliciosas para robar claves criptogr\u00e1ficas privadas y secretas para proteger billeteras y firmar transacciones.<\/p>\n\n\n\n<p>\u00abSe ha detectado un ataque a la cadena de suministro en las versiones&nbsp;&nbsp;<strong>1.95.6<\/strong>&nbsp;y&nbsp;&nbsp;<strong>1.95.7<\/strong>&nbsp;de la popular&nbsp; biblioteca&nbsp;<strong>@solana\/web3.js<\/strong>&nbsp;, que recibe m\u00e1s de ~350.000 descargas semanales en npm\u00bb, explica&nbsp;<a href=\"https:\/\/socket.dev\/blog\/supply-chain-attack-solana-web3-js-library\" target=\"_blank\" rel=\"noreferrer noopener\">Socket<\/a>&nbsp;.<\/p>\n\n\n\n<p>\u00abEstas versiones comprometidas contienen c\u00f3digo malicioso inyectado que est\u00e1 dise\u00f1ado para robar claves privadas de desarrolladores y usuarios desprevenidos, lo que potencialmente permite a los atacantes vaciar las billeteras de criptomonedas\u00bb.<\/p>\n\n\n\n<p>Solana&nbsp;<a href=\"https:\/\/github.com\/solana-labs\/solana-web3.js\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">confirm\u00f3 la violaci\u00f3n<\/a>&nbsp;, afirmando que una de sus cuentas de acceso de publicaci\u00f3n se vio comprometida, lo que permiti\u00f3 a los atacantes publicar dos versiones maliciosas de la biblioteca.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u00abHoy temprano, una cuenta de acceso de publicaci\u00f3n se vio comprometida para&nbsp;&nbsp;<code>@solana\/web3.js<\/code>, una biblioteca de JavaScript que se usa com\u00fanmente en las dapps de Solana. Esto permiti\u00f3 a un atacante publicar paquetes no autorizados y maliciosos que fueron modificados, lo que les permiti\u00f3 robar material de claves privadas y drenar fondos de las dapps, como bots, que manejan claves privadas directamente. Este problema no deber\u00eda afectar a las billeteras sin custodia, ya que generalmente no exponen claves privadas durante las transacciones. Este no es un problema con el protocolo Solana en s\u00ed, sino con una biblioteca de cliente de JavaScript espec\u00edfica y solo parece afectar a los proyectos que manejan claves privadas directamente y que se actualizaron dentro de la ventana de las 3:20 p. m. UTC y las 8:25 p. m. UTC del martes 2 de diciembre de 2024.<\/p>\n\n\n\n<p>Estas dos versiones no autorizadas (1.95.6 y 1.95.7) fueron detectadas en cuesti\u00f3n de horas y desde entonces no han sido publicadas.\u2756Solana<\/p>\n<\/blockquote>\n\n\n\n<p>Solana advierte a los desarrolladores que sospechan que fueron comprometidos que actualicen inmediatamente a la \u00faltima versi\u00f3n v1.95.8 y que roten todas las claves, incluidas las multifirmas, las autoridades del programa y los pares de claves del servidor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El ladr\u00f3n de claves Solana Web3.js<\/h2>\n\n\n\n<p>Seg\u00fan el investigador de DataDog,&nbsp;&nbsp;<a href=\"https:\/\/bsky.app\/profile\/did:plc:zwlpsxw2udovqf4mbfi4ibqf\/post\/3lcgt6l7s4c2a\" target=\"_blank\" rel=\"noreferrer noopener\">Christophe Tafani-Dereeper<\/a>&nbsp;, los actores de la amenaza agregaron una funci\u00f3n maliciosa addToQueue que rob\u00f3 claves secretas y privadas y las envi\u00f3 al servidor del atacante.<\/p>\n\n\n\n<p>\u00abLa puerta trasera insertada en v1.95.7 agrega una funci\u00f3n \u00abaddToQueue\u00bb que filtra la clave privada a trav\u00e9s de encabezados de CloudFlare aparentemente leg\u00edtimos\u00bb, explica el investigador.<\/p>\n\n\n\n<p>\u00abLas llamadas a esta funci\u00f3n se insertan luego en varios lugares que (leg\u00edtimamente) acceden a la clave privada\u00bb.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-13-1024x537.png\" alt=\"\" class=\"wp-image-3530\" srcset=\"https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-13-1024x537.png 1024w, https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-13-300x157.png 300w, https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-13-768x402.png 768w, https:\/\/zidrave.net\/wp-content\/uploads\/2024\/12\/image-13.png 1378w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Se revis\u00f3 la biblioteca comprometida y se agregaron llamadas a la funci\u00f3n addToQueue a cinco ubicaciones clave en la biblioteca: las funciones\u00a0<br><code>fromSecretKey()<\/code>,\u00a0\u00a0<br><code>fromSeed()<\/code>,\u00a0\u00a0<br><code>createInstructionWithPublicKey()<\/code>y\u00a0<br><code>createInstructionWithPrivateKey()<\/code>, y\u00a0<br><code>account\u00a0constructor<\/code>.<\/p>\n\n\n\n<p>Las funciones se utilizan en toda la biblioteca y tienen la siguiente funcionalidad:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>fromSecretKey(): crea un par de claves a partir de una matriz de bytes de clave secreta sin procesar.<\/li>\n\n\n\n<li>fromSeed(): genera un par de claves a partir de una semilla de 32 bytes.<\/li>\n\n\n\n<li>createInstructionWithPrivateKey(): crea una instrucci\u00f3n ed25519 con una clave privada.<\/li>\n\n\n\n<li>createInstructionWithPrivateKey(): crea una instrucci\u00f3n secp256k1 con una clave privada.<\/li>\n<\/ul>\n\n\n\n<p>El c\u00f3digo malicioso robar\u00e1 la clave secreta pasada o generada (las dos primeras funciones y el constructor de la cuenta) o la clave privada pasada (las dos \u00faltimas funciones) y la enviar\u00e1 a los puntos finales del atacante en https:\/\/sol-rpc[.]xyz\/api\/rpc\/queue.<\/p>\n\n\n\n<p>Este dominio se registr\u00f3 el 22 de noviembre a las 19:58:27 UTC y no se ha visto utilizado en otros ataques.<\/p>\n\n\n\n<p>Una vez que los actores de amenazas obtienen acceso a estas claves, pueden cargarlas en sus propias billeteras y drenar de forma remota todas las criptomonedas y NFT almacenados.<\/p>\n\n\n\n<p>Socket dice que el ataque ha sido rastreado hasta la&nbsp; direcci\u00f3n Solana&nbsp;<a href=\"https:\/\/solscan.io\/account\/FnvLGtucz4E1ppJHRTev6Qv4X7g8Pw6WPStHCcbAKbfx\" target=\"_blank\" rel=\"noreferrer noopener\">FnvLGtucz4E1ppJHRTev6Qv4X7g8Pw6WPStHCcbAKbfx<\/a>&nbsp;, que actualmente contiene 674,86 Solana y cantidades variables de tokens Irish Pepe, Star Atlas, Jupiter, USD Coin, Santa Hat, Pepe on Fire, Bonk, catwifhat y Genopets Ki.<\/p>\n\n\n\n<p>Solscan muestra que el valor estimado de la criptomoneda robada es de $ 184,000 al momento de escribir este art\u00edculo.<\/p>\n\n\n\n<p>Cualquier persona cuyas billeteras se vieron comprometidas en este ataque a la cadena de suministro debe transferir inmediatamente los fondos restantes a una nueva billetera y dejar de usar la anterior, ya que las claves privadas ahora est\u00e1n comprometidas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El SDK leg\u00edtimo de JavaScript de Solana se vio comprometido<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[2377,6931,2380],"tags":[9495,9489,9484,5058,9491,9218,9485,9490,9493,1718,9487,6444,9334,9488,9481,9486,9492,9494,9483,9482],"class_list":["post-3529","post","type-post","status-publish","format-standard","hentry","category-ciberseguridad","category-criptomonedas","category-noticias","tag-ataques-a-criptomonedas","tag-claves-privadas","tag-claves-secretas","tag-codigo-malicioso","tag-criptofraudes","tag-desarrollo-blockchain","tag-hackeo-solana","tag-integridad-del-codigo","tag-librerias-maliciosas","tag-puerta-trasera","tag-riesgos-en-web3-js","tag-robo-de-criptomonedas","tag-seguridad-blockchain","tag-seguridad-web3","tag-solana","tag-solana-hack","tag-solana-seguridad","tag-solana-web3-js-exploit","tag-vulnerabilidades-web3","tag-web3-js"],"_links":{"self":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts\/3529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/comments?post=3529"}],"version-history":[{"count":2,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts\/3529\/revisions"}],"predecessor-version":[{"id":3533,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/posts\/3529\/revisions\/3533"}],"wp:attachment":[{"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/media?parent=3529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/categories?post=3529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zidrave.net\/index.php\/wp-json\/wp\/v2\/tags?post=3529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}