HomeVideos

La situación del malware en npm está empeorando

Now Playing

La situación del malware en npm está empeorando

Transcript

185 segments

0:00

¿Os acordáis de los ataques que han

0:02

estado azotando el ecosistema de npm y

0:05

de JavaScript? Pues madre mía la que se

0:08

ha liado, amigos. Que como os acordáis,

0:10

ha habido un ataque de un montón de

0:12

paquetes de npm, entre ellos estuvieron

0:15

los de Tak, ¿vale? Bueno, pues los

0:18

hackers que son los responsables, bueno,

0:20

más que hackers, cibercriminales, que

0:22

son los responsables de ese malware, lo

0:25

que ha hecho esta gente, el Team PCP, lo

0:28

que hizo es hacer de código abierto el

0:31

malware, o sea, abrieron dos

0:33

repositorios y lo estaban aquí

0:35

disponibles, fijaos, dos repositorios

0:37

donde podías acceder al malware de

0:40

código abierto y lo podías ver, o sea,

0:42

podías entrar, estaban los dos hechos

0:43

con Typescript, le podías echar un

0:45

vistazo para ver como lo habían hecho,

0:47

le podías cambiar cosas, lo podías

0:48

replicar, podías hacer lo que te diese

0:50

la gana. Tenías las instrucciones

0:52

completas de cómo ejecutarlo. Claro, ha

0:55

sido bastante polémico porque mucha

0:57

gente ha dicho, "GitHub debería eliminar

0:59

este repositorio." Ya lo han hecho, ¿eh?

1:01

Es raro, duró bastante. Duró bastante,

1:04

pero ya lo han quitado. Y fijaos que

1:05

aquí tenéis toda la información con

1:07

todos los cómics, todo, todo estaba,

1:10

todo, estaba todo, todo lo tenían por

1:12

aquí, cómo lo habían preparado, dónde

1:14

atacaba, todo se podía leer

1:16

perfectamente. Bueno, bueno. ¿Por qué lo

1:18

han hecho de código abierto? Esa es la

1:20

pregunta del millón. Bueno, pues porque

1:21

hay una competición. es que estos

1:24

cibercriminales han hecho una

1:26

competición de 000 donde han hecho el

1:29

código abierto el Shulut, el gusano este

1:32

y se han asociado con el foro Bridge

1:35

para lo que querían era para ver quién

1:38

hacía el mayor ataque utilizando este

1:42

gusano. Fijaos, eh, lo tenéis aquí.

1:44

Entonces, eh queremos ver de lo que sois

1:46

capaces. Estamos como muy contentos de

1:48

ver lo que podéis hacer. Y ahora que

1:50

hemos hecho totalmente código abierto, y

1:51

aquí tenéis la versión en el CDN, o sea,

1:53

es bastante bestia. Y lo mejor es que,

1:56

como os digo, lo habían hecho en GitHub,

1:58

totalmente de código abierto en GitHub.

2:00

Ya lo han eliminado, por desgracia, ¿qué

2:01

le vamos a hacer? Digo por desgracia

2:03

porque sinceramente, ¿qué sentido tiene

2:05

ponerle puertas al campo? Si es que no

2:07

tiene sentido, ¿para qué vas a intentar

2:09

ocultar algo que al final la gente que

2:11

quiera lo va a poder conseguir de alguna

2:13

forma, ¿sabes? O sea, yo creo que no

2:15

tiene sentido intentar ocultar este tipo

2:17

de cosas. Yo lo hubiera dejado en Githat

2:18

de código abierto y ya está. Ya solo

2:20

falta que hagan sorteos de Malwar. ¿Te

2:21

imaginas? Decían que era vive coding y

2:24

es verdad porque amigos, tenemos que

2:26

decir una cosa, nos libramos de una

2:28

buena porque como estaba hecho con vive

2:31

coding en el malware tenía errores. Y

2:34

fijaos, aunque habían infectado el

2:36

paquete de npm de Mistral entre muchos

2:39

otros, resulta que estaba roto porque el

2:41

script intentaba ejecutar el archivo

2:43

tstacrunner.js, JS, pero lo que escribía

2:46

el malware era el archivo

2:48

router-init.js.

2:51

O sea, que lo único que hizo el malware

2:54

en muchos casos era solo instalar van

2:56

1.3.13 13 porque se habían equivocado

2:59

con un nombre de archivo. O sea, es que

3:02

esto lo que tiene la un AI slop de

3:07

cuidado. Menos mal que utilizaban

3:08

inteligencia artificial y que se

3:10

equivocaron con el nombre del archivo

3:11

porque si no la hubieran liado pardísima

3:14

porque mucha gente instaló Mistral e

3:17

entre otros paquetes y se libraron por

3:19

esto. Mucha gente por culpa de esto pues

3:21

está cerrando temporalmente las pull

3:24

request a contribuidores externos. En

3:26

este caso es el proyecto de Nux, que no

3:29

sé si lo conocéis. Muy bueno este

3:31

proyecto. Es un proyecto para utilizar

3:33

la query string de la URL como un

3:36

estado, un administrador de estado de

3:38

React, por ejemplo, para hacer una

3:39

búsqueda. Tiene todo el sentido del

3:41

