Im Zentrum des Streits stehen zwei Eigenschaften von GitHub und git, die Deep Specter als praktisch ausnutzbare Schwachstellen im Prüfprozess von Codeänderungen bewertet. Der erste Bericht betraf den Umgang mit Zeitstempeln von Commits. Nach Darstellung der Forscher können diese Metadaten von demjenigen gesetzt werden, der den Code hochlädt, sodass sich Änderungen rückdatieren lassen. Varianten von Shai-Hulud nutzten das laut Deep Specter, um frisch eingefügte bösartige Änderungen wie gewöhnliche Bearbeitungen aus Jahren zuvor aussehen zu lassen und damit Abwehrmechanismen zu umgehen, die auf verdächtige jüngere Aktivitäten in der Historie eines Repositories achten.
GitHub wies diesen Einwand gegenüber den Forschern zurück. Commit-Zeitstempel seien absichtlich vom Client gelieferte Metadaten; das eigentliche Sicherheitsproblem seien kompromittierte Zugangsdaten, mit denen der Code hochgeladen werde, nicht der Zeitstempel selbst.
Der zweite Bericht drehte sich um die angezeigte Autorenschaft von Commits. GitHub zeigt Name, Foto und Benutzernamen von Autoren laut Deep Specter so an, als seien sie bestätigt. Tatsächlich könnten diese Felder aber vom Angreifer frei gesetzt werden und würden nicht verifiziert. Der Wurm missbrauche das, um bösartige Commits so erscheinen zu lassen, als stammten sie von vertrauenswürdigen Ingenieuren, die den Code nie berührt haben.
Auch hier verwies GitHub auf die Architektur des zugrunde liegenden Systems. Beliebige Autorenmetadaten seien eine Eigenschaft des Versionskontrollsystems git und keine GitHub-Schwachstelle. Zudem sei das Vortäuschen von Commit-Autoren in der Dokumentation des Bug-Bounty-Programms ausdrücklich als bekannter, nicht zulässiger Befund aufgeführt.
Als Gegenmaßnahmen verwies GitHub auf die Signierung von Commits mit GPG und SSH sowie auf den optionalen Vigilant Mode. Laut dem Bericht von Deep Specter hatten die Entwickler, deren Identitäten in der Shai-Hulud-Kampagne gefälscht wurden, diese Schutzmechanismen nicht aktiviert.
Deep Specter kritisiert darüber hinaus, dass GitHub zwar in seiner Events-API erfasst, welches Konto einen Commit tatsächlich hochgeladen hat, diese Information aber nicht auf der für Prüfer sichtbaren Commit-Seite anzeigt. Diese nicht fälschbare Zuordnung ist öffentlich nur etwa 90 Tage lang sichtbar. Den Vorschlag, diese Datensätze stärker sichtbar zu machen, stufte GitHub laut den Forschern als Funktionswunsch und nicht als Sicherheitskorrektur ein.
Das Ausmaß der laufenden Kampagne beziffert Deep Specter mit Verweis auf eine Momentaufnahme öffentlicher Daten vom 16. Juni: 1.729 vom Wurm angelegte Wegwerf-Repositories zur Speicherung gestohlener Zugangsdaten seien weiterhin auf GitHub erreichbar gewesen, ebenso 151 Repositories, die noch aktive bösartige Nutzlasten auslieferten. Die Forscher betonen zugleich, dass ihre Zahlen nur eine Untergrenze darstellen. In einem technischen Bericht verweisen sie darauf, dass GitHubs Codesuche Dateien oberhalb einer bestimmten Größenbegrenzung nicht indexiert. Die primäre Nutzlast des Wurms — eine etwa 4,6 Megabyte große verschleierte Datei — bleibe dadurch für automatisierte Scans unsichtbar.
GitHub und die Konzernmutter Microsoft reagierten laut dem Bericht nicht auf Anfragen nach einer Stellungnahme. Recorded Future News ordnet den Fall in eine breitere Debatte über den Umgang von Microsoft mit Sicherheitsmeldungen ein. Demnach sah sich das Unternehmen zuletzt erneut Kritik an seinen Offenlegungsrichtlinien ausgesetzt und musste kürzlich klarstellen, es habe „nicht die Absicht, gegen Sicherheitsforscher vorzugehen“, nachdem dies in der Sicherheitsgemeinschaft Empörung ausgelöst hatte.
