Bersihkan sejarah Git

Data sensitif seperti kata laluan harus ada dalam fail .env dan, jika boleh, tidak berakhir di repositori Git. Tetapi mungkin telah terjadi kepada kita masing-masing sekurang-kurangnya sekali secara tidak sengaja: Cepat menerbitkan skrip API Peta Google JS yang bagus di GitHub Gists (sebagai "awam") tanpa menyamarkan kunci API Peta peribadi kita secara tidak sengaja .


Nasib baik, pasukan Amanah & Keselamatan Platform Awan Google yang penuh perhatian baru-baru ini mula mengetuk jari anda dengan e-mel automatik yang bukan sahaja menjelajahi kunci API awam github.com untuk skala besar:

Pelanggan yang dikasihi,
kami telah mengesan kunci API Google yang dapat diakses secara terbuka yang dikaitkan dengan projek Google Cloud Platform berikut:

...........................

Maka sudah tiba masanya untuk bertindak selewat-lewatnya. Nasib baik, walaupun Git boleh dimaafkan. Skrip bash berikut menggunakan pembersih repo BFG yang hebat (tidak, ini tidak bermaksud senjata dari DOOM) dan mengeluarkan kunci API di baris 5 repositori Git di baris 6:

0cb06f6f637d40148ce07994959944db

PS: Kekunci API di baris 5 adalah jenaka.

Belakang