No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17 Días
21 Hrs
42 Min
12 Seg

Escaneo de dependencias

39/53
Recursos

El Dependency scanning analiza estáticamente las dependencias del proyecto para encontrar vulnerabilidades. Puede generar un reporte que se añade al merge request y utiliza la imagen de Docker Dependency Scanning de Gitlab

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El año pasado se detectó un paquete de npm muy usado por muchos desarrolladores (event-stream) que estaba infectado con código malicioso. En resumen, un usuario malintencionado se ganó la confianza del mantenedor del repo del paquete para luego, ya siendo un contribuidor (de hecho, llegó a ser el dueño del repo), introcudir este código malicioso. La forma en que lo hizo vulneró incluso a los escaneos de código estático como el que vemos en este curso. Les dejo el resto: https://medium.com/intrinsic/compromised-npm-package-event-stream-d47d08605502

fue un 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.

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-squatting’ y 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.

Les dejo aquí una BD de vulnerabilidades de software opensource

https://www.whitesourcesoftware.com/vulnerability-database

Buenas tardes quisiera saber si se puede hacer un efectivo changelog apartir de nuestros merge request y que agrupe los commits como items de que fue lo que se añade o se arreglo

Explicación clara sobre los huecos de seguirdad

Como tester, se ocupa mucho las herramientas generadoras de datos fake. Así que uno de los casos con ese tipo de paquetes, el famoso faker, fue vulnerado, de manera directa, por el desarrollador tronó todo el repositorio de github que afectó a todos los usuarios de esta misma

Module

module name: morgan
**version: **1.9.0
npm page: https://www.npmjs.com/package/morgan

Module Description
HTTP request logger middleware for node.js

Named after Dexter, a show you should not watch until completion.

Module Stats
1,120,329 downloads in the last week

Vulnerability

Vulnerability Description

An attacker can use the format parameter to inject arbitrary commands

Steps To Reproduce:

The basic attack vector looks like this:

var morgan = require(‘morgan’);
var f = morgan(‘25 \" + console.log(‘hello!’); + //:method :url :status :res[content-length] - :response-time ms’);
f({}, {}, function () {
});
However, it is hard to believe that the package is used this way in any application. However, a more interesting attack vector is when combining this vulnerability with a prototype pollution one:

var morgan = require('morgan');
//payload delivered through a prototype pollution attack
Object.prototype[':method :url :status :res[content-length] - :response-time ms'] = '25 \\" + console.log(\'hello!\'); +  //:method :url :status :res[content-length] - :response-time ms';
//benign looking usage of morgan that can be exploited due to the prototype pollution attack
var f = morgan(':method :url :status :res[content-length] - :response-time ms');
f({}, {}, function () {
});

Eval and it’s variants like Function() should almost neve be used in such popular packages.

Patch

N/A remove the usage of Function().

Wrap up

I contacted the maintainer to let them know: N
I opened an issue in the related repository: N
Impact

If combined with a prototype pollution attack this vulnerability is very serious (RCE). Otherwise, it is very unlikely that the attacker can control the vulnerable format parameter, but not impossible to think.