Module

M09: Software Supply Chain

Alle Aufgaben in diesem Modul gelten erst als gelöst, wenn der Fund über Kontakt / Customer Feedback an den Shop geht. Das ist die Disclosure-Übung im Modul.

Nützliche Werkzeuge, um npm-Pakete auf bekannte Lücken zu prüfen: AuditJS und npm audit.

Aufgabe 1 braucht das Infrastruktur-Verzeichnis aus M06, Aufgabe 2. Die Aufgaben 2 und 3 brauchen package.json.bak aus /ftp – das kommt aus M03, Aufgabe 2.

  1. Aufgabe 01

    Verwundbare Infrastruktur-Komponente melden

    Dem Shop melden, dass er eine Infrastruktur-Komponente mit bekannter Schwachstelle verwendet. Die Komponente so genau wie möglich benennen.

    Der Shop hat Infrastruktur-Konfiguration versehentlich mit ausgeliefert – siehe M06, Aufgabe 2.

    Nach Docker-Dateien in diesem Verzeichnis schauen.

    Alle referenzierten Third-Party-Images in Dockerfile und docker-compose.yml prüfen: bekannte Lücken oder End-of-Life?

    Nicht jede alt aussehende Versionsnummer ist wirklich verwundbar. In CVE-Datenbanken oder Hersteller-Advisories nachsehen.

  2. Aufgabe 02

    Typosquatting Teil 1

    Den Shop über einen Typosquatting-Trick informieren, dem er zumindest in v6.2.0-SNAPSHOT zum Opfer gefallen ist. Den genauen Namen der Bibliothek nennen.

    Das hat nichts mit vertippten Domains zu tun. Stattdessen die vergessene Backup-Datei des Entwicklers im FTP-Ordner untersuchen.

    „Malicious packages in npm“ von Ivan Akulov lohnt sich als Lektüre: https://iamakulov.com/notes/npm-malicious-packages/

    Über das Kontaktformular Feedback mit dem genauen Namen der auffälligen Bibliothek senden.

  3. Aufgabe 03

    Veraltete Bibliothek finden

    Den Shop über eine Schwachstelle mit hoher Schwere in einer direkt verwendeten Abhängigkeit informieren. Im Kommentar müssen der exakte Bibliotheksname und die Version stehen.

    Über Kontakt / Customer Feedback gibt es zwei gültige Antworten. Die Version muss mit ins Kommentarfeld – der Name allein zählt nicht.

    In der zuvor heruntergeladenen package.json.bak nach sicherheitsrelevanten Abhängigkeiten suchen.

    Im Netz zu bekannten Lücken in den verdächtigsten Abhängigkeiten recherchieren. npm audit und AuditJS helfen.

  4. Aufgabe 04

    Typosquatting Teil 2

    Den Shop über einen Typosquatting-Imitator informieren, der sich tief ins Frontend gegraben hat. Den genauen Namen der Bibliothek nennen.

    Auch das hat nichts mit vertippten Domains zu tun. Es liegt auch keine bequem abgelegte Datei bereit, die weiterhilft. Oder doch?

    Anders als bei Teil 1 bringt Durchstöbern von package.json.bak hier nichts.

    Die Bibliothek nutzt einen realistischen Tippfehler im Paketnamen.

    Wie bei Teil 1: den genauen Namen über das Kontaktformular schicken.