el más reciente

― Advertisement ―

Relacionada

spot_img
HomeTecnologíaActualización de npm para fortalecer su cadena de suministro y puntos a...

Actualización de npm para fortalecer su cadena de suministro y puntos a considerar

En diciembre de 2025, en respuesta al incidente de Sha1-Hulud, npm completó una importante revisión de la autenticación destinada a dominar los ataques a la esclavitud de suministro. Si acertadamente la revisión es un sólido paso delante, los cambios no hacen que los proyectos npm sean inmunes a los ataques a la esclavitud de suministro. npm todavía es susceptible a ataques de malware: esto es lo que necesita enterarse para tener una comunidad Node más segura.

Comencemos con el problema flamante.

Históricamente, npm se basó en tokens clásicos: credenciales de larga duración y amplio inteligencia que podían persistir indefinidamente. Si son robados, los atacantes podrían anunciar directamente versiones maliciosas de los paquetes del autor (no se necesita un código fuente verificable públicamente). Esto convirtió a npm en un vector principal para los ataques a la esclavitud de suministro. Con el tiempo, numerosos incidentes del mundo efectivo demostraron este punto. Shai-Hulud, Sha1-Hulud y chalk/debug son ejemplos de ataques recientes y notables.

la posibilidad de npm

Para solucionar esto, npm realizó los siguientes cambios:

  1. npm revocó todos los tokens clásicos y, en su área, utilizó de forma predeterminada tokens basados ​​en sesiones. El equipo de npm además mejoró la papeleo de tokens. Los flujos de trabajo interactivos ahora utilizan tokens de sesión de corta duración (normalmente dos horas) obtenidos mediante el inicio de sesión de npm, que títulos predeterminados al MFA para su publicación.
  2. El equipo de npm además fomenta OIDC Trusted Publishing, en el que los sistemas de CI obtienen credenciales de corta duración por ejecución en área de acumular secretos en reposo.
Leer  El nuevo Android Malware Wave golpea la banca a través de fraude de retransmisión de NFC, secuestro de llamadas y exploits raíz

En combinación, estas prácticas mejoran la seguridad. Garantizan que las credenciales caduquen rápidamente y requieran un segundo delegado durante operaciones confidenciales.

Quedan dos cuestiones importantes

Primero, la muchedumbre debe memorar que el ataque flamante a herramientas como ChalkJS fue un intento exitoso de phishing MFA en la consola de npm. Si observa el correo electrónico flamante adjunto a continuación, podrá ver que se trataba de un correo electrónico de phishing centrado en MFA (carencia como intentar hacer lo correcto y aún así salir perjudicado). La campaña engañó al responsable para que compartiera tanto el inicio de sesión del legatario como la contraseña de un solo uso. Esto significa que en el futuro, correos electrónicos similares podrían aceptar tokens de corta duración, lo que aún les dará a los atacantes tiempo suficiente para cargar malware (ya que eso solo tomaría unos minutos).

En segundo área, la MFA en la publicación es opcional. Los desarrolladores aún pueden crear tokens de 90 días con la omisión de MFA habilitada en la consola, que son extremadamente similares a los tokens clásicos de ayer.

Estos tokens le permiten descifrar y escribir en los paquetes mantenidos por el autor de un token. Esto significa que si los delincuentes obtienen ataque a la consola de un mantenedor con esta configuración de token, pueden anunciar paquetes (y versiones) nuevos y maliciosos en nombre de ese autor. Esto nos devuelve al problema flamante con npm ayer de que ajustaran sus políticas de credenciales.

Para ser claros, que más desarrolladores utilicen MFA en la publicación es una buena comunicación, y los ataques futuros deberían ser menores y más pequeños. Sin incautación, hacer que OIDC y MFA estén en publicación opcional todavía deja la cuestión central sin resolver.

Leer  New Godrat Trojan se dirige a las empresas comerciales que utilizan esteganografía y código de rata GH0st

En conclusión, si (1) los intentos de phishing de MFA en la consola de npm aún funcionan y (2) el ataque a la consola equivale al ataque para anunciar nuevos paquetes/versiones, entonces los desarrolladores deben ser conscientes de los riesgos de la esclavitud de suministro que aún existen.

Recomendaciones

En el espíritu de la seguridad del código descubierto, aquí hay tres recomendaciones que esperamos que GitHub y npm consideren en el futuro.

  1. Lo ideal sería que siguieran presionando por la omnipresencia de OIDC a dilatado plazo. OIDC es muy difícil de comprometer y borraría casi por completo los problemas relacionados con los ataques a la esclavitud de suministro.
  2. De forma más realista, aplicar MFA para la carga de paquetes locales (ya sea mediante un código de correo electrónico o una contraseña de un solo uso) reduciría aún más el radiodifusión de ataque de gusanos como Shai-Hulud. En otras palabras, sería una perfeccionamiento para no permitir tokens personalizados que omiten MFA.
  3. Como minúsculo, sería bueno asociar metadatos a los lanzamientos de paquetes, para que los desarrolladores puedan tomar precauciones y evitar paquetes (o mantenedores) que no tomen medidas de seguridad de la esclavitud de suministro.

En epítome, npm ha legado un importante paso delante al eliminar los tokens permanentes y mejorar los títulos predeterminados. Hasta que las credenciales de corta duración y vinculadas a la identidad se conviertan en la norma (y ya no sea necesaria la omisión de MFA para la automatización), el aventura en la esclavitud de suministro correcto a sistemas de construcción comprometidos seguirá estando materialmente presente.

Una nueva forma de hacerlo

Todo este tiempo hemos estado hablando de ataques a la esclavitud de suministro mediante la carga de paquetes en npm en nombre de un mantenedor. Si pudiéramos construir cada paquete npm a partir de código fuente verificable en área de descargar el artefacto desde npm, estaríamos mejor. Eso es exactamente lo que Chainguard hace por sus clientes con las bibliotecas Chainguard para JavaScript.

Leer  Las amenazas de IA están evolucionando rápidamente: aprenda tácticas prácticas de defensa en este seminario web experto

Analizamos la pulvínulo de datos pública en investigación de paquetes comprometidos en npm y descubrimos que para el 98,5% de los paquetes maliciosos, el malware no estaba presente en el código fuente pino (solo el artefacto publicado). Esto significa que un enfoque de construcción desde el código fuente reduciría su superficie de ataque en aproximadamente un 98,5%, según datos anteriores, porque el repositorio de JavaScript de Chainguard nunca publicaría las versiones maliciosas disponibles en npm.

En un mundo ideal, los clientes estarán más seguros cuando utilicen las bibliotecas Chainguard y apliquen las recomendaciones anteriores. Según el “maniquí de seguridad del pinrel suizo”, todas estas características son capas de medidas de seguridad aditivas, y sería mejor para las empresas utilizar una combinación de ellas.

Si desea obtener más información sobre las bibliotecas Chainguard para JavaScript, comuníquese con nuestro equipo.

Nota: Este artículo fue escrito cuidadosamente y contribuido para nuestra audiencia por Adam La Morre, ingeniero senior de soluciones de Chainguard.

El más popular

spot_img