Die Leistungserbringungsverweigerung von DPD

Paketdienste gibt es viele, der welcher am häufigsten bei uns vorbei kommt, ist DHL. Am Freitag hätte es mal was neues sein sollen und ich hätte eigentlich den örtlichen DPD Mitarbeiter kennenlernen müssen. Habe ich aber nicht.

Klarer Fall von Leistungserbringungsverweigerung

Stattdessen habe ich gelernt, daß DPD keinen Bock darauf hat, 15g !!!! Pakete ( k.A. wieso das per Paket hätte kommen sollen ) in die erste Etage zu schleppen. Bei der Größe hätte ich es sogar noch verstanden, wenn es im Briefkasten gelandet wäre, aber auch das war offensichtlich keine Option für den DPD Mann.

Der zog es wohl vor, bei der TU in Braunschweig an der Katherienenstraße eine längere Mittagspause einzulegen. Da ich kurz vor 12 eine EMail bekam, daß mein Paketbote bald klingelt, habe ich natürlich mitgetrackt, wann er denn kommt. Daher kann ich natürlich auch sagen, daß was auch immer er getan hat, viel wichtiger war, als die 500m zu uns zu kommen und kurz das Päckchen abzuwerfen. 2 Stunden stand der Wagen angeblich da, bis er von Radar verschwand, weil er das Paket als nicht zustellbar markiert hat.

Null Bock bei DPD

Bei der Reklamationsstelle von DPD habe ich mich natürlich auch entladen. Da kam dann ein Textblock zurück, der brav allgemein von „Wir reden intern darüber“ sprach und eigentlich meinte „F*ck Dich, uns doch egal!“ .

Das erinnert mich an den DHL Kracher von vor 10 Jahren. Da sollte ich aus den USA ein Paket bekommen, das es sage und schreiben 6000km weit bis nach Braunschweig geschafft, beim Zoll schon ein Plätzchen zugewiesen hatte und am Ende irgendwo auf dem Planeten aufgeschlagen ist. Begründung: Die Straße gäbe es nicht.

DHL war nicht in der Lage zu erklären wie das passieren konnte, wo ohnehin eine Einlagerung beim Zoll, der mir mein Paketplätzchen bestätigt hatte, vorgesehen bzw. vorgeschrieben gewesen wäre. Doppelt versagt halt.Glücklicherweise der einzige  DHL Patzer. An manchen Tagen kam ich mir wegen der Bestellwut unserer Nachbarn vor, als ob ich ein Paketshop wäre 🙂 Die Boten haben die Straße dann doch alle gefunden 😉

Das Paket hatte es immerhin 6000km weit bis zur richtigen Stadt geschafft. Von dem DPD Paket kann man das nicht sagen. Das hat aus Salzgitter gerade mal mit 20km zu kämpfen gehabt und kommt auch nicht an. Ich würde den Typen echt gern fragen, wieso er so eine Scheisse verzapft.

Merke: Wenn Du willst, daß ein Paket 20km schafft, schicks nicht per DPD nach Braunschweig.

Signieren von npm Paketen

Zur Einleitung eine kleine Geschichte zu einem Projekt, daß ich mit einem unserer Kunden umgesetzt habe. Da das Projekt mangels Benutzer jüngst eingestellt wurde, ist wohl die Floskel „Es war einmal…“ angebracht 🙂

Die Geschichte von Lord Uglify

Also.. Es war einmal .. ein tolles webbasiertes Firmenspiel für das jede Menge Javascriptcode erzeugt wurde, weil es ja im Browser zu spielen war. Nun sollte das ellenlange Javascript eingedampft werden mit „Uglify“ einem node.js Tool zum Schrumpfen und Verschleiern von Javascriptcode.

Nun sollte jemand Uglify irgendwo installieren und es dafür benutzen. Das war der erste Fehler. Nachdem Node.Js aus dem Repository installiert wurde, tat es natürlich nichts sinnvolles, denn Uglify hat wie so viele andere Node.js Programme, einen Abhängkeitsbaum, der milde betrachtet, bis zum Mond reicht. Mit NPM, dem Node.Js Paketmanager, kann man die Abhängkeiten befriedigen, glaubten wir zumindest. Das war Fehler Nummer 2. Denn die Abhängigkeiten von den Abhängigkeiten der Abhängigkeiten von den Abhängigkeiten der Abhängigkeiten von den Abhängigkeiten die keine Ende nehmen wollten, brauchten geschlagene 30 Minuten sich zu installieren. Na gut, jetzt wird es ja wohl endlich starten. Das war der dritte Fehler.. allerdings dann auch der letzte, weil ich keinen Bock mehr hatte mich von so einem Witzprogramm verarschen zu lassen.

