Bester Sonntagsspam

17.07.2022 20:11
ca. eine Minute Lesezeit

Frage: Wie schlecht wollen Sie Ihren Spam?
Spammer: Ja!

Was erheitert einen mehr an einem Sonntagabend?

Hugo und seine Shortcodes machen mich irre

17.07.2022 12:48
ca. eine Minute Lesezeit

Die Menschen, die diesen Beitrag lesen, haben wahrscheinlich den Feed abonniert und in den letzten Tagen echt eine Krise bekommen, weil ständig Artikel als “neu” oder “bearbeitet” angezeigt wurden.

Erstmal ein dickes Sorry von mir und danke, dass ihr trotzdem noch den Feed abonniert.

Der Grund war ein kleiner Umbau im Hintergrund. Ich habe neulich jegliches JavaScript von meiner Seite entfernt, nachdem ich ja schon vor Jahren die Cookies entfernt habe. Dafür musste ich die Tags in den Shortcodes umbauen, damit ein entsprechender Klick auf die Bilder die passende große Version anzeigt.
Im Feed widerum soll das zweite notwendige Image allerdings nicht ausgeliefert werden.

Wie also liefer ich unterschiedliches HTML bei unterschiedlichen Format aus? Die Doku ist da wenig hilfreich:

Bis ich dann nach diversen Tests rausgefunden habe, dass Hugo einfach random ignoriert, dass mein Shortcode sein bereits eingebautes Figure-Shortcode überschreibt, nimmt es auch einfach random ein passendes Template, wenn man es, wie ich es getan habe fig.rss.html und fig.html.html benennt. Denn so macht man dies nämlich für unterschiedliche OutputFormats. Theoretisch. Denn nein, völlig undokumentiert ist das Format fig.html und fig.xml - oder, je nach Belieben: fig.html.html und fig.rss.xml.

Zum Glück ist der Code in der Hinsicht einfach die beste Doku.

Aussagekräftige Fehlermeldung

14.07.2022 21:58
ca. eine Minute Lesezeit

Hier Internet, ihr wisst doch sonst immer alles. Welches Gerät meint Windows hier? Ich bin überfragt.

Behörden, die Lieder verbieten, denken auch...

14.07.2022 21:02
ca. eine Minute Lesezeit

… dass Wolfenstein 3D und Doom auf den Index gehören, weil die Spieler ja direkt zu Amokläufern werden
… dass eine Chat-Überwachung auch nur ansatzweise durchgesetzt werden kann und Kindesmissbrauch dadurch verhindert wird
… dass ein Leistungsschutzrecht das sterbende Geschäft der Verlage retten kann
… eine künstliche Intelligenz Satire erkennen kann und der Uploadfilter dann nicht greift
… das 9-Euro-Ticket dauerhaft nicht leistbar ist, aber locker doppelt so viel für Kfz-Förderung pro Jahr ausgibt

Wo genau sind wir eigentlich falsch abgebogen in der Zeitlinie? Ich schätze so um das Jahr 2000. Vor Christus.

Update 1 vom 14.07.22 21:10: Ja, ich weiß, dass das Lied »Layla« nicht von Behörden verboten wurde. Habe ich im Übrigen hier auch nie geschrieben. Es wurden aber bereits andere Lieder und Alben verboten, u.a. von der Band »Die Ärzte«. Es ist also kein neues Thema.

Dezentrale Infrastruktur ist toll

14.07.2022 12:24
ca. eine Minute Lesezeit

Wieder einmal ist Twitter down.

Wieder einmal zeigt sich, wie dumm zentrale Infrastruktur ist.
Wieder einmal mag ich das Fediverse und meine eigene Mastodon-Instanz.

Wie verblendet müssen Menschen sein, die das partout nicht verstehen, dass dieses “Aber Twitter/Facebook/Instagram/Tiktok sind so viel besser!” komplett bescheuert ist?

EU vs. Messenger - ich lache hart

09.07.2022 07:53
ca. 4 Minuten Lesezeit

