npm install && pray

This ad is not shown to multipass and full ticket holders
JS Nation
JSNation 2026
June 11 - 15, 2026
Amsterdam & Online
The main JavaScript conference of the year
Upcoming event
JSNation 2026
JSNation 2026
June 11 - 15, 2026. Amsterdam & Online
Learn more
Bookmark
Rate this content

Todos conocemos el ritual: agregar una dependencia, confiar en ella implícitamente, enviarla a producción. Durante años, eso funcionó bastante bien. Pero ahora los ataques han comenzado a volverse más inteligentes.

Los ataques a la cadena de suministro que apuntan al ecosistema npm ya no son teóricos. Paquetes maliciosos que roban credenciales, secuestran variables de entorno o exfiltran datos silenciosamente a través de HTTP están apareciendo en aumentos de versiones menores. La mayor fortaleza del ecosistema de JavaScript, su apertura, se ha convertido en su mayor responsabilidad.

Y luego entregamos nuestros teclados a la IA.

Los asistentes de IA son, por supuesto, útiles. Pero introducen una nueva categoría de riesgo: código que no escribiste, no entiendes completamente y que quizás nunca revises lo suficiente. Los modelos pueden filtrar claves de API en la salida generada, el código escrito por IA puede eliminar archivos accidentalmente, su código puede realizar llamadas de red no intencionadas, o peor. Y si alguien ha contaminado los datos de entrenamiento, tu IA podría hacer esto a propósito.

En esta charla, recorreremos ejemplos reales de vectores de amenaza, demostraremos cómo el sistema de permisos de Deno puede detener un ataque a la cadena de suministro en seco y exploraremos cómo el sandboxing de la ejecución de tu código puede proporcionarte un entorno genuinamente seguro para ejecutar código generado por IA sin la sobrecarga de levantar infraestructura Docker.

Te irás con una imagen más clara del panorama de amenazas y herramientas prácticas para ejecutar código en el que quizás no confíes.

This talk has been presented at Node Congress 2026, check out the latest edition of this JavaScript Conference.

Jo Franchetti
Jo Franchetti
29 min
26 Mar, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Los desarrolladores de JavaScript enfrentan riesgos de seguridad en paquetes npm con gusanos autorreplicantes que comprometen paquetes. Los ataques a la cadena de suministro apuntan a mantenedores prolíficos, lo que lleva a inyecciones de código no autorizadas. Las vulnerabilidades en los mantenedores de paquetes y la confianza implícita contribuyen a ataques exitosos. Las prácticas de instalación segura de paquetes varían entre npm y Deno. El código generado por IA introduce nuevos riesgos de seguridad con secretos incrustados. La ejecución segura de código de IA implica el uso de sandboxing para el aislamiento y el manejo seguro de claves de API.
Available in English: npm install && pray

1. Security Risks of NPM Packages

Short description:

Los desarrolladores de JavaScript confían en los paquetes npm para la funcionalidad, pero una nueva amenaza surgió en 2025. Un gusano autorreplicante, shyhoo lewd, comprometió más de 500 paquetes npm robando credenciales y publicando versiones maliciosas. Una segunda ola, shyhoo lewd 2.0, apuntó a 796 paquetes más, afectando millones de descargas semanales.

Hola, Node Congress. Muchas gracias por invitarme. Soy Jo Franchetti y soy DevRel en Deno, y voy a sumergirme de inmediato y hablemos de algunas cosas aterradoras.

Hay un ritual que todo desarrollador de JavaScript conoce. Estás construyendo algo, necesitas pasar fechas o validar un correo electrónico o formatear una moneda. Así que haces lo que cualquier persona razonable haría. Abres tu terminal y escribes npm install, y eliges un paquete con unos pocos millones de descargas semanales y un readme amigable. Confías en él. Lo envías.

Y durante mucho tiempo, eso funcionó muy bien. Y nuestro ecosistema creció gracias a esa confianza, porque alguien podía publicar una utilidad a las 2 a.m. y por la mañana, los desarrolladores del otro lado del mundo ya la estaban usando en producción. Y esa apertura es genuinamente hermosa. Es por eso que JavaScript se convirtió en lo que es. Pero necesitamos hablar sobre lo que esa confianza nos cuesta ahora.

