NEWS
Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?
Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?
-
@oliverio said in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
Ohne Garantie, aber das skript könnte überflüssig sein,
da npm audit genau das macht, sofern die pakete bei npm in der security datenbank eingetragen ist. Ich gehe davon aus, das es so istnpm audit meldet bei meinem Produktivsystem eine Unmenge von Issues diverser Severities. Für User m.E. unverständlich. Für einen Check im Rahmen des Releases eher zuviel / undurchsichtig.
npm audit --fix aktualisiert munter drauf los. Hab das mal auf einen Adapter in einer Dev Umgebung losgelassen. Ergebnis war zwar dass alle Issues behoben waren ABER es wurde nichts in package.json aktualisisert (da war auch nichts zu tun) sondern nur packages in node_modules und das package-lock.json. Da weder das package-lock noch die node_modules Files zum User gehen war das ne nop Operation.
Bleibt die Möglichkeit dass user selbst mittels npm audit --fix ihr Echtsystem modifizieren. Empfehlen würde ich das nicht - keine Ahnung was da npm einfach so aktualisiert. Solange das nicht 100% klar ist würd ich eindeutig Hände Weg sagen. Sub sub dependencies einfach aktualisieren kann gut gehen - aber garantieren würd ich nicht dass da nichts kaputtverbessert wird.
Persönlich möchte keinen Fehlermeldungen von so einem System nachlaufen

