Fake-Jobangebot: ZIP startet Schadcode schon mit git status
Ein angeblicher Recruiter von Cryptic Heaven schickte einem Entwickler ein ZIP mit präpariertem .git-Ordner. Schon ein normales git status kann Schadcode laden.

Ein Entwickler bekam auf LinkedIn eine Nachricht von einem Recruiter der Firma Cryptic Heaven, die angeblich ein Finanzsystem für Krypto-Kreditkarten baut. Das Angebot wirkte unauffällig. Das ZIP dahinter nicht: Ein einfaches git status im falschen Ordner kann reichen, um die Falle auszulösen.
Auf Nachfrage schickte der Recruiter einen Link zu Vertrag, Stellenbeschreibung und Projekt. Dahinter lag Contract-2026.zip mit einer README.md, einer contract.docx und einem vollständigen .git-Verzeichnis samt Verlauf, mehreren Branches und lokalen Einstellungen. Die README forderte dazu auf, drei Branches nacheinander anzusehen: Stelle, Vertrag, Code. Der Vertrag war eine leere Vorlage, ohne Rechtsträger, Bezahlung oder Gerichtsstand. Auch die Anzeige für einen Smart Contract Developer war größtenteils leer.
Wie funktioniert die Git-Falle?
Git kann externe Programme starten, und der Angreifer hat zwei Wege dafür vorbereitet. Erstens zeigt core.hooksPath in der .git/config auf einen anderen Ordner für Hooks (Skripte, die bei Ereignissen laufen). Dort lag ein post-checkout-Skript, das nach einem Branch-Wechsel startet. Deshalb sollte man in der README zwischen den Branches springen.
Zweitens gibt es einen eigenen „clean“-Filter namens ltr, mit dem Git Dateiinhalte vor dem Speichern umwandelt. Eine Attributregel mit Platzhalter wies ihn allen Dateien zu. Um Änderungen zu erkennen, kann git status Dateien durch diesen Filter schicken. Ein gewöhnliches git status, das manche Editoren selbst ausführen, startet dann das Skript .git/ltr.
Der Autor hat das in einem harmlosen Testrepository nachgestellt: git status rief den Filter auf, ein Branch-Wechsel zusätzlich post-checkout.
Was macht das Skript?
Es ist ein Shell-Skript mit Debounce: Jeder Filteraufruf aktualisiert einen Zeitstempel, und ein Hintergrundprozess wartet, bis zwei Sekunden lang nichts Neues kommt, damit er nur einmal feuert. Ein per mkdir angelegtes Verzeichnis dient als Sperre. Danach erkennt es das Betriebssystem, lädt Code von einer Subdomain bei vercelscript.vercel.app und führt ihn aus, unter Linux und macOS über sh, unter Windows über PowerShell. Ausgaben und Fehler gehen nach /dev/null, der Nutzer merkt womöglich nichts.
Was der nachgeladene Code tut, lässt sich allein aus dem ZIP nicht sagen. Denkbar sind ein Loader für die nächste Stufe, Datendiebstahl oder anderes.
Die Lehre: Ein Repository als Archiv samt .git-Ordner ist etwas anderes als ein Klon von GitHub oder GitLab, und es in einer IDE zu öffnen kann riskant sein.
Apps, die sich lohnen
Tippe die richtigen Felder, addiere, triff das Ziel. Leicht zu lernen, schwer zu meistern. Kostenlos, für jedes Alter.
Sprich mit einem KI-Gesprächspartner; jeder Satz kommt korrigiert und in deiner Sprache erklärt zurück. 9 Sprachen, A1 bis C2.
EDIFACT- und X12-Nachrichten öffnen, jedes Segment verständlich erklärt, in JSON/XML umwandeln, als PDF und Excel exportieren. Läuft lokal, kein Upload.
Wähle, für wen es ist, den Anlass und die Persönlichkeit. Die Suchmaschine liest Produktbeschreibungen lokaler Shops und sortiert, was passt. Kostenlos, ohne Anmeldung.
Mehr von diesem Tag
Alle anzeigen →
AMD Adrenalin 26.11.1 stoppt unnötige SSD-Schreibzugriffe

Apple Support Community schließt nach 28 Jahren für immer

Nāpōwawāʻenakaulua: Quasar-Paar, das es so früh nicht geben dürfte

Linky-Zähler ablehnen? EuGH-Urteil und Starship-Flug 15
Mehr aus: Sicherheit
Alle anzeigen →
Cyber Security Cloud: GitHub-Zugang geleakt, Kundendaten womöglich betroffen

wfx-loot: Angriff auf 61.000 GitHub-Repos stahl Secrets

SignDrop: Windows-Zero-Day nutzt Defender für System-Rechte
