Jeg bygde en git pre-push hook som bruker en LLM for å skanne diffene dine for hemmeligheter før de forlater maskinen. Slik fungerer 🧵 det
Når du kjører git push, skyter kroken først. Den finner ut hva som er nytt — enten alle commits på en ny branch, eller bare de nye commits på en eksisterende — og genererer en git diff på nøyaktig hva som skal sendes ut.
Den differensialen sendes til Kimi CLI med en strengt begrenset prompt. Modellen blir instruert til å svare med NØYAKTIG én av to strenger: SAFE_TO_PUSH eller BLOCK_PUSH.
Den skanner etter de vanlige mistenkte: - API-nøkler (OpenAI, Anthropic, AWS...) - Passord og autentiseringstokens - Private nøkler (SSH, SSL, JWT hemmeligheter) - DB-tilkoblingsstrenger med legitimasjoner - .env-filer som snek seg inn i en commit
Hvis det kommer tilbake BLOCK_PUSH, går kroken ut av 1 — presset blir avvist, og du ser nøyaktig hvilke linjer som utløste det, pluss en alvorlighetsgrad. Fiks det, så press igjen.
Det fine med å bruke en LLM her i stedet for regex-mønstre: den forstår konteksten. En regex for "sk-" fanger opp OpenAI-nøkler, men mangler en tilpasset intern token kalt PROD_SECRET. Modellen fanger begge deler.
276