Aber ev. hat da ja schon mal wer mehr Details nachgeforscht. Wir / man kann gerne im Zuge des Releaseverfahrens was checken - nur muss es sinnvoll sein udn für den Dev behebbare Probleme melden. Auf kritische Dinge in sub sub Paketen hat der Dev im Allgemeinen keinen Einfluss ...
npm audit meldet bei meinem Produktivsystem eine Unmenge von Issues diverser Severities. Für User m.E. unverständlich. Für einen Check im Rahmen des Releases eher zuviel / undurchsichtig.
Hmm ....
martin@iobroker-test-sicher:~$ npm audit --verbose npm verbose cli /usr/bin/node /usr/bin/npm npm info using npm@10.9.3 npm info using node@v22.19.0 npm verbose title npm audit npm verbose argv "audit" "--loglevel" "verbose" npm verbose logfile logs-max:10 dir:/home/martin/.npm/_logs/2025-09-17T14_32_02_986Z- npm verbose logfile /home/martin/.npm/_logs/2025-09-17T14_32_02_986Z-debug-0.log npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 941ms found 0 vulnerabilities npm verbose cwd /home/martin npm verbose os Linux 6.8.12-15-pve npm verbose node v22.19.0 npm verbose npm v10.9.3 npm verbose exit 0 npm info ok martin@iobroker-test-sicher:~ -
Und weil wir gerade bei Checks und Audits sind:
Im
iob diaggibt es ja auch einen solchen Test, der bezieht sich aber NUR auf die nodejs-Version und dort bekannte Sicherheitsprobleme. Da wird nicht auf die einzelnen Module geschaut. -
npm audit meldet bei meinem Produktivsystem eine Unmenge von Issues diverser Severities. Für User m.E. unverständlich. Für einen Check im Rahmen des Releases eher zuviel / undurchsichtig.
Hmm ....
martin@iobroker-test-sicher:~$ npm audit --verbose npm verbose cli /usr/bin/node /usr/bin/npm npm info using npm@10.9.3 npm info using node@v22.19.0 npm verbose title npm audit npm verbose argv "audit" "--loglevel" "verbose" npm verbose logfile logs-max:10 dir:/home/martin/.npm/_logs/2025-09-17T14_32_02_986Z- npm verbose logfile /home/martin/.npm/_logs/2025-09-17T14_32_02_986Z-debug-0.log npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 941ms found 0 vulnerabilities npm verbose cwd /home/martin npm verbose os Linux 6.8.12-15-pve npm verbose node v22.19.0 npm verbose npm v10.9.3 npm verbose exit 0 npm info ok martin@iobroker-test-sicher:~@martinp sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
npm verbose cwd /home/martin
Du stehst im falschen Verzeichnis...
Stell dich dahin, wo der ioBroker wohnt, dann wird da auch was ausgespuckt. -
@oliverio Danke!
Ich habe dein Skript laufen lassen und es meldet dass nichts gefunden ist.
npm audit meldet aber einige vulnerabilities, jetzt befürchte ich dass ich mir ein verseuchtes Paket mit einem Update installieren könnte. -
NPM Audit, ausgeführt in /opt/iobroker meldet mir
83 vulnerabilities (17 low, 13 moderate, 46 high, 7 critical)
To address issues that do not require attention, run:
npm audit fixTo address all issues possible (including breaking changes), run:
npm audit fix --forceSome issues need review, and may require choosing
Für einige (ms <2.0.0, nedb *) scheint es (noch) keinen Fix zu geben.
Ich meine irgendwo im Forum gelesen zu haben, das man keinen Fix machen soll.
@albert sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
Ich habe dein Skript laufen lassen und es meldet dass nichts gefunden ist.
npm audit meldet aber einige vulnerabilities, jetzt befürchte ich dass ich mir ein verseuchtes Paket mit einem Update installieren könnte.ja das sieht für die meisten ähnlich aus.
57 vulnerabilities (11 low, 15 moderate, 28 high, 3 critical)primär ist der audit befehl für die entwickler. dann ist das skript doch nicht ganz so schlecht, allerdings zeigt es nur einen teil, nicht aktuellen stand der wahrheit.
die meisten probleme sind nicht wirklich kritisch, da es nicht bedeutet, das problem in funktionen steckt die nicht verwendet werden. behoben werden sollten sie dennoch, aber:
da die verwendeten abhängigkeiten eine baumstruktur abbilden, also packet ist von packet ist von packet abhängig, ist es nicht so einfach das zu beheben. insbesondere benötigt man die mithelfe von den maintainer der anderen packete (diese dann aber auch wieder der maintainer deren verwendeten packete).
für viele probleme gibt es bereits verbesserte packete, allerdings durch die vielfältige verflechtungen muss immer der kleinste gemeinsame nenner genommen werden, so das oft wegen wenigen blockierern das neuere/bessere packet nicht verwendet werden kann.
die selbe problematik hat man auch unter windows (DLL Hölle genannt, kenne ich aber auch noch ähnlich bei PHP) bei python weiß ich nicht, aber bei npm nun auch. das war aber absehbar.
die folgende grafik zeigt das sehr gut

-
@albert sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
Ich habe dein Skript laufen lassen und es meldet dass nichts gefunden ist.
npm audit meldet aber einige vulnerabilities, jetzt befürchte ich dass ich mir ein verseuchtes Paket mit einem Update installieren könnte.ja das sieht für die meisten ähnlich aus.
57 vulnerabilities (11 low, 15 moderate, 28 high, 3 critical)primär ist der audit befehl für die entwickler. dann ist das skript doch nicht ganz so schlecht, allerdings zeigt es nur einen teil, nicht aktuellen stand der wahrheit.
die meisten probleme sind nicht wirklich kritisch, da es nicht bedeutet, das problem in funktionen steckt die nicht verwendet werden. behoben werden sollten sie dennoch, aber:
da die verwendeten abhängigkeiten eine baumstruktur abbilden, also packet ist von packet ist von packet abhängig, ist es nicht so einfach das zu beheben. insbesondere benötigt man die mithelfe von den maintainer der anderen packete (diese dann aber auch wieder der maintainer deren verwendeten packete).
für viele probleme gibt es bereits verbesserte packete, allerdings durch die vielfältige verflechtungen muss immer der kleinste gemeinsame nenner genommen werden, so das oft wegen wenigen blockierern das neuere/bessere packet nicht verwendet werden kann.
die selbe problematik hat man auch unter windows (DLL Hölle genannt, kenne ich aber auch noch ähnlich bei PHP) bei python weiß ich nicht, aber bei npm nun auch. das war aber absehbar.
die folgende grafik zeigt das sehr gut