mundo porque tú ves aquí va cambiando el

3:43

la URL con los query params dependiendo

3:46

de lo que vas escribiendo aquí. Fijaos

3:47

que está como totalmente sincronizado. Y

3:50

si tú entras otra vez a esta URL, pues

3:52

puedes ver que se ha inicializado el

3:54

estado correctamente. Muy interesante,

3:56

Nux. Bueno, pues la gente de Nux por

3:57

tema de seguridad han anunciado que no

4:00

van a aceptar pull request de gente que

4:02

no sean colaboradores del propio

4:05

proyecto, ¿vale? que ya está, que dice,

4:07

"Mira, pues cerramos las pull request

4:09

porque es que pensad que Nux descarga un

4:11

2,5 millones de veces a la semana, que

4:14

dice que el volumen de Pull Request no

4:16

es muy grande, pero claro, solo hace

4:17

falta una manzana podrida para destruir

4:20

todo el proyecto y que no quieren

4:21

enfrentarse a eso y que por lo tanto no

4:23

lo van a hacer. Luego una cosa que es

4:25

interesante que me ha gusta mucho, os

4:27

voy a enseñar una imagen de cómo es

4:29

instalar paquetes este año 2026. Así se

4:33

siente instalar paquetes en 2026 como un

4:37

buscaminas.

4:38

Ahí está. Tú haces un pm install,

4:40

entonces va bien, va bien. De repente,

4:42

ay, mira, tstack, voy a instalar. Oh,

4:44

pum, muerte. Así, así se siente hacer un

4:49

pmistol hoy en día. Por eso tienes que

4:51

utilizar PNPM para que duermas mejor por

4:53

las noches. Mucha gente y mira que yo ya

4:56

no sé cómo explicar las cosas, tío. Un

4:58

Antonio en mi vida. Yo no sé qué hacer.

5:00

No sé qué hacer. No sé. A ver, el tema

5:03

es el tema es que hay tengo unos cuantos

5:06

antonios que en diferentes redes

5:07

sociales me han dicho que PNPM me paga,

5:10

que qué tengo yo en contra de npm, de B,

5:13

de Yar, que por qué, por qué, por qué,

5:15

por qué si estuviese vendiendo un máster

5:17

de 1500 € de PNPM, ¿sabes? O sea, como

5:19

si costase dinero PNPM. A ver, amigo, a

5:22

ver, muchos antonios me han dicho, "Pero

5:24

si es que lo mismo se puede hacer con

5:25

NPM, con B, con no sé qué. deja de

5:28

engañar a la gente. Y a ver, aquí es

5:30

donde viene la frase de seguro por

5:32

defecto. ¿Qué significa por defecto? Por

5:34

defecto significa que sin necesidad de

5:38

configurarlo

5:39

ya es seguro. El tema es que desde

5:41

PNPM11, fijaos que veis que dice que

5:44

este lanzamiento tiene seguridad por

5:46

defecto introducida, no sé qué, no sé

5:47

cuánto. ¿Y qué es lo que introdujo por

5:49

defecto? Pues, por ejemplo, lo de

5:51

Minimum Release age y lo de block Exotic

5:54

SubDPS. Dos cosas que por defecto no

5:57

están activadas ni en npm, ni en B, ni

6:00

en yar, ni en nada, que ojalá lo

6:01

estuviera. El día que lo esté, Antonio,

6:04

no voy a tener ningún tipo de problema,

6:05

ni se me van a caer los anillos, ni

6:07

nada, nada, no se va a pasar nada. Os

6:10

avisaré el primero, os diré, amigos, nm,

6:14

ahora por defecto, tal. Yo mismo hice

6:16

una pull request en ban pidiendo esta

6:19

funcionalidad. O sea, que ya ves las

6:21

cosas que tengo yo en contra B. Si

6:23

además me encanta B. La hice yo, la hice

6:25

aquí. Mínimum min o mira a ver si busco

6:28

mi dud ver si salgo por ahí. No, no

6:31

salgo. Ah, bueno, igual es que Ah,

6:32

claro, porque la habrán cerrado, claro,

6:33

ves, close. ¿Por qué? Porque aquí el

6:35

bueno de Midu se interesó en la

6:37

seguridad de Antonio, ¿eh? hizo todo

6:40

esto y fíjate, fíjate, 300 likes, ¿vale,

6:42

Antonio, para que veas que me paga PNPM,

6:45

desgraciado. Bueno, y aquí hubo una

6:47

discusión y salió hasta aller y tal y

6:49

bueno, y se puso y se puso. Bueno, pues

6:52

ahora a ver si lo conseguimos que sea

6:53

por defecto. Ya sería espectacular, ya

6:55

sería espectacular.

Interactive Summary

El vídeo analiza la reciente ola de ataques maliciosos en el ecosistema de npm, destacando un caso donde los atacantes publicaron su malware de código abierto en GitHub. Se discuten las repercusiones de estos eventos, incluyendo errores técnicos que evitaron daños mayores, la respuesta de proyectos como Nuxt para asegurar sus repositorios y las recomendaciones de seguridad, enfocándose en el uso de herramientas como PNPM para una mayor protección por defecto.

Suggested questions

3 ready-made prompts