Saya membuat git pre-push hook yang menggunakan LLM untuk memindai diff Anda untuk rahasia sebelum mereka meninggalkan mesin Anda. Begini cara kerjanya 🧵
Saat Anda menjalankan git push, hook menembak terlebih dahulu. Ini mencari tahu apa yang baru — baik semua commit pada cabang baru, atau hanya commit baru pada cabang yang sudah ada — dan menghasilkan git diff dari apa yang akan keluar.
Perbedaan itu dikirim ke Kimi CLI dengan prompt yang dibatasi ketat. Model ini diinstruksikan untuk merespons dengan TEPAT salah satu dari dua string: SAFE_TO_PUSH atau BLOCK_PUSH.
Ini memindai tersangka biasa: - Kunci API (OpenAI, Anthropic, AWS...) - Kata sandi & token autentikasi - Kunci pribadi (rahasia SSH, SSL, JWT) - String koneksi DB dengan kredensi - File .env yang menyelinap ke dalam commit
Jika kembali BLOCK_PUSH, kait keluar dari 1 — dorongan ditolak, dan Anda melihat dengan tepat garis mana yang memicunya, ditambah peringkat keparahan. Perbaiki, lalu dorong lagi.
Hal yang menyenangkan tentang menggunakan LLM di sini alih-alih pola regex: memahami konteks. Regex untuk "sk-" menangkap kunci OpenAI tetapi melewatkan token internal khusus bernama PROD_SECRET. Model menangkap keduanya.
248