window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versión: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster ya existe') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Seguridad en los paquetes Javascript - The Codest
The Codest
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Industrias
    • Fintech y Banca
    • E-commerce
    • Adtech
    • Tecnología sanitaria
    • Fabricación
    • Logística
    • Automoción
    • IOT
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
Flecha atrás VOLVER
2019-03-26
Desarrollo de software

Seguridad en los paquetes Javascript

Daniel Grek

Cada día crece la cantidad de paquetes Javascript. Es el resultado de la actividad de una comunidad que, por un lado, demanda nuevas soluciones y, por otro, las genera como forma de autodesarrollo o realización. Un crecimiento tan grande abre nuevas puertas y posibilidades, pero también conlleva peligros, de los que todo desarrollador debe ser consciente.

A finales de noviembre de 2018, la comunidad de GitHub informó de una grave vulnerabilidad en flujo de eventos - que ayuda a trabajar con nodo de forma más eficaz. Era bastante popular, ya que el número de descargas en ese periodo concreto superaba los 2,2 millones a la semana (en comparación con React, con 3,7 millones). Event-stream, así como sus dependencias, dependían de otra biblioteca - mapa-plano-vapor, que se había actualizado con un malware de criptobolsa. Permitía robar claves privadas y otros datos de las cuentas de los usuarios en las máquinas en las que estaba incluido el paquete.

Finalmente, flatmap-stream fue retirada de NPM, lo que creó problemas temporales con muchas otras bibliotecas. En mayo del mismo año, la comunidad encontró una puerta trasera dentro de el getcookie que también formaba parte de muchas otras dependencias. Estos ejemplos pueden multiplicarse, lo que demuestra que es importante prestar atención a las dependencias instaladas en un paquete proyectono sólo de la Javascript perspectiva, sino también en un contexto general.

Apoyarse en soluciones oficiales y grandes comunidades

En la medida de lo posible, es importante confiar en soluciones oficiales en su proyecto. No sólo son menos vulnerables debido a un mejor proceso de desarrollo. Una gran comunidad, que normalmente viene acompañada de una mejor marca, ayuda a identificar los problemas mucho más rápido y, lo que es más importante, a encontrar buenas soluciones.

Utilizar las tendencias de los MNP

Seguridad JavaScript

Fig. 1 Tendencia NPM de Webpack.

Gráfico

Fig. 2. Tendencia de los MNP en el flujo de eventos.

A veces, el conocimiento de un estado actual del paquete puede no representar su pasado. Un vistazo rápido al gráfico de tendencias de npm puede mostrarte la tendencia actual de un paquete. Mostrará no sólo grandes picos, donde podría encontrarse alguna vulnerabilidad, sino el estado general de un paquete dado (NOTA: los grandes picos en google trends cerca del 24 - 30 de diciembre representan la temporada de vacaciones, lo que puede no representar necesariamente un problema). Como ejemplo, echa un vistazo a la figura 1 - una tendencia representativa de la descarga de Webpack por semana. Verás un crecimiento estable sin ningún punto de ruptura, lo que puede sugerir que Webpack es un paquete estable y seguro de usar. Por otro lado, en la figura 2 encontrarás una gran caída en noviembre, lo cual es una clara señal de que algo malo pudo haber ocurrido en ese periodo (lo cual ya sabemos que es cierto).

Auditoría de dependencia

La mejor y más fiable forma de verificar el estado de sus dependencias es realizar un auditoría. Este comando ya está disponible de forma nativa tanto para yarn como para npm, aunque requiere sus últimas versiones. Envía una lista de dependencias actuales a un endpoint apropiado y devuelve información con sus vulnerabilidades actuales y otros detalles de uso, incluyendo referencias a documentación. (figura3).

Datos interesantes

Fig. 3. Ejemplo del resultado del comando npm audit. Fuente: https://docs.npmjs.com

