Am 10. März 2026 meldete Xygeni, ein auf künstliche Intelligenz spezialisierter Anbieter von AppSec-Produkten, einen schwerwiegenden Sicherheitszwischenfall. Ein Angreifer hatte sich Zugang zum Repository der xygeni/xygeni-action verschafft und versuchte zunächst über mehrere Pull Requests, einen kompakten C2-Implant in den Code einzuschleusen. Diese ersten Versuche wurden durch bestehende Branch-Protection-Regeln blockiert.
Doch der Angreifer verfolgte eine alternative Strategie: Er nutzte die Tatsache, dass der v5-Tag in GitHub als veränderbar (mutable) konfiguriert war und verschob ihn einfach auf einen bösartigen Commit, den er während der Pull-Request-Experimente erstellt hatte. Das Ergebnis war fatal: Alle Workflows, die auf xygeni/xygeni-action@v5 verwiesen, luden nun automatisch den manipulierten Code, ohne dass Entwickler dies in ihren Workflow-Definitionen sehen konnten.
Zugang verschaffte sich der Angreifer durch kompromittierte Anmeldedaten eines Maintainer-Tokens und einer auf dem Repository installierten GitHub App. Nach Xygeni’s eigener Analyse nutzten die Angreifer zwei unterschiedliche Zugangsmethoden parallel: Der Personal Access Token (PAT) eines Maintainers ermöglichte das Erstellen von Pull Requests, während die GitHub App-Zugangsdaten die Genehmigung dieser Requests übernahmen — ein Workaround, da keine einzelnen Credentials alle Repository-Schutzmaßnahmen bypassen konnten.
Die Manipulation war mindestens sieben Tage aktiv (3. bis 10. März), wie Cybersicherheits-Experte Varun Sharma von StepSecurity öffentlich machte. In diesem Fenster hatten Angreifer auf jedem CI-Runner, der die Action ausführte, für bis zu drei Minuten beliebige Befuhlsgewalt — mit Zugriff auf GitHub-Tokens, Repository-Secrets und Quellcode.
Xygeni identifizierte die verdächtige Aktivität am 9. März nach Meldungen aus der Community. Das Unternehmen betont in seinem detaillierten Incident Report, dass kein bösartiger Code in den Hauptbranch gemergt wurde und keine Hinweise auf die Kompromittierung der Xygeni-Plattform selbst oder von Kundendaten bestehen.
Als Root Cause identifizierte Xygeni einen kompromittierten Private Key einer GitHub App mit unnötig breiten Berechtigungen. Die genaue Exfiltrationsmethode wird noch untersucht, könnte jedoch über fehlkonfigurierte Workflows, befallene Entwickler-Maschinen oder unsichere Secret-Storage stammen.
Xygeni kündigte umfassende Gegenmaßnahmen an: Release-Immutability, härtere Repository-Permissions, kryptografisch signierte Commits für Maintainer und eingeschränkter Write-Zugang. Kunden sollen auf sichere Commit-SHAs updaten, CI-Logs auditieren und Secrets rotieren.
