แนวคิด (3) — ข้อมูลลับในประวัติ: ลบทีหลังไม่พอ
Git เก็บ ทุกรุ่น ของทุกไฟล์ ถ้า commit รหัส WiFi ไปหนึ่งครั้งแล้ว commit ถัดไปลบออก รหัสยังอยู่ใน commit ก่อนหน้า ใครที่ clone หรือ fork ไปแล้วมีสำเนาครบ
การเขียนประวัติใหม่ (git filter-repo) แล้ว force push ลบได้แค่ในสำเนาของคุณ ไม่ได้ลบในเครื่องคนอื่น — เมื่อความลับหลุดไปแล้ว สิ่งแรกที่ต้องทำคือ เปลี่ยนรหัสหรือเพิกถอนกุญแจนั้น การล้างประวัติมาทีหลังและทำเพื่อไม่ให้หลุดซ้ำเท่านั้น
ตัวอย่าง WiFi ของ SDK เขียนหลักนี้ตรง ๆ ว่า "A credential compiled into an example is a credential in a public repository." — มันอ่าน SSID/รหัสจากที่เก็บบนบอร์ด ไม่ใช่จาก #define
git grep -nIiE '(pass(word)?|secret|token|api_key)' $(git rev-list --all)
git log -p --all -S 'PRIVATE KEY'