flowki@club:~$ Gerade gestartet · sei von Anfang an dabei
$ beitreten
SECURITY
GitHub Verified Commits: Signaturen können gefälscht werden

GitHub Verified Commits: Signaturen können gefälscht werden

1 min Lesezeit
Rafi GrzonkaRafi Grzonka
TeilenXLinkedInWhatsApp

Die Illusion der signierten Commits

Eine aktuelle Sicherheitsforschung enthüllt ein fundamentales Problem mit GitHub's Verified-Commit-System: Die Integrität signierter Commits ist weniger gewährleistet als angenommen. Die Crux liegt in einer Eigenschaft von Git-Hashes, die viele Entwickler übersehen.

Das Problem

Wenn ein Commit kryptografisch signiert wird, können Angreifer ohne Zugriff auf den privaten Schlüssel einen neuen Commit mit identischen Eigenschaften erstellen: gleiche Dateien, gleicher Author, gleiches Datum, gültige Signatur. Allerdings hat dieser neue Commit einen anderen Hash.

GitHub markiert diesen forged Commit trotzdem als "Verified" – weil die Signatur kryptografisch korrekt ist. Für Code-Reviewer erscheint alles legitim: Die Signatur stimmt, der Author passt, der Inhalt sieht richtig aus. Nur der Hash unterscheidet sich.

Warum das critical ist

Dieser Hash-Mismatch ist kein cosmetic Problem. Der Commit-Hash ist in Git das kanonische Identitätsmerkmal eines Commits. Tools, CI/CD-Pipelines und automatisierte Prozesse vertrauen darauf, dass ein Hash einen einzigartigen, unveränderlichen Snapshot darstellt.

Wenn dieser Annahme nicht zutrifft, entstehen praktische Sicherheitslücken:

  • Bypass von Commit-Policies: Branch-Protection-Rules und Merge-Anforderungen können umgangen werden, wenn ein anderer gültiger Hash existiert
  • Supply-Chain-Attacken: Ein Angreifer könnte einen signierten Commit in einer Dependency verändern, ohne dass es auffällt
  • Audit-Trail-Probleme: Die Nachverfolgbarkeit von Code-Änderungen wird undurchsichtig

Die Root-Cause

Das Problem liegt in der Struktur von Git selbst. Der Commit-Hash wird aus mehreren Metadaten berechnet – und einige dieser Felder können manipuliert werden, ohne dass die Signatur bricht. Git's Signatur-System validiert nur bestimmte Felder, nicht die gesamte Commit-Struktur.

Was bedeutet das praktisch?

Für die meisten Teams ändert sich der Workflow nicht sofort. Allerdings sollten Organisationen:

  • Verified Commits nicht als alleiniges Vertrauen-Zeichen betrachten
  • zusätzliche Kontrollen in CI/CD-Pipelines einbauen, die Commit-Hashes tracked
  • Branch-Protection-Regeln kombiniert mit anderen Validierungsmechanismen nutzen

GitHub sollte diese Lücke adressieren – eine mögliche Lösung wäre eine "fully verified" Kategorie, die nicht nur die Signatur, sondern auch die Hash-Unverwehrbarkeit garantiert.

Weiterlesen

Aus dem Magazin

Alle Artikel
SECURITY

Android AI-Agenten: Unsichtbare Text-Befehle könnten PCs kompromittieren

1 min · 21. Juli

SECURITY

ENCFORGE: Neue Ransomware zielt auf AI-Modelle ab

1 min · 21. Juli

SECURITY

ServiceNow AI Platform: Kritische Lücke ermöglicht Code-Ausführung

1 min · 21. Juli