Gestionar dependencias en Javascript no es una tarea fácil. El número de soluciones crece día a día, por lo tanto recuerda elegir tus dependencias sabia y cuidadosamente. Sigue auditando tu proyecto actual y actualiza tus paquetes regularmente.

Para saber más sobre las dependencias javascript y cómo resolver algunos de sus problemas, consulte este artículo.

Fuente:

  1. https://github.com/dominictarr/event-stream/issues/116
  2. https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident
  3. https://blog.npmjs.org/post/173526807575/reported-malicious-module-getcookies
  4. https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities
  5. https://docs.npmjs.com/cli/audit
  6. https://yarnpkg.com/lang/en/docs/cli/audit/

Artículos relacionados

Desarrollo de software

Crear aplicaciones web preparadas para el futuro: ideas del equipo de expertos de The Codest

Descubra cómo The Codest destaca en la creación de aplicaciones web escalables e interactivas con tecnologías de vanguardia, ofreciendo experiencias de usuario fluidas en todas las plataformas. Descubra cómo nuestra experiencia impulsa la transformación...

EL MEJOR
Desarrollo de software

Las 10 mejores empresas de desarrollo de software de Letonia

Conozca las principales empresas de desarrollo de software de Letonia y sus innovadoras soluciones en nuestro último artículo. Descubra cómo estos líderes tecnológicos pueden ayudarle a mejorar su negocio.

thecodest
Soluciones para empresas y escalas

Fundamentos del desarrollo de software Java: Guía para externalizar con éxito

Explore esta guía esencial sobre el desarrollo de software Java outsourcing con éxito para mejorar la eficiencia, acceder a la experiencia e impulsar el éxito de los proyectos con The Codest.

thecodest
Desarrollo de software

La guía definitiva para subcontratar en Polonia

El auge de las outsourcing en Polonia está impulsado por los avances económicos, educativos y tecnológicos, que fomentan el crecimiento de las TI y un clima favorable a las empresas.

TheCodest
Soluciones para empresas y escalas

Guía completa de herramientas y técnicas de auditoría informática

Las auditorías informáticas garantizan sistemas seguros, eficientes y conformes. Obtenga más información sobre su importancia leyendo el artículo completo.

The Codest
Jakub Jakubowicz CTO y Cofundador

Suscríbase a nuestra base de conocimientos y manténgase al día de la experiencia del sector informático.

    Quiénes somos

    The Codest - Empresa internacional de desarrollo de software con centros tecnológicos en Polonia.

    Reino Unido - Sede central

    • Oficina 303B, 182-184 High Street North E6 2JA
      Londres, Inglaterra

    Polonia - Centros tecnológicos locales

    • Parque de oficinas Fabryczna, Aleja
      Pokoju 18, 31-564 Cracovia
    • Embajada del Cerebro, Konstruktorska
      11, 02-673 Varsovia, Polonia

      The Codest

    • Inicio
    • Quiénes somos
    • Servicios
    • Case Studies
    • Saber cómo
    • Carreras profesionales
    • Diccionario

      Servicios

    • Asesoramiento
    • Desarrollo de software
    • Desarrollo backend
    • Desarrollo Frontend
    • Staff Augmentation
    • Desarrolladores de backend
    • Ingenieros de la nube
    • Ingenieros de datos
    • Otros
    • Ingenieros de control de calidad

      Recursos

    • Hechos y mitos sobre la cooperación con un socio externo de desarrollo de software
    • De EE.UU. a Europa: ¿Por qué las startups estadounidenses deciden trasladarse a Europa?
    • Comparación de los polos de desarrollo de Tech Offshore: Tech Offshore Europa (Polonia), ASEAN (Filipinas), Eurasia (Turquía)
    • ¿Cuáles son los principales retos de los CTO y los CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Condiciones de uso del sitio web

    Copyright © 2025 por The Codest. Todos los derechos reservados.

    es_ESSpanish
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean nl_NLDutch etEstonian elGreek es_ESSpanish