Cosa succede quando una chiave API viene esposta
Una chiave API esposta viene utilizzata quasi immediatamente. Gli scanner automatizzati monitorano continuamente i repository pubblici e un commit contenente una chiave viene solitamente rilevato e testato prima che lo sviluppatore abbia completato la pull request. La chiave non deve necessariamente sopravvivere nel codice finale, perché è sufficiente che esista da qualche parte nella cronologia dei commit.
È proprio quel punto nella cronologia a sorprendere la maggior parte degli sviluppatori. Rimuovere una chiave in un commit successivo non cambia nulla: il repository la contiene ancora e un force-push per riscrivere la cronologia raramente è abbastanza veloce. L'ipotesi che un repository privato sia sicuro fallisce allo stesso modo, perché i repository cambiano visibilità e i fork sopravvivono ai loro genitori. Una cosa da tenere assolutamente fuori dallo schermo è qualsiasi credenziale reale, incluse quelle scadute e gli screenshot di una console che mostrano un valore parzialmente mascherato.
Questa pratica è illustrata in sette scene: una su come vengono trovate le chiavi, una sul problema della cronologia, due sulla definizione dell'ambito e il minimo privilegio per i token, una su dove dovrebbero risiedere effettivamente i segreti, una sulla rotazione e cosa deve includere un piano di rotazione, e una su cosa fare nella prima ora dopo una sospetta esposizione.

