window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = Fenster if (w.LeadBooster) { console.warn('LeadBooster existiert bereits') } 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 }) }, } } })() Sicherheit in Javascript-Paketen - The Codest
Der Codest
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Branchen
    • Fintech & Bankwesen
    • E-commerce
    • Adtech
    • Gesundheitstechnik
    • Herstellung
    • Logistik
    • Automobilindustrie
    • IOT
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
Pfeil zurück ZURÜCK
2019-03-26
Software-Entwicklung

Sicherheit in Javascript-Paketen

Daniel Grek

Jeden Tag wächst die Zahl der Javascript-Pakete. Sie ist das Ergebnis der Aktivität einer Gemeinschaft, die einerseits neue Lösungen fordert, andererseits diese als eine Form der Selbstentwicklung oder -verwirklichung erzeugt. Ein solch großes Wachstum öffnet neue Türen und Möglichkeiten, bringt aber auch Gefahren mit sich, derer sich jeder Entwickler bewusst sein muss.

Ende November 2018 berichtete die GitHub-Community über eine schwerwiegende Sicherheitslücke in Event-Stream - Paket, das die Arbeit mit Knoten Veranstaltungen effizienter zu gestalten. Es war ziemlich beliebt, da die Anzahl der Downloads in diesem Zeitraum über 2,2 Millionen pro Woche betrug (im Vergleich zu React mit 3,7 Millionen). Event-stream sowie seine Abhängigkeiten waren von einer anderen Bibliothek abhängig - flatmap-steam, die zufällig mit einer Crypto-Pocket-Malware aktualisiert worden war. Sie ermöglichte den Diebstahl privater Schlüssel und anderer Details aus den Konten der Nutzer auf den Rechnern, auf denen das Paket gebündelt war.

Schließlich wurde flatmap-stream aus NPM entfernt, was zu zeitlichen Problemen mit vielen anderen Bibliotheken führte. Im Mai desselben Jahres fand die Gemeinschaft eine Hintertür in das getcookie Paket, das auch Teil vieler anderer Abhängigkeiten war. Solche Beispiele können vervielfacht werden, was zeigt, dass es wichtig ist, auf die Abhängigkeiten zu achten, die in einer Projektnicht nur aus dem Javascript Perspektive, sondern auch in einem allgemeinen Kontext.

Verlassen Sie sich auf offizielle Lösungen und große Gemeinschaften

Es ist wichtig, dass Sie sich bei Ihrem Projekt so weit wie möglich auf offizielle Lösungen verlassen. Sie sind nicht nur wegen eines besseren Entwicklungsprozesses weniger anfällig. Eine große Gemeinschaft, die in der Regel mit einer besseren Marke einhergeht, hilft, Probleme viel schneller zu erkennen und - was noch wichtiger ist - gute Lösungen zu finden.

NPM-Trends nutzen

Sicherheit JavaScript

Abb. 1 Webpack NPM Trend.

Tabelle

Abb. 2. Ereignisgesteuerter NPM-Trend.

Manchmal repräsentiert das Wissen über den aktuellen Zustand eines Pakets nicht unbedingt seine Vergangenheit. Ein kurzer Blick auf das npm-Trends-Diagramm kann Ihnen einen aktuellen Paket-Trend zeigen. Es zeigt nicht nur große Spitzen, in denen eine Schwachstelle gefunden werden könnte, sondern auch den allgemeinen Zustand eines bestimmten Pakets (HINWEIS: große Spitzen bei Google Trends in der Nähe des 24. bis 30. Dezembers stehen für die Weihnachtszeit, was nicht unbedingt ein Problem darstellt). Schauen Sie sich zum Beispiel Abbildung 1 an, die den Trend der Webpack-Downloads pro Woche darstellt. Sie werden ein stabiles Wachstum ohne Einbrüche sehen, was darauf schließen lässt, dass Webpack ein stabiles und sicheres Paket ist, das man verwenden kann. Auf der anderen Seite finden Sie in Abbildung 2 einen starken Rückgang im November, was ein klares Signal dafür ist, dass in diesem Zeitraum etwas falsch gelaufen sein könnte (was, wie wir bereits wissen, wahr ist).

Prüfung von Abhängigkeiten