Der aktuelle Entwurf der EU zum Digital Markets Act sorgt derzeit für Zündstoff bei den Messenger-Entwicklern.

Das Gejammer in Kurzform: “Unsere Verschlüsselung ist die Beste und wenn wir interagieren müssen, ist die Sicherheit der User in Gefahr.”

Was sie eigentlich sagen wollen:

»Wir haben keine Ahnung, wie dezentrales Messaging funktioniert«

Signals Server ist zwar Open Source, aber kommunizieren können sie nicht miteinander. Bei den anderen Closed-Source-Produkten: schweres Schulterzucken. Dezentralität ist aber wichtig. Immer wieder fallen Messaging-Dienste aus, wenn wir aber eine sinnvolle verteilte Struktur haben, wo sich jeder eigene Server aufsetzen kann, nur dann ist uns egal, wenn ein Admin da draußen mal wieder Mist macht.

Dafür braucht man allerdings ein bisschen Infrastruktur, um eventuelle Ausfälle da draußen auszugleichen.

XMPP und Matrix haben das bereits hinbekommen. Schon Google Talk mit XMPP im Untergrund konnte all dies schon vor Urzeiten. Kein anderer Messenger wollte damals mitmachen und Google hat Talk eingestellt, weil niemand bei der Erweiterung des Standards mitmachen wollte.

»Aber dann fallen Metadaten an!«

Signals Hauptargument ist ja, dass bei ihrem Dienst keine Metadaten anfallen; das ist aber nur möglich, weil man zentral arbeitet. Den anderen Anbietern ist es ziemlich egal. Hier widerum würde ich sagen: hier hilft Dezentralität erneut. Ein Instanz-Betreiber könnte z.B. die Daten einfach nicht speichern.

Jetzt kommen die Signal-User an und pöbeln: “Aber warum müssen überhaupt Daten anfallen?” Nunja, bei einer Server-to-Server-Kommunikation muss man eben erstmal rausfinden, wo sein Gegenüber ist. Auch ein Signal weiß dann, welchen User auf welcher Instanz und womöglich mit welchem Protokoll diese Nachricht dann übertragen werden muss. Aber es wissen nur der sendende und empfangende Server von dieser Kommunikation. Alle anderen Server nicht. So funktioniert übrigens E-Mail (SMTP) schon seit 42 Jahren. Da beschwert sich niemand über Metadaten.

Und warum nicht? Weil es wie immer um Vertrauen geht. Darum ging es eh schon immer. Die Menschen wählen ihren E-Mail-Provider auch nach Vertrauen (oder der Nerd des Vertrauens empfiehlt etwas, aber auch hier ist “Vertrauen” das Stichwort).

»Aber das bricht die Verschlüsselung auf!«

Nö, es bricht DEINE Unzulänglichkeit auf. Die Unzulänglichkeit miteinander zu kommunizieren. Es gibt Standards für Ende-zu-Ende-Verschlüsselung. Wenn es doch jetzt nur eine Möglichkeit gäbe, einen gemeinsamen Standard zu entwickeln, bei dem ein User sogar Zugriff auf seinen eigenen Private Key bekommt, sodass nur dieser User die Möglichkeit hat, die Verschlüsselung zu kontrollieren. Aber das weicht halt die Geschäftsidee der Betreiber auf! Mimimi!

Ich stelle mir vor wie es heute wäre, wenn sich Webserver- und Browser-Entwickler nicht auf Standards geeinigt hätten. Das Internet sähe komplett anders aus. Bei Messaging wieder nur: wildes Schulterzucken auf allen Seiten.

»Aber die User wollen das gar nicht!«

Es ist immer wieder lustig, wie Propaganda bei Menschen funktioniert. Man redet ihnen einfach oft genug ein, dass nur der aktuelle Messenger der beste, sicherste und einzig wahre Messenger ist und schon glaubt es der gemeine Endnutzer. Einfach auch, weil ihnen niemand erzählt, wie toll es sonst sein könnte.

