Código de uma frota em operação, sem enviar seus segredos
Envio
Nossos kits vêm de código que opera nossa própria frota, onde arquivos de configuração contêm chaves de API, tokens, senhas de caixa de correio e IDs de conta. Um kit que vazar um deles seria pior do que não ter kit nenhum, então nada é compactado até que três scanners em três máquinas não encontrem nada.
O que entra
O empacotador copia apenas os arquivos listados no manifesto do kit, nunca uma pasta inteira, e exclui caches, backups e histórico de controle de versão. Exemplos e testes usam produtos e valores inventados, nunca os nossos.
As varreduras
- Na máquina de build: os arquivos em staging são procurados pelos valores reais dos segredos da frota (132 no último build) e pelas impressões digitais SHA-256 de 16.259 strings secretas de nossa estação de trabalho. Apenas as impressões digitais viajam; os segredos da estação de trabalho nunca saem dela.
- Em mais duas máquinas: os mesmos arquivos são enviados para cada uma e procurados lá contra os segredos que cada máquina possui (498 e 129 valores), depois excluídos.
- Em todos os lugares: padrões para formatos de chave, endereços privados e dados pessoais.
- Antes que qualquer uma delas conte: cada scanner primeiro roda em canários plantados e deve encontrar todos eles, 23 por execução, ou o build para.
Uma detecção para o build. Uma vez que uma versão foi vendida, ela nunca é reconstruída: uma correção é enviada como uma nova versão, então o arquivo que o comprador baixa é o arquivo que foi escaneado.
Os falsos positivos que mais nos ensinaram
- Um comentário que começava com "Each pass ends with" foi sinalizado como uma senha de app do Gmail. Essas senhas são quatro grupos de quatro letras, e essa frase também é. Reescrevemos o comentário.
- A faixa de endereços compartilhada 100.64.0.0/10, usada por NAT de operadora e Tailscale, foi sinalizada como endereço privado.
- Um nome de unidade systemd como
[email protected]parecia um endereço de e-mail, e um ID de loja placeholder como9NXXXXXXXXXXparecia um produto real.
O comentário que reescrevemos; os outros três foram permitidos para aquele kit específico e aquele padrão específico, nunca globalmente, então o próximo kit é escaneado com o mesmo rigor do primeiro. Um falso positivo custa um minuto, e uma chave não detectada custaria muito mais.
Cada kit à venda passou por isso, com zero detecções em cada lançamento.