window.pipedriveLeadboosterConfig = { base : 'leadbooster-chat.pipedrive.com', companyId : 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version : 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster existe déjà') } 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 }) }, } } })() Sécurité des paquets Javascript - The Codest
The Codest
  • A propos de nous
  • Services
    • Développement de logiciels
      • Développement frontal
      • Développement backend
    • Staff Augmentation
      • Développeurs frontaux
      • Développeurs backend
      • Ingénieurs des données
      • Ingénieurs en informatique dématérialisée
      • Ingénieurs AQ
      • Autres
    • Conseil consultatif
      • Audit et conseil
  • Industries
    • Fintech et banque
    • E-commerce
    • Adtech
    • Santé (Healthtech)
    • Fabrication
    • Logistique
    • Automobile
    • IOT
  • Valeur pour
    • CEO
    • CTO
    • Gestionnaire des livraisons
  • Notre équipe
  • Études de cas
  • Savoir comment
    • Blog
    • Rencontres
    • Webinaires
    • Ressources
Carrières Prendre contact
  • A propos de nous
  • Services
    • Développement de logiciels
      • Développement frontal
      • Développement backend
    • Staff Augmentation
      • Développeurs frontaux
      • Développeurs backend
      • Ingénieurs des données
      • Ingénieurs en informatique dématérialisée
      • Ingénieurs AQ
      • Autres
    • Conseil consultatif
      • Audit et conseil
  • Valeur pour
    • CEO
    • CTO
    • Gestionnaire des livraisons
  • Notre équipe
  • Études de cas
  • Savoir comment
    • Blog
    • Rencontres
    • Webinaires
    • Ressources
Carrières Prendre contact
Flèche arrière RETOUR
2019-03-26
Développement de logiciels

Sécurité dans les paquets Javascript

Daniel Grek

Chaque jour, le nombre de paquets Javascript augmente. C'est le résultat de l'activité d'une communauté qui, d'une part, demande de nouvelles solutions et, d'autre part, les génère comme une forme d'auto-développement ou de réalisation. Une telle croissance ouvre de nouvelles portes et de nouvelles possibilités, mais elle comporte également des dangers dont chaque développeur doit être conscient.

Fin novembre 2018, la communauté GitHub a signalé une grave vulnérabilité dans le système flux d'événements - qui permet de travailler avec nœud de manière plus efficace. Il était assez populaire, puisque le nombre de téléchargements au cours de cette période spécifique atteignait plus de 2,2 millions par semaine (par rapport à React avec 3,7 millions). Event-stream, ainsi que ses dépendances, dépendaient d'une autre bibliothèque - flatmap-steam, qui a été mis à jour avec un logiciel malveillant de type "crypto-pocket". Il permettait de voler des clés privées et d'autres détails des comptes des utilisateurs sur les machines où le paquet était intégré.

Finalement, flatmap-stream a été supprimé de NPM, ce qui a créé des problèmes temporels avec de nombreuses autres bibliothèques. En mai de la même année, la communauté a trouvé une porte dérobée à l'intérieur de le getcookie qui faisait partie de nombreuses autres dépendances. De tels exemples peuvent être multipliés, ce qui démontre qu'il est important de prêter attention aux dépendances installées dans un fichier projetNon seulement de la part de l'Union européenne, mais aussi de la part de l'Union européenne et de l'Union européenne. Javascript mais aussi dans un contexte général.

S'appuyer sur les solutions officielles et les grandes communautés

Dans la mesure du possible, il est important de s'appuyer sur des solutions officielles dans votre projet. Elles ne sont pas seulement moins vulnérables en raison d'un meilleur processus de développement. Une grande communauté, qui s'accompagne généralement d'une meilleure marque, permet d'identifier les problèmes beaucoup plus rapidement et, ce qui est plus important, de trouver de bonnes solutions.

Utiliser les tendances des MNP

Sécurité JavaScript

Fig. 1 Tendance NPM Webpack.

Graphique

Fig. 2. Tendance de la NPM en matière de flux d'événements.

Parfois, la connaissance de l'état actuel d'un paquet n'est pas représentative de son passé. Un rapide coup d'œil au tableau des tendances de npm peut vous montrer la tendance actuelle d'un paquet. Il ne montrera pas seulement les grands pics, où une vulnérabilité pourrait être trouvée, mais l'état général d'un paquet donné (NOTE : les grands pics sur google trends autour du 24 - 30 décembre représentent la saison des vacances, ce qui n'est pas nécessairement un problème). À titre d'exemple, jetez un coup d'œil à la figure 1, qui représente la tendance des téléchargements de Webpack par semaine. Vous verrez une croissance stable sans aucun point de rupture, ce qui peut suggérer que Webpack est un paquet stable et sûr à utiliser. D'un autre côté, la figure 2 montre une chute importante en novembre, ce qui indique clairement que quelque chose d'anormal a pu se produire au cours de cette période (ce qui est vrai, nous le savons déjà).