Am Ende wollen Menschen bloß mit anderen Menschen kommunizieren, ohne groß über Barrieren nachzudenken. Statt diese Barrieren allerdings einzureißen, redet man künstlich über nicht existente oder selbst verschuldete Barrieren und sperrt den User im eigenen Ökosystem ein. Dank des Stockholm-Syndroms fühlt sich die Reibung zwischen den Systemen für den Benutzer wie Nestwärme an.

»Aber dann sind wir nur so stark wie das schwächste Glied in der Kette!«

Ausrede! Stellt euch vor, Webserver würden heute noch nur SSLv3 unterstützen. Tja, dann kann halt kein aktiv gepflegter Browser auf die Website zugreifen.
Ein Endnutzer erwartet vom genutzten System, dass es die größtmögliche Sicherheit und bestmöglichen Datenschutz bietet. Wenn etwas dies nicht tut, “regelt der Markt”, wie man so schön sagt. Sobald alle Messenger miteinander kompatibel sind und ein einzelner dies nicht mehr kann, merken die User ganz schnell, dass ein Wechsel sinnvoll ist. Oder würdet ihr für den Besuch einer jeden Website einen separaten Browser installieren wollen?


Die Jungs von Matrix haben dazu einen ausführlicheren Artikel geschrieben.
Und wer jetzt kommt mit: “Mimimi, Matrix wird bezahlt von einem Milliardär und die Metadaten werden alle an eine total schlimme Firma geschickt”, dem sei gesagt, dass ihr euch gerne mal die unterschiedlichen Implementationen anschauen könnt. Es gibt zu deren Protokoll auch andere Entwickler, die entsprechende Server und Clients bauen. Aber davon wollt ihr natürlich nichts wissen - das würde eurem Narrativ schaden.

Update 1 vom 09.07.22 10:00: Ich hab ja ganz vergessen zu erwähnen, dass der EU-Vorschlag vorsieht, dass man sogenannte Gatekeeper dazwischen setzen will, die dann die Interoperabilität herstellen sollen. Kompletter Bullshit. Die Dienste können das einfach von sich aus, sobald sie sich endlich auf einen technischen Standard einigen.

Was für eine Woche

08.07.2022 23:43
ca. 3 Minuten Lesezeit
Read in English

Diese Woche war echt anstrengend, sag ich euch!

Montag und Dienstag in London. Direkt mal 23.500 Schritte am Montag, als ich mit dem Kollegen durch die Stadt lief.
Ich hatte ja ein wenig Angst, gar nicht hinzukommen, da die Nachrichten ja voll waren mit Flughafen-Meldungen, die nicht viel Mut machten. Man soll zwei bis zweieinhalb Stunden vorher am Flughafen sein, damit man überhaupt seinen Flug bekommt. Nun ja, ich war nach 9 (neun!) Minuten mit allem durch und durfte dann noch schöne 3 Stunden am Flughafen verbringen. Yeah!

Bei der Fahrt vom Flughafen Gatwick in die Londoner City ist mir aufgefallen, dass die Bahn dort ein paar Dinge richtiger macht, als wir in Deutschland:

  • bist du nicht drin im Zug, ist es den Mitarbeitern erst mal egal – der Zug fährt ab, da in circa 15 Minuten ohnehin der nächste Regionalzug kommt
  • die Strecke ist 4-gleisig angelegt – die beiden äußeren Gleise für die langsamen Bahnen, die an jeder Milchkanne halten; die beiden mittleren Gleise für die schnelleren Züge
  • in den Zügen werden die Kameras genutzt, um eine Füllstandanzeige für jeden einzelnen Wagen zu generieren; übervorsichtige Aluhutträger in Deutschland werden direkt zu Energieproduzenten durch eine gewisse unendliche Rotation, die sie nur bei diesem Gedanken an den Tag legen

Was ich enorm negativ fand: Corona existiert dort nicht. Wir stiegen mit aufgesetzter Maske aus dem Zug in London und eine Gruppe junger Männer lachte uns mit Fingerzeig aus.
Ansonsten ist und bleibt die Stadt eigentlich ganz cool, trotz Brexit. Die Historie dieser bemerkenswerten Stadt spürt man jedes Mal wieder. Hach!