Der beste und zuverlässigste Weg, den Status Ihrer Abhängigkeiten zu überprüfen, ist die Durchführung einer Prüfung. Dieser Befehl ist jetzt nativ sowohl für yarn als auch für npm verfügbar, obwohl er deren neueste Versionen benötigt. Er sendet eine Liste aktueller Abhängigkeiten an einen geeigneten Endpunkt und gibt Informationen über deren aktuelle Sicherheitslücken und andere Details zur Verwendung zurück, einschließlich Verweisen auf die Dokumentation. (Abbildung3).

Interessante Daten

Abb. 3. Beispiel für das Ergebnis des Befehls npm audit. Quelle: https://docs.npmjs.com

Die Verwaltung von Abhängigkeiten in Javascript ist keine leichte Aufgabe. Die Zahl der Lösungen wächst täglich, deshalb sollten Sie Ihre Abhängigkeiten mit Bedacht und Sorgfalt auswählen. Überprüfen Sie Ihr aktuelles Projekt und aktualisieren Sie Ihre Pakete regelmäßig.

Erfahren Sie mehr über Javascript-Abhängigkeiten und wie Sie einige ihrer Probleme lösen können, lesen Sie bitte diesen Artikel.

Quelle:

  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/

Ähnliche Artikel

Software-Entwicklung

Zukunftssichere Web-Apps bauen: Einblicke vom The Codest-Expertenteam

Entdecken Sie, wie sich The Codest bei der Erstellung skalierbarer, interaktiver Webanwendungen mit Spitzentechnologien auszeichnet, die nahtlose Benutzererfahrungen auf allen Plattformen bieten. Erfahren Sie, wie unsere Expertise die digitale Transformation und...

DAS SCHÖNSTE
Software-Entwicklung

Top 10 Softwareentwicklungsunternehmen in Lettland

Erfahren Sie in unserem neuesten Artikel mehr über die besten Softwareentwicklungsunternehmen Lettlands und ihre innovativen Lösungen. Entdecken Sie, wie diese Technologieführer Ihr Unternehmen voranbringen können.

thecodest
Enterprise & Scaleups Lösungen

Grundlagen der Java-Softwareentwicklung: Ein Leitfaden für erfolgreiches Outsourcing

Entdecken Sie diesen wichtigen Leitfaden zum erfolgreichen Outsourcing der Java-Softwareentwicklung, um die Effizienz zu steigern, auf Fachwissen zuzugreifen und den Projekterfolg mit The Codest voranzutreiben.

thecodest
Software-Entwicklung

Der ultimative Leitfaden für Outsourcing in Polen

Der Anstieg des Outsourcings in Polen wird durch wirtschaftliche, bildungspolitische und technologische Fortschritte angetrieben, die das IT-Wachstum und ein unternehmensfreundliches Klima fördern.

TheCodest
Enterprise & Scaleups Lösungen

Der vollständige Leitfaden für IT-Audit-Tools und -Techniken

IT-Audits gewährleisten sichere, effiziente und gesetzeskonforme Systeme. Erfahren Sie mehr über ihre Bedeutung, indem Sie den vollständigen Artikel lesen.

Der Codest
Jakub Jakubowicz CTO & Mitbegründer

Abonnieren Sie unsere Wissensdatenbank und bleiben Sie auf dem Laufenden über das Fachwissen aus dem IT-Sektor.

    Über uns

    The Codest - Internationales Software-Unternehmen mit technischen Zentren in Polen.

    Vereinigtes Königreich - Hauptsitz

    • Büro 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale Tech-Hubs

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Der Codest

    • Startseite
    • Über uns
    • Dienstleistungen
    • Fallstudien
    • Gewusst wie
    • Karriere
    • Wörterbuch

      Dienstleistungen

    • IT-Beratung
    • Software-Entwicklung
    • Backend-Softwareentwicklung
    • Frontend-Softwareentwicklung
    • Staff Augmentation
    • Backend-Entwickler
    • Cloud-Ingenieure
    • Daten-Ingenieure
    • Andere
    • QS-Ingenieure

      Ressourcen

    • Fakten und Mythen über die Zusammenarbeit mit einem externen Softwareentwicklungspartner
    • Aus den USA nach Europa: Warum entscheiden sich amerikanische Start-ups für eine Verlagerung nach Europa?
    • Tech Offshore Development Hubs im Vergleich: Tech Offshore Europa (Polen), ASEAN (Philippinen), Eurasien (Türkei)
    • Was sind die größten Herausforderungen für CTOs und CIOs?
    • Der Codest
    • Der Codest
    • Der Codest
    • Privacy policy
    • Website terms of use

    Urheberrecht © 2025 von The Codest. Alle Rechte vorbehalten.

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