In diesem praktischen DevSecOps-Projekt entscheidest du, welche Abhängigkeitsdateien in einen nutzbaren Build gehören. Du reparierst ein vorbereitetes Ticketpreiswerkzeug und überträgst die Methode anschließend auf die Materialausgabe eines Workshops.
Zwei geführte Labs behandeln die Quellenauswahl und Hashes für sämtliche Abhängigkeiten. Die eigenständige Challenge ändert die Paketbeziehungen, behält jedoch Werkzeuge und Installationsvertrag bei.
Was du lernen wirst
- Direkte und indirekte Abhängigkeiten erkennen und erklären, warum ein zweiter pip-Index kein nachrangiger Ersatz ist.
- Freigegebene Pakete in getrennten Python-Umgebungen neu installieren und vollständige, korrekte Preislisten liefern.
- Wheels mit gleichem Namen und gleicher Version, aber anderen Bytes anhand unabhängig freigegebener Hashes ablehnen.
- Legitime Spiegelquellen, zitierte Pfade, Anwendungsfunktionen und ursprüngliche Bestelldaten erhalten.
Für wen dieser Kurs geeignet ist
Für DevSecOps-Einsteiger, die cd, cat und grundlegende Terminalbefehle verwenden und kleine Textdateien bearbeiten können. Python-Programmierung, Docker und ein Cloud-Konto sind nicht erforderlich. Das erste Lab erklärt virtuelle Umgebungen, pip-Optionen und das kurze Shell-Installationsrezept.
Lernumgebung: Jedes Lab startet unabhängig mit vorbereitetem Python, pip, eigenen synthetischen Wheels und lokalen Paketquellen in einem Linux-Terminal im Browser.
Häufig gestellte Fragen
Muss ich ein öffentliches Paket veröffentlichen oder angreifen?
Nein. Sämtliche Quellen und Pakete bleiben innerhalb der kontrollierten Lernumgebung. Ersatzpakete ändern nur die Beispielberechnungen.
Beweist ein passender Hash, dass ein Paket sicher ist?
Er beweist die Übereinstimmung mit den unabhängig bereitgestellten Freigabebytes. Er identifiziert weder den Herausgeber noch belegt er die Abwesenheit von Sicherheitslücken.
Was liefere ich ab?
Ein wiederverwendbares Installationsrezept, die tatsächlich freigegebene Umgebung und eine korrekte CSV-Übergabe. Die Challenge muss Änderungen direkter und indirekter Abhängigkeiten ablehnen und unveränderte Spiegel akzeptieren.