Unser Termin am Dienstag fand in einem Londoner WeWork statt, welches direkt gegenüber dem London Tower ist. Was ist das bitte für eine unfassbar geile Location?

Alles in allem ein toller Trip, die Stadt voll wie eh und je und ich muss sagen, dass ich es wirklich großartig finde, dass die Metropole eine City-Maut hat, die auch wirklich was bringt. Ich habe tagsüber eigentlich zu 99 % nur Firmenfahrzeuge und öffentliche Verkehrsmittel gesehen. Nur wenige vierrädrige Fahrzeuge waren privater Natur. Davon könnten deutsche Städte doch noch einiges lernen.

Der Rest der Woche war geprägt von der Tatsache, dass wir einen Landtag in Deutschland bei Livestreams ihrer Plenarsitzungen unterstützt haben. Das war sehr viel Politik auf einmal. Da platzt dir wirklich der Schädel, ich sag’s euch! Danach waren dann auch direkt 11 Stunden Schlaf am Stück nötig.

Ach ja, falls ihr euch fragt, ob ich mich denn wenigstens in London angesteckt habe? Test sagt nein. Nice!

Passwort-Pflege im Nachhinein ist anstrengend

03.04.2022 21:26
ca. 5 Minuten Lesezeit

Ihr kennt das Dauerbrenner-Thema: „Passwörter“. Da gibt es verschiedene Arten Anwender und wie sie es mit Passworten so handhaben:

Ein Passwort für alles

Es ist der schlimmste User, den man sich vorstellen kann. Ein Standard-Passwort für alles, sei es das E-Mail-Postfach, Online-Banking (wahlweise dort mit dem Geburtsdatum als Log-in-Pin) oder in jedem Online-Shop. Hauptsache man kann es so schnell wie möglich tippen, egal ob auf dem Handy oder der Computer-Tastatur. Und jeder im Freundeskreis kennt das Passwort, weil es natürlich auch das geteilte Netflix-Konto-Passwort ist.
An der Stelle sollte eigentlich erst das WLAN-Kennwort statt Netflix-Konto-Passwort stehen, aber dieser User ändert sein vom Provider vorgegebenen Wifi-Schlüssel erst gar nicht.

Heißt aber auch: fällt dieses Passwort von einer Billo-Website runter, kann sich ein Angreifer bei jeder anderen Website, wo dieser User registriert ist, easy einloggen.

„Warum sollte ich da ein Problem haben?“ Fragt gerne mal den Steam-Support (das sind die, die wahrscheinlich einen Großteil eurer Spiele und damit auch Zugänge zu selbigen verwalten). Wie oft ich inzwischen von Menschen gehört habe, dass ihr E-Mail-Accounts gehacked und dadurch andere Accounts übernommen worden sind, obwohl sie nur überall dasselbe Passwort verwendet haben. Nein, das war kein Hack, das ist einfach eure eigene Dummheit und durch diese Dummheit konnte man ganz simpel ausnutzen!

Drei verschiedene Passwörter

„Ich will ja sicher sein, deshalb habe ich 3 verschieden Passwörter“. Brüller! Je nach angefragter Sicherheit der Website („dieses Passwort benötigt noch ein Sonderzeichen“), wird das passende Kennwort verwendet. Und beim Log-in werden dann alle drei Varianten einfach durchprobiert.

Das „Hacking-Problem“ wie beim Ein-Passwort-für-alles-Nutzer wird hier verkleinert, aber die Chance ist trotzdem noch 1 zu 3.

Drei verschiedene Passwörter in einer Excel-Datei

„Ich kann mir nicht merken, welches Passwort ich wo benutzt habe, deshalb habe ich eine Excel-Datei auf dem Desktop liegen, in der alle Passwörter den Webseiten zugeordnet sind.“ 🙄
Hierzu muss man eigentlich nichts mehr sagen. Hier ist am Ende auch egal, wie viele verschiedene Kennwörter es sind, die Excel-Datei ist hier eigentlich noch die größte Unsicherheit.