@oliverio sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
die selbe problematik hat man auch unter windows (DLL Hölle genannt, kenne ich aber auch noch ähnlich bei PHP) bei python weiß ich nicht, aber bei npm nun auch.
Gleiches 'Phänomen' bei Linux Distributionen, da halt statt 'DLL Hölle' die 'Dependency Hell'. Die wird umso größer, je mehr Paketquellen von Dritten und/oder vorherigen Releases da angelegt sind.
-
@thomas-braun sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
Mittlerweile ist die Zahl der infizierten Pakete auf fast 500 angewachsen. Sicherheitsunternehmen raten Entwicklern und Devops-Teams dringend, ihre Entwicklungsumgebungen zu überprüfen und Pakete an als gutartig bekannte Versionen zu "pinnen". Eine umfangreiche Liste mit 477 zwischenzeitlich betroffenen Paketen pflegt das Team von Socket.dev.
Hier ein zum Stand aktualisierte Skripte
https://github.com/oweitman/compromisedPackagesBasis war die Liste von
https://socket.dev/blog/ongoing-supply-chain-attack-targets-crowdstrike-npm-packagesdas problem mit den Zeilenumbrüchen im shell script dürfte behoben sein.
Im readme steht wie man die skripte ausführen kann ohne installation
die powershellversion dauert ein wenig. ich versuche das bei gelegenheit zu optimieren
Moin,
ich war mal so frei das bash-Skript auf die aktuelle Länge der Liste der zu erweitern.
Credits to oweitmanVG
D
-
Moin,
ich war mal so frei das bash-Skript auf die aktuelle Länge der Liste der zu erweitern.
Credits to oweitmanVG
D
@dr-rocktor2 Danke für die Mühe!
@oliverio
Wir haben bis zur Überprüfung den Link zum Skript entfernt.
Das Skript wurde von @dutchman auf Github als PR zum bestehenden Skript angeboten.
Dort kannst du es weiter verfolgen -
@dr-rocktor2 Danke für die Mühe!
@oliverio
Wir haben bis zur Überprüfung den Link zum Skript entfernt.
Das Skript wurde von @dutchman auf Github als PR zum bestehenden Skript angeboten.
Dort kannst du es weiter verfolgen -
Moin,
ich war mal so frei das bash-Skript auf die aktuelle Länge der Liste der zu erweitern.
Credits to oweitmanVG
D
danke für die Aktualisierung
-
@dr-rocktor2 Danke für die Mühe!
@oliverio
Wir haben bis zur Überprüfung den Link zum Skript entfernt.
Das Skript wurde von @dutchman auf Github als PR zum bestehenden Skript angeboten.
Dort kannst du es weiter verfolgen@homoran sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
@dr-rocktor2 Danke für die Mühe!
@oliverio
Wir haben bis zur Überprüfung den Link zum Skript entfernt.
Das Skript wurde von @dutchman auf Github als PR zum bestehenden Skript angeboten.
Dort kannst du es weiter verfolgenGut das ihr nochmal geschrieben habt.
Ich hatte bei github über den PR keine notification.
Ich schaue mal ob man die Paketliste als separate einheitlichen Input für alle beiden Skripte hinbekommt, dann ist man da unabhängig für zukünftige PRs -
so nachdem die KI hart gearbeitet hat (hatte ich schon erwähnt das ich powershell hasse?)
ist nun die paketliste in ein einheitliches format überführt worden.
powershell und bash skripte laden nun diese datei und scannen dann ein im gleichen Verzeichnis befindliches lockfile.https://github.com/oweitman/compromisedPackages
evtl auftretende fehler/probleme bitte hier oder im github melden.
-
so nachdem die KI hart gearbeitet hat (hatte ich schon erwähnt das ich powershell hasse?)
ist nun die paketliste in ein einheitliches format überführt worden.
powershell und bash skripte laden nun diese datei und scannen dann ein im gleichen Verzeichnis befindliches lockfile.https://github.com/oweitman/compromisedPackages
evtl auftretende fehler/probleme bitte hier oder im github melden.
Guten Morgen...
ist den npm mittlerweile wieder sicher was Updates angeht?
-
so nachdem die KI hart gearbeitet hat (hatte ich schon erwähnt das ich powershell hasse?)
ist nun die paketliste in ein einheitliches format überführt worden.
powershell und bash skripte laden nun diese datei und scannen dann ein im gleichen Verzeichnis befindliches lockfile.https://github.com/oweitman/compromisedPackages
evtl auftretende fehler/probleme bitte hier oder im github melden.
@oliverio
Nach dem ich die HW gewechselt und deshalb alles neu aufgesetzt hatte, war mir doch etwas unwohl und wenn ich Deinem Script vertrauen kann, dann fühle ich mich nun wieder sicherer. Vielen Dank für Deine Arbeit.jan@e2:~$ cd /opt/iobroker/ jan@e2:/opt/iobroker$ bash <(curl -fsSL https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised.sh) ⬇️ Downloading compromised package list from: https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised-packages.txt Info: 108 non-comment lines; 108 package(s) parsed. 🔍 Scanning lockfiles in /opt/iobroker (current directory only)... Info: 1 lockfile(s) found. - ./package-lock.json (555143 bytes) [Progress] 100% complete -
Guten Morgen...
ist den npm mittlerweile wieder sicher was Updates angeht?
Die Leute von NPM reagieren Gott sei Dank relativ schnell. Bisher war es immer nur eine kurze Zeit bis die betroffenen Pakete entfernt worden sind.
Eigentlich sollte npm audit reichen.
Da kommen allerdings alle Security Probleme der Pakete raus, dass verunsichert die meisten noch mehr. -
Die Leute von NPM reagieren Gott sei Dank relativ schnell. Bisher war es immer nur eine kurze Zeit bis die betroffenen Pakete entfernt worden sind.
Eigentlich sollte npm audit reichen.
Da kommen allerdings alle Security Probleme der Pakete raus, dass verunsichert die meisten noch mehr.@oliverio sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
Eigentlich sollte npm audit reichen.
Da kommen allerdings alle Security Probleme der Pakete raus, dass verunsichert die meisten noch mehr.Ja, und das heisst was für die UNIX-unbeleckten User?
Was machen wir jetzt genau? Ich bin total unsicher...
Gruss Ralf -
@oliverio sagte in Nach Angriff auf node.js: Sofortmaßnahmen erforderlich?:
Eigentlich sollte npm audit reichen.
Da kommen allerdings alle Security Probleme der Pakete raus, dass verunsichert die meisten noch mehr.Ja, und das heisst was für die UNIX-unbeleckten User?
Was machen wir jetzt genau? Ich bin total unsicher...
Gruss Ralf -
Verwende zu deiner Beruhigung das oben genannte Script. Wenn da nichts gelistet wird kannst du sicher sein, dass keines der zum Zeitpunkt des letzten Script Updates bekannten schädlichen Pakete aus dem hier diskutierten Angriff installiert ist.
@mcm1957
Danke. Ich habe beide Scripte laufen lassen die mir GIT angezeigt hat:pi@iobroker-proxmox:~$ cd /opt/iobroker pi@iobroker-proxmox:/opt/iobroker$ bash <(curl -fsSL https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised.sh) ⬇️ Downloading compromised package list from: https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised-packages.txt Info: 108 non-comment lines; 108 package(s) parsed. 🔍 Scanning lockfiles in /opt/iobroker (current directory only)... Info: 1 lockfile(s) found. - ./package-lock.json (1576118 bytes) [Progress] 100% complete ✅ No compromised packages found in lockfiles. pi@iobroker-proxmox:/opt/iobroker$ bash <(wget -qO- https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised.sh) ⬇️ Downloading compromised package list from: https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised-packages.txt Info: 108 non-comment lines; 108 package(s) parsed. 🔍 Scanning lockfiles in /opt/iobroker (current directory only)... Info: 1 lockfile(s) found. - ./package-lock.json (1576118 bytes) [Progress] 100% complete ✅ No compromised packages found in lockfiles. pi@iobroker-proxmox:/opt/iobroker$Das beruhigt.
Das heisst ich kann jetzt wieder bedenkenlos updaten, richtig?Gruss Ralf
-
@mcm1957
Danke. Ich habe beide Scripte laufen lassen die mir GIT angezeigt hat:pi@iobroker-proxmox:~$ cd /opt/iobroker pi@iobroker-proxmox:/opt/iobroker$ bash <(curl -fsSL https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised.sh) ⬇️ Downloading compromised package list from: https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised-packages.txt Info: 108 non-comment lines; 108 package(s) parsed. 🔍 Scanning lockfiles in /opt/iobroker (current directory only)... Info: 1 lockfile(s) found. - ./package-lock.json (1576118 bytes) [Progress] 100% complete ✅ No compromised packages found in lockfiles. pi@iobroker-proxmox:/opt/iobroker$ bash <(wget -qO- https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised.sh) ⬇️ Downloading compromised package list from: https://raw.githubusercontent.com/oweitman/compromisedPackages/main/compromised-packages.txt Info: 108 non-comment lines; 108 package(s) parsed. 🔍 Scanning lockfiles in /opt/iobroker (current directory only)... Info: 1 lockfile(s) found. - ./package-lock.json (1576118 bytes) [Progress] 100% complete ✅ No compromised packages found in lockfiles. pi@iobroker-proxmox:/opt/iobroker$Das beruhigt.
Das heisst ich kann jetzt wieder bedenkenlos updaten, richtig?Gruss Ralf
Was diesen Angriff betrifft würde ich sagen ja.
Aber welche Bösewichter heute oder morgen wieder ihr Unwesen trieben wird die niemand sagen können.100% sicher bist du nur ohne Internet, ohne Strom, ohne Funk - und das nur gegen Gefahren aus dem Internet....