Audit de dépendance

La meilleure façon de vérifier l'état de vos dépendances est d'effectuer un audit. Cette commande est maintenant disponible nativement pour yarn et npm, bien qu'elle nécessite leurs dernières versions. Elle envoie une liste de dépendances actuelles à un point de terminaison approprié et renvoie des informations contenant leurs vulnérabilités actuelles et d'autres détails d'utilisation, y compris des références à la documentation. (figure3).

Données intéressantes

Fig. 3. Exemple de résultat de la commande npm audit. Source : https://docs.npmjs.com

La gestion des dépendances en Javascript n'est pas une tâche facile. Le nombre de solutions augmente chaque jour, alors n'oubliez pas de choisir vos dépendances judicieusement et avec soin. Continuez à auditer votre projet en cours et mettez à jour vos paquets régulièrement.

Pour en savoir plus sur les dépendances javascript et comment résoudre certains de leurs problèmes, veuillez consulter cet article.

Source :

  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/

Articles connexes

Développement de logiciels

Construire des applications web à l'épreuve du temps : les conseils de l'équipe d'experts de The Codest

Découvrez comment The Codest excelle dans la création d'applications web évolutives et interactives à l'aide de technologies de pointe, offrant une expérience utilisateur transparente sur toutes les plateformes. Découvrez comment notre expertise favorise la transformation numérique et la...

LE CODEST
Développement de logiciels

Les 10 premières entreprises de développement de logiciels basées en Lettonie

Découvrez les principales sociétés de développement de logiciels en Lettonie et leurs solutions innovantes dans notre dernier article. Découvrez comment ces leaders de la technologie peuvent vous aider à développer votre entreprise.

thecodest
Solutions pour les entreprises et les grandes entreprises

L'essentiel du développement de logiciels Java : Un guide pour une externalisation réussie

Explorez ce guide essentiel sur le développement réussi de logiciels Java outsourcing pour améliorer l'efficacité, accéder à l'expertise et assurer la réussite des projets avec The Codest.

thecodest
Développement de logiciels

Le guide ultime de l'externalisation en Pologne

L'essor de outsourcing en Pologne est dû aux progrès économiques, éducatifs et technologiques, qui favorisent la croissance des technologies de l'information et un climat propice aux entreprises.

TheCodest
Solutions pour les entreprises et les grandes entreprises

Le guide complet des outils et techniques d'audit informatique

Les audits informatiques garantissent la sécurité, l'efficacité et la conformité des systèmes. Pour en savoir plus sur leur importance, lisez l'article complet.

The Codest
Jakub Jakubowicz CTO & Co-Fondateur

Abonnez-vous à notre base de connaissances et restez au courant de l'expertise du secteur des technologies de l'information.

    A propos de nous

    The Codest - Entreprise internationale de développement de logiciels avec des centres technologiques en Pologne.

    Royaume-Uni - Siège

    • Bureau 303B, 182-184 High Street North E6 2JA
      Londres, Angleterre

    Pologne - Les pôles technologiques locaux

    • Parc de bureaux Fabryczna, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varsovie, Pologne

      The Codest

    • Accueil
    • A propos de nous
    • Services
    • Études de cas
    • Savoir comment
    • Carrières
    • Dictionnaire

      Services

    • Conseil consultatif
    • Développement de logiciels
    • Développement backend
    • Développement frontal
    • Staff Augmentation
    • Développeurs backend
    • Ingénieurs en informatique dématérialisée
    • Ingénieurs des données
    • Autres
    • Ingénieurs AQ

      Ressources

    • Faits et mythes concernant la coopération avec un partenaire externe de développement de logiciels
    • Des États-Unis à l'Europe : Pourquoi les startups américaines décident-elles de se délocaliser en Europe ?
    • Comparaison des pôles de développement Tech Offshore : Tech Offshore Europe (Pologne), ASEAN (Philippines), Eurasie (Turquie)
    • Quels sont les principaux défis des CTO et des DSI ?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Conditions d'utilisation du site web

    Copyright © 2025 par The Codest. Tous droits réservés.

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