6 Punkte von GN⁺ 2024-08-09 | 1 Kommentare | Auf WhatsApp teilen

Das große Problem mit Spam-Paketen bei npm

  • Das Forschungsteam von Phylum hat festgestellt, dass Spam-Pakete im Zusammenhang mit dem Tea-Protokoll auf npm stark zunehmen
  • Das Tea-Protokoll ist ein System, das Beiträge zu Open Source mit Kryptowährungen belohnt, und schafft damit Anreize für Entwickler, ihre Beiträge zu übertreiben
  • Es wird geschätzt, dass im 2. Quartal 2024 etwa 25 % der auf npm veröffentlichten Pakete Spam-Pakete im Zusammenhang mit dem Tea-Protokoll waren

Kurze Zusammenfassung

  • Das Tea-Protokoll verwendet einen Algorithmus, der Entwickler dazu anreizt, ihre Beiträge zu übertreiben
  • npm leidet durch diese Spam-Pakete unter erheblicher Verunreinigung
  • Kennzeichen dieser Spam-Pakete sind zufällig generierte Paketnamen, verdächtige Abhängigkeitslisten und eine Datei tea.yaml

Eine neue Perspektive

  • Seit Anfang 2024 ist die Zahl der auf npm veröffentlichten Pakete sprunghaft angestiegen
  • Am 8. April 2024 wurden an einem einzigen Tag mehr als 48.000 Pakete veröffentlicht
  • Im Verlauf von Q2 wurden schätzungsweise 21,25 % bis 25,5 % der veröffentlichten npm-Pakete als Spam-Pakete eingestuft
  • Betrachtet man nur neue Pakete, steigt der Anteil der Spam-Pakete auf 68,66 % bis 74,67 %

Besteht eine Bedrohung?

  • Bisher gibt es keine Hinweise darauf, dass diese Spam-Pakete bösartige Angriffe enthalten
  • Dieser Spam verschmutzt jedoch das Open-Source-Ökosystem und kann die Trainingsdaten von AI-Modellen verzerren
  • Außerdem schafft er ein Umfeld, in dem sich tatsächlich schädliche Pakete verbergen können

Aus der Perspektive des Gegners denken

  • Am Beispiel des Pakets sournoise zeigt die npm-Website an, dass dieses Paket von axios abhängt, tatsächlich hängt es jedoch von einem Spam-Paket ab
  • Das ist ein Nebeneffekt der Art und Weise, wie npm Abhängigkeiten verarbeitet und Nutzern anzeigt
  • Durch transitive Abhängigkeiten können Pakete einbezogen werden, die Entwickler weder wollen noch erwarten

Fazit

  • Die Verunreinigung des Open-Source-Software-Ökosystems ist ein Problem für alle
  • Das Tea-Protokoll-Projekt ergreift Maßnahmen, um dieses Problem zu lösen
  • npm entfernt ebenfalls einige Spam-Pakete, kann mit der Geschwindigkeit neuer Veröffentlichungen jedoch nicht Schritt halten
  • Das Problem ist nicht auf npm beschränkt; auch bei Rubygems wurden ähnliche Spam-Pakete entdeckt
  • Phylum untersucht diesen Bereich intensiv und wird nach neuen Methoden suchen, um diesen Spam zu erkennen, während die Akteure ihre Taktiken anpassen

Zusammenfassung von GN⁺

  • Das Belohnungssystem des Tea-Protokolls schafft Anreize für Entwickler, ihre Beiträge zu übertreiben
  • Die Absicht des Projekts zur Nachhaltigkeit von Open Source mag gut gewesen sein, doch die daraus entstehenden Nebenwirkungen und Missbrauchsfälle scheinen übersehen worden zu sein. Eine sorgfältige Gestaltung der Beitragsmessung und des Belohnungssystems sowie kontinuierliches Monitoring erscheinen notwendig
  • Diese massenhafte Flut von Spam-Paketen bedroht nicht nur die Sicherheit einzelner Pakete, sondern auch die Zuverlässigkeit und Gesundheit des gesamten Open-Source-Ökosystems. Für eine grundlegende Lösung dürfte ein Ökosystem-weiter Ansatz mit Zusammenarbeit erforderlich sein
  • Besonders besorgniserregend ist, dass bei der Nutzung als Trainingsdaten für AI-Modelle Verzerrungen entstehen können. Richtlinien für Datenqualitätsmanagement und Validierung scheinen dringend notwendig
  • Die Möglichkeit unerwarteter Paketinstallationen über transitive Abhängigkeiten ist mehr als ausreichend, um Entwickler zu alarmieren. Das deutet darauf hin, dass neben automatisierten Tools für das Abhängigkeitsmanagement auch die Aufmerksamkeit und Prüfung durch Entwickler bei der Paketauswahl weiterhin wichtig bleiben
  • Langfristig könnte es nötig sein, transparentere und besser überprüfbare Alternativen wie blockchainbasierte Paket-Registries oder Reputationssysteme in Betracht zu ziehen

1 Kommentare

 
GN⁺ 2024-08-09
Hacker-News-Kommentare
  • Die Art und Weise, wie npm Paketabhängigkeiten verarbeitet, ist problematisch

    • Wenn in package.json nur ein Schlüssel vorhanden ist, wird er unabhängig vom tatsächlichen Paket als Abhängigkeit betrachtet
    • Das macht das Abhängigkeits-Ökosystem anfälliger
  • Es ist notwendig, alle Pakete zu entfernen, die tea.yaml verwenden

    • Das Tea-Protokoll verleitet zu bösartigem Verhalten
    • Es beschädigt das System
  • Spam-Accounts sollten dauerhaft gesperrt und entfernt werden

    • Zum Beispiel gibt es einen Account mit 1781 bedeutungslosen Paketen
    • Das Meldeverfahren ist kompliziert und umständlich
  • KI-Modelle könnten durch Spam-Pakete verzerrt werden

    • Hier gilt das Prinzip „garbage in, garbage out“
  • Das Anreizmodell des Tea-Protokolls ist problematisch

    • Es verleitet Entwickler dazu, Spam auf npm hochzuladen
    • Es schädigt das Ökosystem
  • Zusammenfassung:

    • Ein krypto-basiertes Finanzierungskonzept für die OSS-Entwicklung fördert Spam
    • Über package.json lässt sich leicht über Abhängigkeiten täuschen
  • Das Ziel des Tea-Protokolls ist es, die Wirtschaft rund um Open-Source-Software zu stärken

    • Das Anreizmodell ist jedoch falsch gestaltet und fördert Spam
    • Hier greifen der „Kobra-Effekt“ und Goodharts Gesetz
  • Es gibt Fälle, in denen populäre Projekte kopiert und mit zufälligen lateinischen Namen auf npm veröffentlicht werden

    • Es wurden Hunderte Spam-Meldungen eingereicht
  • Es gab ein Tea ähnliches Projekt

    • Bis das Projekt scheiterte und die Finanzierung aufgebraucht war, erhielt man jeden Monat kleine Bitcoin-Beträge
  • Paketmanager verfügen über ein Bewertungssystem

    • Es ist unwahrscheinlich, dass Spam-Pakete KI beeinflussen
    • Vertrauenswürdige Unternehmen verwenden keine Spam-Pakete