Persönlich schlaf ich wegen Viren und Würmern schon lange nicht mehr schlecht. Im Gegenteil - vereinzelte Phisingmails amüsieren mich eher, z.b. letzens eine die explizit mitgeteilt hat dass mir im Falle eines Ansprechens des Virenscanners keine Gedanken machen soll, die Mail stammt gerantiert aus eine unseriösen Quelle

-
Was diesen Angriff betrifft würde ich sagen ja.
Aber welche Bösewichter heute oder morgen wieder ihr Unwesen trieben wird die niemand sagen können.100% sicher bist du nur ohne Internet, ohne Strom, ohne Funk - und das nur gegen Gefahren aus dem Internet....

Persönlich schlaf ich wegen Viren und Würmern schon lange nicht mehr schlecht. Im Gegenteil - vereinzelte Phisingmails amüsieren mich eher, z.b. letzens eine die explizit mitgeteilt hat dass mir im Falle eines Ansprechens des Virenscanners keine Gedanken machen soll, die Mail stammt gerantiert aus eine unseriösen Quelle

@mcm1957
Ich versuche auch bei Mails vorsichtig zu sein.
Bei NPM hatte ich aber Bedenken weil ich ja nicht steuern kann was das Tool genau macht. Aber verwenden muss ich es ja.
Zu Thema Scammer usw.:
Sehr genialer Youtube Kanal wenn es noch Keiner kennt: "Scammer Payback"
Das sind Hacker die absichtlich Betrüger aufdecken und blosstellen, bzw. auch deren Daten kapern und an die Behörden liefern. Sehr amüsant.
Gruss Ralf