Die Hacking-Chance ist keineswegs gesunken zum vorherigen User-Typ.

Schema-Passwörter

Dieser User hält sich für besonders schlau, ist es aber nicht. Dieses Schema besteht dann gerne aus dem Namen des ersten Haustiers, dem Namen der Seite und einer Zahl, die man mehr oder weniger sich selbst zuweisen kann. Also so etwas wie „WuffiOttoVersand2022“. Das hat ungefähr die Sicherheit wie bei den Ein-Passwort-für-alles-Usern. Hat man das Schema herausgefunden, kommt man easy in alles rein.

Passwort-Manager mit generierten Passwörtern und sicherem Master-Passwort

Das hier ist der natürlich genau das, was jeder User haben sollte: auf jeder Website ein anderes, von einem Computer generiertes, Passwort mit einer Mindestlänge, Sonderzeichen und wenn möglich: nicht so einfach tippbar. Der Benutzer kommt am besten weiter, wenn er seine Passwörter gar nicht kennt und sie einfach nur aus dem Passwort-Manager kopiert und im passenden Log-in einfügt. Wenn der Passwort-Manager dann richtig gut ist, löscht er das Passwort nach einer einstellbaren Zeit auch wieder aus der Zwischenablage, damit man es nicht versehentlich woanders einfügt und abschickt, wie in Chats.

Soweit zum Vorwort. Nein, Scherz.

Ich bin eigentlich seit langer Zeit ein Fan von letzterer Variante. Erst mit KeePass (heute eher KeepassXC) als Software, aber die war mir immer zu lokal. Der Sync über Web-Festplatten wie Dropbox oder ähnlichen Tools, damit man die Datenbank auch auf dem Handy hat, war mir immer zu umständlich und teilweise instabil. Geht mir bis heute so.
Danach kam Cloudkeys, ein ursprünglich von Knut und mir 2013 (?) geschriebener Web-Passwort-Manager, der die Daten für damalige Verhältnisse sicher gespeichert hat. Selbst wir hatten keine Möglichkeit, auf die Daten anderer User zuzugreifen oder auf unsere, wenn wir das Passwort vergessen hätten.

Allerdings, und das muss man wirklich deutlich zugeben, haben wir zu wenig Zeit darin investiert, das Tool weiterzuentwickeln. Job und so, ihr kennt das. Deshalb habe ich lange Zeit nach einer guten Lösung Ausschau gehalten, die sicher genug ist, aber die die Daten nicht zentral bei einem Anbieter lagert, wie bei LastPass oder 1password. Allerdings rauschte durch meine Mastodon-Timeline immer mal wieder Bitwarden. Eine Lösung, die es zwar auch zentral bei einem Anbieter gibt, aber die man auch selbst hosten kann und die Open Source ist.

Was soll ich sagen: Finde ich gut. Sie hat auch Features wie TOTP, sodass man keine Software wie Google Authenticator für eine Zwei-Faktor-Authentifizierung benötigt. Außerdem Browser-Extensions, die den Manager direkt in den Browser integrieren. Die restlichen Features lest ihr bitte selbst nach.

Aufräumen ist angesagt

Wenn man seine Daten von einem Passwort-Manager zum Anderen kopiert, hat man ja vielleicht schon mal etwas Arbeit, aber das hält sich in Grenzen. Viel schlimmer wurde es, als ich die über 15 Jahre gesammelten und gespeicherten Passwörter aus meinem Browser importiert habe. Und ja, hier ist das große Problem: Ich war 15 Jahre lang sehr faul. Der Großteil der Accounts war sinnvoll mit Passwort-Manager und generierten Passworten angelegt. Aber eben nicht alles. Manchmal musste es schnell oder auch am Handy gehen und dann wurde ich zum Drei-Verschiedene-Passwörter-Typen. Ganz schlimm. Und ich schäme mich wirklich dafür.

