Rakensin git-pre-push-hookin, joka käyttää LLM:ää skannaamaan diffit salaisuuksien varalta ennen kuin ne edes poistuvat koneesta. Näin se toimii 🧵
Kun käytät git pushia, koukku laukeaa ensin. Se selvittää, mikä on uutta — joko kaikki commitit uudessa haarassa tai vain uudet commitit olemassa olevassa — ja generoi git-diffin siitä, mitä on tulossa.
Tuo diff lähetetään Kimin CLI:lle tiukasti rajoitetun kehotteen kanssa. Mallia ohjeistetaan vastaamaan TÄSMÄLLEEN yhdellä kahdesta merkkijonosta: SAFE_TO_PUSH tai BLOCK_PUSH.
Se etsii tavallisia epäiltyjä: - API-avaimet (OpenAI, Anthropic, AWS...) - Salasanat ja todennusmerkit - Yksityisavaimet (SSH, SSL, JWT salaisuudet) - Tietokantayhteysjonot, joissa on uskottavuusarvot - .env-tiedostot, jotka hiipivät commit-tiedostoon
Jos se palaa BLOCK_PUSH, koukku poistuu 1:stä — työntö hylätään, ja näet tarkalleen, mitkä viivat laukaisivat sen, plus vakavuusarvion. Korjaa se, sitten paina uudelleen.
Hyvä puoli LLM:n käytössä regex-kuvioiden sijaan on se, että se ymmärtää kontekstin. Regex "sk-":lle nappaa OpenAI-avaimet, mutta puuttuu mukautetun sisäisen tokenin nimeltä PROD_SECRET. Malli tavoittaa molemmat.
199