Online-Workshop: Abhängigkeiten im Griff: Composer verstehen, Risiken bewerten
Online-Workshop, 4. Dezember 2026, 10-14 Uhr
80 bis 95 Prozent einer typischen PHP-Anwendung sind Code, den das eigene Team nicht geschrieben hat: Frameworks, Bibliotheken und ein transitives Geflecht aus Abhängigkeiten. Wird dieser Code kompromittiert, ist die Anwendung kompromittiert. Gleichzeitig werden Sicherheitslücken immer schneller gefunden, und Angriffe auf Open-Source-Pakete nehmen zu.
In diesem Workshop arbeitest du durchgehend an einem Beispielprojekt. Im ersten Teil geht es um die Mechanik von Composer: was bei 'require', 'install' und 'update' tatsächlich geschieht, warum der Unterschied zwischen `composer.json` und 'composer.lock' sicherheitsrelevant ist und wann welcher Operator für Versionsbeschränkungen passt. Im zweiten Teil geht es um das Bedrohungsmodell der Software Supply Chain, von Typosquatting über Account Hijacking bis zu SBOM und SLSA, und um die Frage, die 'composer audit' nicht beantwortet: Ist dein Projekt von einem Fund überhaupt betroffen?
Du untersuchst, über welchen Pfad ein verwundbares Paket in dein Projekt gelangt, bewertest den Fund im Kontext deiner Anwendung und aktualisierst gezielt, auch wenn das betroffene Paket eine transitive Abhängigkeit ist. Schließlich konfigurierst du das Advisory-Blocking im Dependency-Resolver aktueller Composer-Versionen, das bekannt verwundbare Versionen gar nicht erst installierbar macht, und legst fest, wie dein Projekt mit begründeten Ausnahmen umgeht.
Das Beispielprojekt behältst du nach dem Workshop als Referenz für deine eigenen Projekte.
Vorkenntnisse
- Der Workshop richtet sich an PHP-Entwickler:innen, Tech Leads und Architekt:innen, die Anwendungen mit Composer entwickeln und für deren Abhängigkeiten Verantwortung tragen.
- Ein paar Monate Erfahrung mit PHP sowie der sichere Umgang mit Git und der Kommandozeile werden vorausgesetzt.
- Grundlegende Composer-Kenntnisse sind hilfreich, tiefere Kenntnisse sind nicht erforderlich: Die Funktionsweise von Composer wird von Grund auf erarbeitet.
Lernziele
- Verstehen, was Composer bei 'require', 'install' und 'update' tut und welche Rolle 'composer.lock' für reproduzierbare und sichere Installationen spielt
- Versionsbeschränkungen und Plattform-Anforderungen bewusst einsetzen
- Das Bedrohungsmodell der Software Supply Chain kennen und die Angriffsvektoren auf das eigene Projekt beziehen
- Nachvollziehen, über welche direkten und transitiven Abhängigkeiten ein Paket ins Projekt gelangt
- Funde von 'composer audit' fundiert bewerten, statt blind zu reagieren
- Verwundbare Pakete gezielt aktualisieren, ohne unbeabsichtigt weitere Abhängigkeiten zu verändern
- Advisory-Blocking im Composer-Resolver konfigurieren und Ausnahmen begründet und nachvollziehbar verwalten