Natürlich sammeln sich in der Zeit auch viele Log-ins von Portalen an, die es schon gar nicht mehr gibt. Und für mich war dieser Umzug der Zugangsdaten jetzt eine gute Gelegenheit, alles mal aufzuräumen. Dass Bitwarden mir auch eine Übersicht bietet, wenn ein Passwort mehrfach verwendet wird, hat mir richtig viel Arbeit beschert. Ich glaube, ich habe mich in den letzten Tagen bei mehr als 100 Portalen angemeldet (oder zumindest versucht), um dort die passenden Passwörter auf Stand zu bringen und dafür zu sorgen, dass keins der „Standard-Passwörter“ mehr überlebt hat.

Daraus folgte dann natürlich auch das große Sterben der Einträge. Von den 1383 aus dem Browser und 412 aus dem alten Passwort-Manager importierten Einträge wurden 430 bereinigte Einträge in der Passwort-Datenbank mit frischen Zugangsdaten. Wo es möglich und noch nicht geschehen war, habe ich natürlich auch direkt mal die 2-Faktor-Authentifizierung aktiviert. Es gab inzwischen deutlich mehr Portale, die es unterstützen, als mir bekannt war, aber Bitwarden hat mir direkt mal davon erzählt.

Außerdem habe ich im Browser auch direkt mal alle gespeicherten und synchronisierten Passwörter gelöscht. Ich habe die Sicherung ohnehin, also kein Verlust und meine Daten werden nicht unverschlüsselt „irgendwo“ gespeichert.

Wenn ich mir vorstelle, dass dies eigentlich fast jeder Mensch mal machen sollte, wird mir direkt schlecht. Und ich denke, ich habe schon eine gute Passwort-Haltung mit leichten Lücken betrieben. Wie sieht das erst bei Otto-Normal-User aus?

TikTok-Moderation soll diskriminieren

20.03.2022 21:23
ca. eine Minute Lesezeit
Read in English

Habt ihr bereits einige Follower auf TikTok? Vielleicht bist du sogar eine kleine Berühmtheit? Na dann seid ihr wohl weder übergewichtet, arm oder unansehnlich - wie auch immer man das alles definieren möchte.

Auf The Intercept sind interne Richtlinien für Moderatoren von TikTok veröffentlich worden, die wohl belegen, dass die chinesische Plattform absichtlich hübsche, reiche, schlanke - also was man irgendwie so in diversen Köpfen als attraktiv beschreibt - bevorzugt und höher geranked werden, um mehr Menschen anzuziehen und auf der Plattform zu halten.

Nun gut, das spiegelt genau das wieder, was jeder auch schon auf Instagram wahrnimmt.

Hört auf, NodeJS und NPM zu nutzen!

20.03.2022 12:57
ca. 4 Minuten Lesezeit
Read in English

Es ist einfach nicht mehr lustig!

Letzte Woche hat das Paket Node-IPC eine Dependency bekommen, die einfach mal nach Erkennung einer russischen IP des Nutzers Dateien von der Festplatte löscht und eine Datei auf dem Desktop anlegt, um gegen den Krieg zu demonstrieren.

Der Entwickler hat wohl nach „einigen“ Beschwerden, wohl auch von NGOs, ein paar Pizzen und Besuch von der örtlichen Polizei bekommen. Natürlich hat er nicht in einem Commit die Abhängigkeiten entfernt, sondern einfach ein Force-Push auf den Master auf einen alten Git-Stand gemacht. Nicht, dass in 2 Jahren noch jemand weiß, was für einen Scheiß er gebaut hat.
Die Härte ist aber: Die Version 11 ist noch im NPM-Repository. Wahrscheinlich bekommt er das da nicht raus. Man hat also eine Malware in NPM, aber keinen Code mehr dazu. Freude!

Aber warte, das ist noch nicht alles!

