Enviar el código de una flota en funcionamiento sin enviar sus secretos
Envío
Nuestros kits provienen de código que ejecuta nuestra propia flota, donde los archivos de configuración contienen claves de API, tokens, contraseñas de correo y identificadores de cuenta. Un kit que filtre uno de ellos sería peor que no tener kit, así que nada se comprime hasta que tres escáneres en tres máquinas no hayan encontrado nada.
Qué se incluye
El empaquetador copia solo los archivos que nombra el manifiesto del kit, nunca una carpeta completa, y deja fuera cachés, copias de seguridad e historial de control de versiones. Los ejemplos y pruebas usan productos y cifras inventados, nunca los nuestros.
Los escaneos
- En la máquina de compilación: se buscan en los archivos preparados los valores reales de los secretos de la flota (132 en la última compilación) y las huellas SHA-256 de 16.259 cadenas secretas de nuestra estación de trabajo. Solo viajan las huellas; los secretos de la estación de trabajo nunca la abandonan.
- En dos máquinas más: los mismos archivos se envían a cada una y se buscan allí contra los secretos que esa máquina posee (498 y 129 valores), luego se eliminan.
- En todas partes: patrones para formatos de clave, direcciones privadas y datos personales.
- Antes de que cualquiera de ellos cuente: cada escáner se ejecuta primero sobre canarios plantados y debe encontrarlos todos, 23 por ejecución, o la compilación se detiene.
Un hallazgo detiene la compilación. Una vez que una versión se ha vendido, nunca se recompila: una corrección se envía como una nueva versión, por lo que el archivo que descarga el comprador es el archivo que fue escaneado.
Las falsas alarmas que más nos enseñaron
- Un comentario que comenzaba con «Each pass ends with» fue marcado como contraseña de aplicación de Gmail. Esas contraseñas son cuatro grupos de cuatro letras, y también lo es esa frase. Reformulamos el comentario.
- El rango de direcciones compartido 100.64.0.0/10, que usan NAT de nivel de operador y Tailscale, fue marcado como dirección privada.
- Un nombre de unidad systemd como
[email protected]parecía una dirección de correo electrónico, y un identificador de tienda de marcador de posición como9NXXXXXXXXXXparecía un producto real.
El comentario que reformulamos; los otros tres se permitieron para ese kit y ese patrón, nunca globalmente, para que el siguiente kit se escanee con la misma rigurosidad que el primero. Una falsa alarma cuesta un minuto, y una clave no detectada costaría mucho más.
Cada kit en venta pasó por esto, con cero hallazgos en cada versión.