Vertrauen ist gut, Resolver ist besser: Supply Chain Security mit Composer
Jede moderne PHP-Anwendung steht auf einem Fundament aus
Third-Party-Paketen, jedes mit eigenen Abhängigkeiten und eigenen Vertrauensannahmen. Supply-Chain-Angriffe in benachbarten Ökosystemen haben deutlich gemacht: Was im Vendor-Verzeichnis landet, ist genauso sicherheitsrelevant wie der selbst geschriebene Code.
Lange verließ sich das PHP-Ökosystem auf informelle Werkzeuge: Reports nach abgeschlossener Installation und einen cleveren Missbrauch der Conflict-Regeln, um bekannt verwundbare Versionen uninstallierbar zu machen. Aktuelle Composer-Versionen ersetzen beides durch etwas Stärkeres: Security Advisories werden jetzt direkt im Dependency-Resolver durchgesetzt, und zwar über einen Mechanismus, der auch Malware-Flags und eigene Policy-Regeln aufnehmen kann.
In diesem Vortrag erfährst du, woher Advisory-Daten kommen, wie Blocking auf Resolver-Ebene und Filterlisten funktionieren, wo die neuen Defaults dich auf eine Weise treffen können, die ein passives Audit nie konnte – und was Anwendungsentwicklerinnen und -entwickler sowie Maintainer heute tun sollten.
Vorkenntnisse
- Dieser Vortrag richtet sich an alle, die PHP-Anwendungen mit Composer entwickeln oder eigene Pakete pflegen.
- Grundlegende Erfahrung mit Composer und composer.json ist von Vorteil, tiefere Kenntnisse des Dependency-Resolvers sind nicht erforderlich.
Lernziele
- Verstehen, woher Security-Advisory-Daten für das PHP-Ökosystem stammen und wie sie aggregiert werden
- Advisory-Enforcement und Filterlisten im Composer-Resolver konfigurieren und ihre Auswirkungen auf CI/CD-Pipelines einschätzen
- Als Maintainer und als Anwendungsentwickler:in angemessen auf blockierte Pakete und Advisories reagieren