Git & Versioning¶
Fase: Fondasi · Estimasi: 25 menit · Prasyarat: F4 Tujuan akhir: Paham konsep Git (repo, commit, riwayat) & kenapa kebocoran
.gitjadi tambang emas OSINT. Glossary.
1. Briefing¶
Hampir semua developer pakai Git untuk menyimpan kode. Masalahnya, Git menyimpan seluruh riwayat — termasuk rahasia yang dulu ditulis lalu "dihapus". Bagi operator intel, repo Git bocor = buku harian lengkap target.
2. Materi Inti¶
2.1 Apa itu Git?¶
Git = tombol "save" raksasa yang menyimpan setiap perubahan kode dari waktu
ke waktu, lengkap siapa & kapan.
commit 1 (tambah login) → commit 2 (perbaiki bug) → commit 3 (hapus password)
Walau commit 3 "menghapus" password, isinya tetap tersimpan di riwayat commit sebelumnya.
| Istilah | Arti |
|---------|------|
| Repo | folder proyek yang dilacak Git |
| Commit | satu "snapshot"/simpanan perubahan |
| History | rangkaian semua commit |
| Remote | salinan repo di server (mis. GitHub) |
2.2 Worked Example (perintah Git)¶
$ git clone https://github.com/contoh/repo.git # salin repo
$ cd repo
$ git log --oneline
a1b2c3d hapus password # commit terbaru
9f8e7d6 tambah fitur login
$ git show 9f8e7d6 # lihat isi commit lama → password masih di sini!
Pelajaran: "menghapus" di commit baru tidak menghapus dari riwayat.
2.3 Folder .git — si penyimpan rahasia¶
Tiap repo punya folder tersembunyi .git/ berisi seluruh riwayat. Kalau folder
ini tak sengaja ter-upload ke web server:
https://target.com/.git/ (bisa diunduh siapa saja)
→ rekonstruksi seluruh kode + riwayat
→ password / API key yang pernah di-commit ikut bocor.
Rahasia yang pernah masuk Git = bocor selamanya (harus diganti, bukan sekadar "dihapus").
Checkpoint¶
- [ ] Tahu apa itu commit & history.
- [ ] Paham kenapa
.gitter-upload itu bahaya. - [ ] Tahu rahasia yang pernah di-commit harus diganti.
3. Kacamata Intelijen Siber¶
- Repo bocor = footprinting tingkat lanjut: tahu teknologi, struktur internal, bahkan kredensial.
- Analis periksa riwayat commit untuk rahasia yang "terhapus".
- Defensif: jangan commit rahasia; pakai
.gitignore& secret manager; kalau terlanjur, ganti kuncinya.
Purple: mencari
.gitbocor (red) = checklist audit agar servermu tak membocorkannya (blue).
Kesalahan Umum¶
| Salah | Benar |
|---|---|
| "Hapus password di commit baru = aman" | Masih ada di riwayat; harus diganti |
Commit file .env/kunci |
Pakai .gitignore; jangan pernah commit rahasia |
Abaikan .git/ di web target |
Cek /.git/ — sering bocor & emas OSINT |
4. Hubungan ke Write-up CTF¶
- Repositori Terlupakan →
.gitleak → kredensial. - Jejak Developer → web + git leak → API key.
Trik Cepat Memahami¶
3 zona Git -- bayangkan mengirim paket:
Working (mejamu) -> git add -> Staging (kardus siap kirim) -> git commit -> Repo (gudang lokal) -> git push -> Remote (gudang online).
- Mesin waktu:
git reflogmenyimpan SEMUA langkahmu -- salah hapus/reset masih bisa diselamatkan. - Pelajaran intel terpenting: menghapus file rahasia lalu commit TIDAK menghilangkannya -- versi lama tetap tersimpan di history. Inilah kenapa
gitleaks/trufflehogbisa menambang password dari repo. Rahasia yang pernah ter-commit = anggap sudah bocor, ganti kuncinya.
5. Rangkuman¶
- Git melacak setiap perubahan (repo/commit/history).
.git/simpan seluruh riwayat; bocor di server = kode+rahasia direkonstruksi.- Rahasia yang pernah di-commit = bocor selamanya.
- Cari repo/commit publik = OSINT sah.
6. Uji Pemahaman¶
- Apa itu commit & history?
- Kenapa
.git/ter-upload berbahaya? - Benar/salah: "Hapus password di commit baru = hilang total." Jelaskan.
- Perintah lihat riwayat commit? 5 (PG). Menemukan API key di repo GitHub publik = A. Meretas ilegal · B. OSINT · C. Brute-force · D. Enkripsi
Kunci Jawaban
- Commit = snapshot perubahan; history = rangkaian seluruh commit.
- Seluruh riwayat kode bisa diunduh & direkonstruksi, termasuk rahasia lama.
- Salah. Tetap ada di riwayat commit sebelumnya; harus diganti.
git log.- B (selama membaca yang dipublikasikan; tetap etis).
7. Misi Berikutnya¶
Lanjut ke F11 — Pengantar Kriptografi.
LIGHTSIBER · "Yang pernah ditulis di Git, terekam selamanya."