¿Qué sucede cuando se filtra una clave API?
Una clave API filtrada se utiliza casi de inmediato. Los escáneres automatizados monitorean continuamente los repositorios públicos, y un commit que contiene una clave suele ser detectado y probado antes de que el desarrollador termine la solicitud de extracción. La clave no necesita permanecer en el código final, ya que solo necesita existir en algún punto del historial de commits.
Ese punto en el historial es donde la mayoría de los desarrolladores se sorprenden. Eliminar una clave en un commit posterior no cambia nada; el repositorio aún la contiene, y un 'force-push' para reescribir el historial rara vez es lo suficientemente rápido. La suposición de que un repositorio privado es seguro falla de la misma manera, porque los repositorios cambian de visibilidad y los 'forks' sobreviven a sus padres. Algo que debe mantenerse fuera de la pantalla es cualquier credencial real, incluidas las caducadas y las capturas de pantalla de una consola que muestren un valor parcialmente enmascarado.
La práctica se presenta en siete escenas: una sobre cómo se encuentran las claves, una sobre el problema del historial, dos sobre el alcance y el mínimo privilegio para los tokens, una sobre dónde deben residir realmente los secretos, una sobre la rotación y lo que debe incluir un plan de rotación, y una sobre qué hacer en la primera hora después de una fuga sospechada.