Ich habe dann einfach „jsmin“ genommen: klein,schnell,effektiv,läuft überall, keine Abhängigkeiten und einfachst zu bedienen. Kurzum, ein Programm wies sein sollte.

Was hat das jetzt mit dem Signieren von Paketen zu tun ?

Tja, wie man oben lesen kann, sind Node.js Programm extrem modularisiert, sprich, mal eben selbst was schreiben ist praktisch nicht, weil man erst mal jede Menge an Paketen installieren muß. Im Gegensatz zu Java, wo eine Fülle von Klassen mitgeliefert werden, kommen die Pakete per NPM ins Projekt rein.

Diese Pakete sind nicht signiert, die von Java zwar auch nicht, aber die kommen ja auch aus einer definierten Quelle gleich mit. Signieren ist im NPM auch nicht vorgesehen. Daher hat jemand in Australien ( Details bei Heise ) gemeint, er müßte das ändern und hat ein Signaturtool für Node.js Pakete gebaut.

Die Begründung war, das neulich diverse Pakete aus dem NPM Repo auf merkwürdige Art verschwunden sind, zwischenzeitlich durch gleichnamige Pakete ersetzt wurden, um dann funktional mit den früheren Paket  zu kollidieren, sprich, was anderes zu machen, als das Original.

Da jeder Pakete in das NPM Repo laden kann, würde das Signieren also den Prozess mit den Paket-Abhängigkeiten sicherer machen, weil wenn sich so ein Vorgang wie eben beschrieben passiert, würde ja die Signatur nicht mehr passen und dem Entwickler würde dann auffallen, daß da gerade was schief läuft. Nun, das mag sein.

Das eigentliche Problem

Das eigentliche Problem löst das natürlich nicht: 100 Abhängigkeiten im Projekt, und den von den Entwicklern hat noch nie einer gehört. Ob die da Schadcode einbauen oder nicht, kann man nicht an der Tatsache einer gültigen Signatur erkennen.
Alles was dieses Signaturen bieten, ist ein Verwechslungsschutz, das aber auch nur, wenn der lange verschollene Author doch nochmal gefunden wird 🙂

Ich halte das für nichts, was man an die große Glocke hängen sollte, denn das hier kann man damit nicht vermeiden:

https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5

Es lohnt sich bis zum Ende zu lesen, weil Ihr sonst einen falschen Eindruck von der Sache bekommt. Wenn Ihr damit fertig sein, hier ein Zitat von „blog.fefe.org“ unser aller Weltverschwörungsguru 😉 passend zum Thema :

[l] Ein Einsender kommentiert die Webfrontend-Warnung:

  • lass‘ uns als kleine Veranschaulichung, wie breit und tief die Güllegrube npm sein kann, eine Webanwendung anfangen. Natürlich mit Angular und dem aktuellen Standard-Build-System @angular/cli:

    $ npm i @angular/cli
    $ node_modules/.bin/ng new webkid --directory=.

    Das Ergebnis ist ein Skeleton mit einer Hello-World-Seite und:
    31 direkten Abhängigkeiten
    974 Abhängigkeiten insgesamt
    305 MB in node_modules

    Davon sind 158 Pakete Duplikate von bereits installierten Paketen mit einer anderen Versionsnummer. Bei so vielen Abhängigkeiten ändern sich die Zahlen natürlich schnell, also am besten sofort anfangen mit dem Audit!“

    “ [Ende des Zitats]  Aufgrund der Struktur von Fefes Webseite, müßt Ihr selbst den „Wed Jan 10 2018“ suchen 😉

 

Dem Kommentar kann man sich nur anschließen. Keine Signatur der Welt macht das irgendwie sicherer!

Davon ab, keine Ahnung wie jemand auf die Idee kommt, dafür zu Entwickeln. Da braucht man ja Stunden um anzufangen. Leute nehmt was vernünftiges, nehmt Java. Eclipse auf. Neues Javaprojekt aufmachen und einfach losschreiben 😉

Java kommt übrigens leer mit knapp 105 MBye aus 😉 und das wäre dann auch für alle Projekte und nicht PRO Projekt 😀

Quelle: heise.de – Open Source Tool zum Signieren von npm Paketen veroeffentlicht