domingo, 8 de abril de 2018

Paquetes fraudulentos en npm

Se han detectado un total de 40 paquetes maliciosos en el gestor de paquetes de Node.js.


npm es el manejador de paquetes que fue añadido al entorno de ‘Node.js’ en la versión 0.6.3. Desde entonces es instalado automáticamente con el entorno.

Oscar Bolmsten (@o_cee) fue el usuario de Twitter, que por esta red alertó de un comportamiento malicioso en el paquete ‘cross-env’ al detectar que robaba información de las variables de entorno durante la instalación.

Twit de Oscar Bolmsten (@o_cee), extraída de https://twitter.com/

Este paquete, según npm, es uno de los muchos paquetes fraudulentos detectados, el cual fue publicado por el usuario ‘hacktask’ el día 19 de Julio, imitando ser el paquete ‘crossenv’. Dicho paquete fue eliminado el 1 de agosto con unas 700 descargas, aunque muchas de éstas fueron realizadas por automatismos y tan solo unas 50 parecen ser infecciones reales.

El ataque utilizado en estos repositorios se denomina ‘typo-squattingy consiste en nombrar al paquete fraudulento con un nombre ligeramente similar al nombre de un paquete real. Se busca engañar al usuario para su instalación e infección.

Actualmente el usuario ‘hacktask’ está bloqueado y todos sus paquetes han sido eliminados del repositorio.

A continuación publicamos la lista de estas librerías fraudulentas con el número de descargas según npm.
  • babelcli: 42
  • cross-env.js: 43
  • crossenv: 679
  • d3.js: 72
  • fabric-js: 46
  • ffmepg: 44
  • gruntcli: 67
  • http-proxy.js: 41
  • jquery.js: 136
  • mariadb: 92
  • mongose: 196
  • mssql-node: 46
  • mssql.js: 48
  • mysqljs: 77
  • node-fabric: 87
  • node-opencv: 94
  • node-opensl: 40
  • node-openssl: 29
  • node-sqlite: 61
  • node-tkinter: 39
  • nodecaffe: 40
  • nodefabric: 44
  • nodeffmpeg: 39
  • nodemailer-js: 40
  • nodemailer.js: 39
  • nodemssql: 44
  • noderequest: 40
  • nodesass: 66
  • nodesqlite: 45
  • opencv.js: 40
  • openssl.js: 43
  • proxy.js: 43
  • shadowsock: 40
  • smb: 40
  • sqlite.js: 48
  • sqliter: 45
  • sqlserver: 50
  • tkinter: 45

Por el comportamiento malicioso de estas librerías se recomienda cambiar todas las credenciales utilizadas en el entorno de desarrollo.