Jetzt kommt ein GitHub-User namens qpwo um die Ecke und baut einfach mal eine andere Malware für Node.js, die „mal eben“ alle SSH-Keys des Users veröffentlicht. Warum? Um zu zeigen, was für ein Müll NPM ist und wie „toll“ es ist, dass die Funktion um Schadsoftware zu melden einfach wirkungslos bleibt. Sie ist zwar da, aber seit Tagen passiert einfach nichts. Wahrscheinlich kamen da zu viele Tickets zum Thema rein und es war einfacher für Github und Microsoft, also die Eigentümer von NPM, die Augen zuzumachen, statt stärker gegen Malware vorzugehen.

Aber ich muss Node.js nutzen!
Na, ich hoffe doch, da steht niemand neben dir, der dich dazu zwingt. Aber wenn das Kind jetzt in den Brunnen gefallen ist, lass Node.js bitte nur noch und ausschließlich in einer sicheren Umgebung wie etwas Container-mäßigem laufen. Darin solltest du aber natürlich keine Secrets haben, denn die nächste Malware kommt um die Ecke und schiebt nicht nur SSH-Private-Keys, sondern auch alle ENV-Variablen dazu „irgendwohin“ – außerhalb deiner Kontrolle.

Mich stört ein wenig, dass wir inzwischen in Dependency-Höllen angekommen sind. Es ist ja nicht nur NPM, sondern jede moderne Sprache, die Abhängigkeiten von Abhängigkeiten von Abhängigkeiten benötigt und vor der ersten Nutzung erst mal das halbe Internet runterlädt. Erst neulich baute eine Kollegin für ein reines HTML/CSS-Projekt zwei Linter ein: ESLint und Stylelint (+ Stylelint Config Standard). Die Dinger haben 462 Abhängigkeiten installiert. 462! Es ist so kaputt!

Im Reality-Check gibt es ja für normale Entwickler keine Möglichkeit mehr, irgendwem zu vertrauen. Welche Firma, außer der wirklich großen, nimmt sich denn die Zeit, die Abhängigkeiten denn wirklich zu reviewen oder zumindest zu überfliegen?
Und jeder der bei GitHub Repositories mit Node.js Paketen liegen hat, weiß auch, wie oft ein Pull Requests vom Dependabot gestellt werden, die einen darauf hinweisen, wie viele Sicherheitslücken man gerade wieder herumliegen hat.

Das Ökosystem ist so kaputt, aber mich wundert nicht mehr, dass Fefe sich nur noch über das Argument tot lacht: „Softwarefehler, kann man nichts machen!“

Update 1 vom 20.03.22 13:00: In der Readme des absichtlichen Malware-Packages wird zusätzlich davon abgeraten, Docker zu verwenden, da es zu viele Break-out-Schwachstellen gibt, sodass jemand, der dir wirklich Schaden zufügen möchte, das auch schafft.

Update 2 vom 20.03.22 15:07: Markus fragte auf Twitter, was man denn jetzt tun könne. Gute Frage. Wie schon geschrieben, müsstet ihr jetzt theoretisch anfangen, alle Abhängigkeiten zu reviewen. Oder selbst bauen, mit den passenden Folgen – also keine Pflege, Sicherheitslücken usw. Könnt ihr nicht? Tja, das ist jetzt doof.
Am Ende ist die Antwort wie bei euren Hosting-Providern: Vertrauen. Also nicht unbedingt blindes Vertrauen. So etwas kann man als Entwickler auch zügig verlieren. Und wenn ein Paket unzählige Abhängigkeiten hat, geht zunächst davon aus, dass die Entwickler der Library oder des Frameworks keine Ahnung hatten, was sie da tun. Dieser Beitrag dient am Ende nur dazu, die Aufmerksamkeit zu erhöhen für die Probleme, an die man selbst vorher nicht gedacht hat.

Update 3 vom 20.03.22 17:00: Ursprünglich hatte ich geschrieben, dass die Malware-melden-Funktion auf NPM entfernt wurde, allerdings reagiert GitHub/NPM einfach mehrere Tage nicht, wenn man Malware über die Funktion meldet.