GitHub warnt jetzt vor Malware-Paketen in acht Ökosystemen

Mehr als 238.000 Meldungen über schädliche Pakete liegen inzwischen in einer öffentlichen Datenbank der Open Source Security Foundation (OpenSSF). Gestartet war das Repository malicious-packages 2023 mit mehr als 15.000 Einträgen. Es wird von einer Community gepflegt und verwendet das Format OSV, das Open-Source-Vulnerability-Format, also eine einheitliche Beschreibung bekannter Sicherheitslücken und Schadsoftware in Software-Paketen. Ende Juli kündigte GitHub an, diese Daten in seine eigene Advisory Database zu übernehmen.
Bislang gab es Malware-Warnungen von GitHub nur für Pakete des npm-Ökosystems, also für JavaScript-Bibliotheken. Seit der Ankündigung deckt der Konzern acht Paket-Ökosysteme ab: crates.io (Rust), Go, Maven, NuGet, npm, PHP Composer, PyPI (Python) und RubyGems. Die eigenen Erkennungsmethoden für all diese Sprachen aufzubauen, hätte nach Einschätzung von Ankit Kumar Honey, Senior Engineering Manager bei GitHub und Leiter des Dependabot-Teams, Jahre gedauert. GitHub griff deshalb auf eine vorhandene Quelle zurück. Honey formulierte es so: „Unterdessen hat OpenSSF das Aggregationsproblem bereits für alle gelöst.“
Für den Import hat GitHub ein eigenes Werkzeug gebaut. Es prüft die Meldungen, vereinheitlicht die Datensätze und verarbeitet zurückgezogene Advisories. Doppelte Importe der eigenen GitHub-Beiträge verhindert es. Als Schutzmaßnahmen nennt GitHub Obergrenzen für Import-Batches, die Rückverfolgbarkeit bis zu den Upstream-Commits und die Möglichkeit, ganze Batches zurückzurollen.
Für Entwicklerteams heißt das: Wer Dependabot nutzt, den GitHub-Dienst zur Überwachung der Abhängigkeiten eines Projekts, kann Warnungen zu schädlichen Paketen abrufen. Sie sind opt-in, also freiwillig, und müssen in jedem Repository zusätzlich eingeschaltet werden. Organisationen und Enterprises können sie über Security Configurations gesammelt einführen. Wer die Malware-Warnungen bereits aktiviert hat, erhält die erweiterte Abdeckung automatisch. Zudem lassen sich die Meldungen in der Advisory Database mit dem Filter type:malware finden.
Zwei Grenzen gibt es. Teilt ein internes Paket seinen Namen mit einem schädlichen öffentlichen Paket, kann es zu Fehlalarmen kommen. Sie lassen sich mit Auto-Triage-Regeln für Dependabot reduzieren. Dabei ist Vorsicht geboten: Die vorgefertigte Regel „Dismiss package malware alerts“ ist standardmäßig deaktiviert, verwirft aber auch Warnungen zu Abhängigkeiten, die in allen Versionen tatsächlich schädlich sind. Die Zahlen stammen von der OpenSSF und GitHub selbst; unabhängige Messungen dazu, wie viele Schadpakete die Datenbank erfasst, liegen in den Unterlagen nicht vor.
Kommentare
Der Thread wird geladen…
Melden Sie sich an, um einen Kommentar zu schreiben. Anmelden