En septiembre de 2025, investigadores de Reversing Labs identificaron algo que no se había visto antes en el ecosistema npm. Era un gusano autorreplicante, y lo llamaron shyhoo lewd en honor al gusano de arena de June, lo cual es bastante apropiado porque una vez que entró en el ecosistema, fue muy difícil de detener. Y esto es lo que hizo. Comenzó con un solo paquete malicioso. En este caso, era rxnt authentication. Y una vez que un desarrollador lo instalaba, el malware escaneaba su entorno en busca de credenciales npm. Luego usaba esas credenciales para publicar una versión maliciosa de otros paquetes que ese desarrollador mantenía o a los que tenía acceso. Era literalmente viral.

Cada nueva víctima se convertía en un nuevo vector de ataque. Para cuando fue contenido, más de 500 paquetes npm habían sido comprometidos. Luego hubo una segunda ola, shyhoo lewd 2.0, que golpeó en noviembre y comprometió 796 paquetes más. Y eso representó más de 20 millones de descargas semanales. ¿Y qué estaba robando realmente el malware? Bueno, cualquier cosa que pudiera encontrar. Buscaba variables de entorno, tokens de AWS y GCP, credenciales de GitHub, tokens de autenticación npm. Y hacía todo esto silenciosamente a través de HTTP en segundo plano mientras tu aplicación funcionaba perfectamente.

2. Supply Chain Attacks in NPM Ecosystem

Short description:

Un ataque a la cadena de suministro en el ecosistema npm apuntó a un mantenedor prolífico, comprometiendo 18 paquetes con más de 2 mil millones de descargas semanales. Los atacantes utilizaron un correo electrónico de phishing para obtener credenciales, lo que llevó a actualizaciones no autorizadas que inyectaron código para secuestrar transacciones de criptomonedas. La confianza implícita en los rangos de versiones y las vulnerabilidades humanas contribuyen al éxito de tales ataques.

Nunca lo sabrías. Y un mes antes, en septiembre de 2025, un ataque diferente golpeó aún más fuerte. Quizás hayas oído hablar de los paquetes Chalk o Debug, dos de los paquetes más descargados en todo el ecosistema npm. Y un mantenedor muy prolífico gestionaba ambos junto con otros 16 paquetes ampliamente utilizados. En conjunto, tenían más de 2 mil millones de descargas semanales.

Lo que hicieron los atacantes fue registrar el dominio npmjs.help. Y luego, tres días después de registrarlo, enviaron al mantenedor un correo electrónico desde support at npmjs.help. Y estaban suplantando al soporte de npm. El correo electrónico fue lo suficientemente convincente como para que el mantenedor ingresara sus credenciales en una página de inicio de sesión falsa. Y con esas credenciales, los atacantes luego tuvieron derechos de publicación completos para los 18 de sus paquetes.

