This graph shows how many times the word ______ has been mentioned throughout the history of the program.
El 70% de los paquetes de NPM son pura basura.
O sea, literal, pura basura.
Y ahora os explicaré la razón que hay detrás de todo esto, porque es bastante bestia.
Y es que en abril ya esta gente, Filum Research Team, descubrió que había una proliferación de paquetes de spam en NPM.
Esto es una cosa que en abril ya comentaron, que habían encontrado un montón de paquetes de NPM que eran una basura.
Y que la razón, explicaban, era por culpa, como no podía ser de otra forma, Web3.
¿Ha traído algo bueno Web3 a nuestras vidas?
Ahora, pregunta seria.
Pregunta seria.
Me cago en la leche.
Cada 2x3, cada 2x3, siempre que leemos algo de Web3, tiene que ser o es una estafa, o son unos golems, o la madre que los parió, tío.
Es que es una cosa loca.
Las risas, ¿no?
Que nunca faltaron.
Estoy seguro que es una tecnología muy interesante, pero por desgracia creo que el uso que le hemos dado es un poco ñe.
Pues apareció esta página que se llama t.xyz que decía que te iba a dar regalos por tus contribuciones en el código abierto.
Lo que ha pasado en realidad a través de esto es que por culpa de esta plataforma, la gente ha empezado a generar, a crear un montón de paquetes basura.
Fijaos aquí la comparación, ¿no?
Como en 2024, pues a lo mejor se iban publicando cada día mil paquetes, que ya son un montón, mil paquetes nuevos de NPM cada día.
Por favor, Dios mío.
Pero es que a partir de marzo, pum, pum, pum, pum, fijaos que había días que hasta 7.000 paquetes nuevos de NPM.
Esto es una anomalía porque fijaos cómo iba subiendo y bajando.
Me imagino que esto es fin de semana, por si alguien se lo pregunta, esto es fin de semana, vuelve el lunes, viernes, sábado, domingo, otra vez, sábado, domingo, y así todo el rato, ¿no?
Ha habido una anomalía, ¿no?
No se ofendieron los criptobros, no, hombre, pero ¿por qué tiene que ver si además Web3 y cripto, aunque están en el mismo mundo, tampoco tienen mucho que ver, ¿no?
O sea, quiero decir, no son como cosas diferentes, tampoco es eso.
Además, la cripto, una moneda puede estar bien y otra moneda puede ser una basura también, o sea, las cosas como son.
No creo que sea una cosa que sea todo, pero a ver, seamos sinceros, amigos.
De Web3, en general, la imagen total, la mayoría es como las monedas, las monedas, la mayoría son shitcoins, o sea, la gran mayoría.
Eso no quita que Bitcoin, Ethereum y a lo mejor otra honrosa mención pueda estar bien, pero son muy poquitas.
La inmensa mayoría, no sé, por muy criptobro que seas, tienes que, eso lo tienes que aceptar con deportividad, porque sería ponerte una venda, yo qué sé, es un poco rara.
Y la Web3, pues exactamente lo mismo.
Total, mucho spam, mucho spam, spam, spam, spam, spam, spam, spam.
Y es por esto, ¿no? Porque esta plataforma, lo que te decía con este protocolo, es que iba a detectar con tus contribuciones, que ibas a ir ganando un shitcoin y no sé qué, no sé cuánto.
Vale, pues el tema es que esto fue en abril, pero es que desde abril esto no ha ido a mejor, amigos, esto ha ido a peor.
Y resulta que con los últimos datos que tienen, ya han detectado que el 60 o el 70, el 70%, era el 70% de los paquetes de MPM de los últimos 6 meses, 70%, son basura.
Porque han sido generados a través de esto, ¿no?
Aquí lo podéis ver y van viendo cómo lo explican, porque además hablan de una cosa muy interesante, de un ataque silencioso que te puedes estar comiendo con patatas.
Yo he alucinado porque no sabía que esto podía ser un error.
Uno de los errores más típicos está el típico de intentar tener un nombre que se parezca a un paquete que sí que es legítimo, ¿no?
O sea, tú intentas tener React en lugar de React y así pues la gente intente tener una instalación gratis, ¿no?
Y ahí pues que te puedan atacar.
Pero este no es el caso.
El caso es que, fíjate, que los paquetes que se van generando son paquetes así, con nombres QuasarFigO01E, fíjate, esto es lo que crean, ¿no?
QuasarFigO01T, que mira, tiene 6 descargas, encima tiene alguna descarga, que ya es alucinante, con dependencias que parecen legítimas, que ahora veréis esto.
Eso, o sea, que encima las están generando un poco de aquella forma.
Pero ojo, cuidado, porque este es el ataque que me parece muy, muy peligroso y que debes tener en cuenta y revisar.
Fijaos, aquí hay un paquete que tiene un nombre más o menos normal, Sournois, o Sournois, como le queráis decir, ¿no?
Si lo queréis hablar a lo francés.
Bueno, el tema es que este paquete parece normal y si miramos las dependencias, ¿veis que tiene la dependencia de Axios?
Y tú le das aquí y ves que es la dependencia de Axios.
A priori, ¿vosotros pensaríais que tiene algo malo este código?
O sea, ¿este paquete tiene algo malo?
Seguramente diríais que no.
Y fijaos que si miráis el código, parece que tampoco tiene...
O sea, puede ser que el código per se sea malo, pero te puedes mirar el código y el código no está mal.
¿Cuál es el ataque que está haciendo?
El ataque es la dependencia de Axios.
Fijaos, porque la dependencia de Axios, aunque pone que en las dependencias está utilizando Axios,
la realidad es que cuando tú instalas este paquete, te instala una dependencia llamada Axios, que en realidad va a otra dependencia del registro.
Y esto es lo que me ha parecido mega, mega poderoso como ataque.
No sé si lo podré...
Mira, Package.
Fíjate lo que está esto instalando.
O sea, esto no es Axios, pero ni en broma.
¿Y este Ritmi qué?
O sea, es una aplicación de Nexies.
No tiene ningún tipo de sentido.
Que a priori tampoco parece que te vaya a atacar nada, no parece que sea ningún ataque.
Es súper raro esto.
Es súper raro.
Pero fijaos en el ataque.
El ataque es que, aunque tú en la página web veas que la dependencia es Axios, que parece legítima,
lo cierto es que si tú miras en el Package JSON, aquí pone Axios, pero la realidad es que la URL va a un sitio totalmente distinto.
Me parece que aquí en PM va a tener que hacer algo, porque me parece un ataque muy sencillo.
Te la puedes comer con patatas fritas muy fácilmente.
Tú ves las dependencias que tiene en la página web.
Ah, pues tiene Axios, tiene esto, tiene lo otro.
Pero luego resulta que en el Package JSON cada una de esas dependencias tira de otro sitio.
Cualquiera cae totalmente.
O sea, me parece un peligro de ataque, ¿no?
Aquí tenemos, ¿no?
Que aquí están hablando, ¿no?
Que el proyecto dice que el TeeProtocol ya está tomando cartas en el asunto, ¿no?
De que van a tener que hacer pruebas de contribución, que están arreglando esto, ¿no?
Para evitar esto de que vayan creando un montón de paquetes que al final se está considerando que es spam.
Y que van a tener que empezar a cuantificar el impacto de los paquetes.
Aunque esto, ya os digo yo, que también es un poco problemático.
Porque supongo que conocéis NPM Trends.
NPM Trends es una página muy interesante en la que puedes comparar, pues, paquetes y las instalaciones que han tenido a lo largo del tiempo.
Pero, ¿qué pasa?
Que hay algunos paquetes que se puede hacer alguna trampa.
Fijaos, fijaos en Svelte.
Aquí, este día, el 20 de noviembre del 2022, Svelte se instaló 28 veces.
28 millones de veces, perdón.
Muy por encima de RIA, cuando normalmente está muy por abajo.
Y es que no puedes utilizar la métrica de instalaciones porque no es fiable.
Al final, una máquina podría hacer un job de instalar constantemente esa dependencia, tirar abajo la caché o saltársela y falsear estos datos.
O sea, que a ver cómo intentan evitar esto de que realmente detecten que un proyecto se está utilizando.
Eso es un poquito complicado.
Eso es un poquito complicado.