Crónica de la inyección de código malicioso a biblioteca de JavaScript
sg
Mar, 27/11/2018 - 10:58El 26 de noviembre se dio a conocer que una biblioteca de JavaScript muy utilizada hacía referencia a un código malicioso cuyo objetivo es obtener el control de la cartera de criptomonedas de los usuarios.
A continuación compartimos una breve crónica de cómo se dio el ataque:
En 2011 Dominic Tarr (@dominictarr) crea Event Stream (event-stream), una biblioteca JavaScript que provee funciones que facilitan trabajar con streams de datos en Node. Dominic publica Event Stream en el repositorio de paquetes npm para hacerla disponible a la comunidad y la mantiene durante algunos años.
Después de unos años, Dominic deja de prestarle atención a event-stream y no la actualizaba desde 2016. A pesar de ello, era muy utilizada (2 millones de descargas semanales) ya que varias herramientas populares (como el monitor de aplicaciones Nodemon) dependían de ella.
En verano del 2018, Dominic recibe un correo del usuario right9ctrl ofreciéndose a hacerse cargo del mantenimiento de event-stream. Dado que Dominic ya no tenía tiempo de ni ganas de seguirla manteniendo, cede el control completo a right9ctrl.
El 5 de septiembre, right9ctrl publica una nueva versión patch (3.3.5) de event-stream agregando una dependencia a una nueva biblioteca llamada flatmap-stream. Todo aparentemente estaba bien, y el cambio parecía más que nada una refatorización para mejorar la organización.
El 16 de septiembre, right9ctrl publica una nueva versión mayor de event-stream (4.0.0) …