NDM
Verstehen Sie, was Ihre npm-Pakete tatsächlich tun.
Warum NDM?
Moderne Software ist stark von Open-Source-Paketen abhängig. Da das npm-Ökosystem Millionen von Paketen umfasst, können Entwickler ihren Projekten innerhalb von Sekunden leistungsstarke Funktionen hinzufügen.
Doch jede Abhängigkeit birgt auch ein gewisses Risiko.
Jüngste Angriffe auf die Lieferkette (Supply-Chain-Angriffe) haben gezeigt, wie schnell ein kompromittiertes Paket Tausende von Projekten und Millionen von Nutzern beeinträchtigen kann. In einigen Fällen war Schadcode in ansonsten legitimen Paketen versteckt und wurde während der Installation oder Laufzeit automatisch ausgeführt. Andere Angriffe zielten auf Repositories und CI/CD-Umgebungen ab, um Geheimnisse (Secrets) und Zugangsdaten zu stehlen.
Zu wissen, was ein Paket angeblich tut, reicht nicht immer aus. Man muss auch wissen, was es tatsächlich tut.
Hier setzt NDM an.
Was ist NDM?
NDM (Node Dependency Monitor) ist ein Sicherheitstool zur Analyse von npm-Paketen und deren Verhalten.
Anstatt nur Paket-Metadaten oder den Quellcode zu betrachten, kombiniert NDM verschiedene Analysemethoden, um ein klareres Bild der Funktionsweise eines Pakets zu erhalten.
- Statische Analyse: Untersucht ein Paket, bevor es ausgeführt wird.
- Dynamische Analyse: Beobachtet das Verhalten während der Laufzeit.
- Sandboxing: Isoliert Pakete, damit potenziell schädliches Verhalten sicher analysiert werden kann.
- Verhaltensanalyse: Bewertet Ereignisse wie Dateisystemzugriffe, Netzwerkaktivität, Prozessausführung, Zugriff auf Geheimnisse und Persistenz.
Die Ergebnisse werden in einen verständlichen Bericht umgewandelt, der Entwicklern hilft, verdächtiges Verhalten zu erkennen und fundiertere Entscheidungen über ihre Abhängigkeiten zu treffen.
Warum ist das wichtig?
Das npm-Ökosystem ist riesig, und täglich werden neue Pakete veröffentlicht. Angreifer können sich diesen Umfang zunutze machen – etwa durch schädliche Pakete, Typosquatting, kompromittierte Abhängigkeiten und Supply-Chain-Angriffe.
Jüngste Vorfälle betrafen Hunderte von Paketen und Tausende von Repositories; einige der kompromittierten Pakete verzeichneten dabei Millionen oder sogar Milliarden von Downloads.
NDM wurde entwickelt, um die Analyse dieser Abhängigkeiten zugänglicher und transparenter zu machen.
Vertrauen Sie Ihren Abhängigkeiten nicht blind. Verstehen Sie sie.