Y lanzaron un montón de actualizaciones que inyectaron código que secuestraría transacciones de criptomonedas desde los navegadores de los usuarios. No fue un exploit técnico particularmente sofisticado. Fue solo un correo electrónico de phishing y una página de inicio de sesión falsa. Así que tomemos un momento para entender la mecánica porque eso es importante para lo que vamos a hablar a continuación. Los ataques a la cadena de suministro en el ecosistema npm funcionan debido a una combinación de factores. Primero está la confianza implícita en los rangos de versiones. Todos lo hacemos. La mayoría de los archivos npm, nuestros archivos package.json, usan un sombrero o una tilde delante de los números de versión. Eso significa que cuando un mantenedor lanza, digamos, 2.1.1 para corregir un error, tu CI lo va a incorporar automáticamente.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Construyendo un Asistente AI Activado por Voz con Javascript
JSNation 2023JSNation 2023
21 min
Construyendo un Asistente AI Activado por Voz con Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
El Flujo de Trabajo del Desarrollador Asistido por IA: Construye Más Rápido e Inteligente Hoy
JSNation US 2024JSNation US 2024
31 min
El Flujo de Trabajo del Desarrollador Asistido por IA: Construye Más Rápido e Inteligente Hoy
Top Content
AI is transforming software engineering by using agents to help with coding. Agents can autonomously complete tasks and make decisions based on data. Collaborative AI and automation are opening new possibilities in code generation. Bolt is a powerful tool for troubleshooting, bug fixing, and authentication. Code generation tools like Copilot and Cursor provide support for selecting models and codebase awareness. Cline is a useful extension for website inspection and testing. Guidelines for coding with agents include defining requirements, choosing the right model, and frequent testing. Clear and concise instructions are crucial in AI-generated code. Experienced engineers are still necessary in understanding architecture and problem-solving. Energy consumption insights and sustainability are discussed in the Talk.
El Ascenso del Ingeniero de IA
React Summit US 2023React Summit US 2023
30 min
El Ascenso del Ingeniero de IA
Top Content
The rise of AI engineers is driven by the demand for AI and the emergence of ML research and engineering organizations. Start-ups are leveraging AI through APIs, resulting in a time-to-market advantage. The future of AI engineering holds promising results, with a focus on AI UX and the role of AI agents. Equity in AI and the central problems of AI engineering require collective efforts to address. The day-to-day life of an AI engineer involves working on products or infrastructure and dealing with specialties and tools specific to the field.
IA y Desarrollo Web: ¿Exageración o Realidad?
JSNation 2023JSNation 2023
24 min
IA y Desarrollo Web: ¿Exageración o Realidad?
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
El Ingeniero de Software Nativo de AI
JSNation US 2025JSNation US 2025
35 min
El Ingeniero de Software Nativo de AI
Software engineering is evolving with AI and VIBE coding reshaping work, emphasizing collaboration and embracing AI. The future roadmap includes transitioning from augmented to AI-first and eventually AI-native developer experiences. AI integration in coding practices shapes a collaborative future, with tools evolving for startups and enterprises. AI tools aid in design, coding, and testing, offering varied assistance. Context relevance, spec-driven development, human review, and AI implementation challenges are key focus areas. AI boosts productivity but faces verification challenges, necessitating human oversight. The impact of AI on code reviews, talent development, and problem-solving evolution in coding practices is significant.
Aplicaciones Web del Futuro con Web AI
JSNation 2024JSNation 2024
32 min
Aplicaciones Web del Futuro con Web AI
Web AI in JavaScript allows for running machine learning models client-side in a web browser, offering advantages such as privacy, offline capabilities, low latency, and cost savings. Various AI models can be used for tasks like background blur, text toxicity detection, 3D data extraction, face mesh recognition, hand tracking, pose detection, and body segmentation. JavaScript libraries like MediaPipe LLM inference API and Visual Blocks facilitate the use of AI models. Web AI is in its early stages but has the potential to revolutionize web experiences and improve accessibility.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
AI para Desarrolladores de React
React Advanced 2024React Advanced 2024
142 min
AI para Desarrolladores de React
Top Content
Featured Workshop
Eve Porcello
Eve Porcello
El conocimiento de las herramientas de AI es fundamental para preparar el futuro de las carreras de los desarrolladores de React, y la suite de herramientas de AI de Vercel es una vía de acceso accesible. En este curso, examinaremos más de cerca el Vercel AI SDK y cómo esto puede ayudar a los desarrolladores de React a construir interfaces de transmisión con JavaScript y Next.js. También incorporaremos APIs de terceros adicionales para construir y desplegar una aplicación de visualización de música.
Temas:- Creación de un Proyecto de React con Next.js- Elección de un LLM- Personalización de Interfaces de Transmisión- Construcción de Rutas- Creación y Generación de Componentes - Uso de Hooks (useChat, useCompletion, useActions, etc)
Building Full Stack Apps With Cursor
JSNation 2025JSNation 2025
46 min
Building Full Stack Apps With Cursor
Featured Workshop
Mike Mikula
Mike Mikula
En esta masterclass cubriré un proceso repetible sobre cómo iniciar aplicaciones full stack en Cursor. Espere comprender técnicas como el uso de GPT para crear requisitos de producto, esquemas de base de datos, hojas de ruta y usarlos en notas para generar listas de verificación que guíen el desarrollo de aplicaciones. Profundizaremos más en cómo solucionar alucinaciones/errores que ocurren, indicaciones útiles para hacer que su aplicación se vea y se sienta moderna, enfoques para conectar cada capa y más. Al final, ¡espere poder ejecutar su propia aplicación full stack generada por IA en su máquina!
Por favor, encuentre las preguntas frecuentes aquí
How to 9,2x Your Development Speed with Cline
JSNation 2025JSNation 2025
64 min
How to 9,2x Your Development Speed with Cline
Featured Workshop
Nik Pash
Nik Pash
La forma en que escribimos código está cambiando fundamentalmente. En lugar de quedar atrapado en bucles anidados y detalles de implementación, imagine enfocarse puramente en la arquitectura y la resolución creativa de problemas mientras su programador de pares de IA maneja la ejecución. En esta masterclass práctica, te mostraré cómo aprovechar Cline (un agente de codificación autónomo que recientemente alcanzó 1M de descargas en VS Code) para acelerar drásticamente tu flujo de trabajo de desarrollo a través de una práctica que llamamos "vibe coding" - donde los humanos se enfocan en el pensamiento de alto nivel y la IA maneja la implementación.Descubrirás:Los principios fundamentales del "vibe coding" y cómo se diferencia del desarrollo tradicionalCómo diseñar soluciones a un alto nivel y hacer que la IA las implemente con precisiónDemostración en vivo: Construcción de un sistema de almacenamiento en caché de grado de producción en Go que nos ahorró $500/semanaTécnicas para usar IA para entender bases de código complejas en minutos en lugar de horasMejores prácticas para solicitar a los agentes de IA que obtengan exactamente el código que deseasErrores comunes a evitar al trabajar con asistentes de codificación de IAEstrategias para usar IA para acelerar el aprendizaje y reducir la dependencia de ingenieros seniorCómo combinar efectivamente la creatividad humana con las capacidades de implementación de IAYa sea que seas un desarrollador junior que busca acelerar tu aprendizaje o un ingeniero senior que desea optimizar tu flujo de trabajo, saldrás de esta masterclass con experiencia práctica en desarrollo asistido por IA que puedes aplicar inmediatamente a tus proyectos. A través de demostraciones de codificación en vivo y ejercicios prácticos, aprenderás cómo aprovechar Cline para escribir mejor código más rápido mientras te enfocas en lo que importa: resolver problemas reales.
La Guía del Desarrollador de React para la Ingeniería de AI
React Summit US 2025React Summit US 2025
96 min
La Guía del Desarrollador de React para la Ingeniería de AI
Featured WorkshopFree
Niall Maher
Niall Maher
Una masterclass integral diseñada específicamente para desarrolladores de React listos para convertirse en ingenieros de AI. Aprende cómo tus habilidades existentes de React—pensamiento en componentes, gestión de estado, manejo de efectos y optimización del rendimiento—se traducen directamente en la construcción de aplicaciones de AI sofisticadas. Cubriremos todo el stack: integración de API de AI, respuestas en streaming, manejo de errores, persistencia de estado con Supabase y despliegue con Vercel.Traducción de habilidades:- Ciclo de vida de componentes → Ciclo de vida de conversación de AI- Gestión de estado → Gestión de contexto y memoria de AI- Manejo de efectos → Streaming de respuestas de AI y efectos secundarios- Optimización del rendimiento → Caché de AI y optimización de solicitudes- Patrones de prueba → Estrategias de prueba de interacción de AILo que construirás: Una herramienta completa de gestión de proyectos impulsada por AI que muestra patrones de integración de AI a nivel empresarial.
Construir agentes LLM en TypeScript con Mastra y Vercel AI SDK
React Advanced 2025React Advanced 2025
145 min
Construir agentes LLM en TypeScript con Mastra y Vercel AI SDK
Featured WorkshopFree
Eric Burel
Eric Burel
Los LLMs no son solo motores de búsqueda sofisticados: sientan las bases para construir piezas de software autónomas e inteligentes, también conocidas como agentes.
Las empresas están invirtiendo masivamente en infraestructuras de IA generativa. Para obtener el valor de su inversión, necesitan desarrolladores que puedan sacar el máximo provecho de un LLM, y ese podrías ser tú.
Descubre la pila de TypeScript para el desarrollo basado en LLM en esta masterclass de 3 horas. Conéctate a tu modelo favorito con el Vercel AI SDK y convierte líneas de código en agentes de IA con Mastra.ai.