Kod z działającej floty bez wycieku sekretów
Wysyłka
Nasze zestawy pochodzą z kodu, który obsługuje naszą własną flotę, gdzie pliki konfiguracyjne zawierają klucze API, tokeny, hasła do skrzynek pocztowych i identyfikatory kont. Zestaw, który wycieknie choćby jeden z nich, byłby gorszy niż brak zestawu, więc nic nie jest pakowane w archiwum, dopóki trzy skanery na trzech maszynach nie znajdą nic.
Co trafia do środka
Pakietujący kopiuje tylko pliki wymienione w manifeście zestawu, nigdy cały folder, i pomija pamięci podręczne, kopie zapasowe oraz historię kontroli wersji. Przykłady i testy używają wymyślonych produktów i liczb, nigdy naszych.
Skanowanie
- Na maszynie budującej: przygotowane pliki są przeszukiwane pod kątem rzeczywistych wartości sekretów floty (132 przy ostatnim buildzie) oraz odcisków SHA-256 16 259 ciągów sekretów z naszej stacji roboczej. Tylko odciski są przesyłane; sekrety ze stacji roboczej nigdy jej nie opuszczają.
- Na dwóch kolejnych maszynach: te same pliki są wysyłane do każdej z nich i przeszukiwane tam pod kątem sekretów przechowywanych na danej maszynie (498 i 129 wartości), a następnie usuwane.
- Wszędzie: wzorce dla formatów kluczy, adresów prywatnych i danych osobowych.
- Zanim cokolwiek się liczy: każdy skaner najpierw działa na podstawionych kanarkach i musi znaleźć wszystkie, 23 na przebieg, inaczej build zostaje zatrzymany.
Wykrycie zatrzymuje build. Po sprzedaży wersji nigdy nie jest ona przebudowywana: poprawka trafia do sprzedaży jako nowa wersja, więc plik pobierany przez kupującego to ten sam plik, który został przeskanowany.
Fałszywe alarmy, które nauczyły nas najwięcej
- Komentarz zaczynający się od "Each pass ends with" został oznaczony jako hasło do aplikacji Gmail. Te hasła to cztery grupy po cztery litery i tak samo wygląda to zdanie. Zmieniliśmy treść komentarza.
- Wspólny zakres adresów 100.64.0.0/10, używany przez NAT klasy operatorskiej i Tailscale, został oznaczony jako adres prywatny.
- Nazwa jednostki systemd taka jak
[email protected]wyglądała jak adres e-mail, a identyfikator sklepu w formie zastępczej taki jak9NXXXXXXXXXXwyglądał jak prawdziwy produkt.
Zmieniliśmy treść komentarza; pozostałe trzy przypadki zostały dopuszczone dla tego jednego zestawu i tego jednego wzorca, nigdy globalnie, więc następny zestaw jest skanowany tak samo rygorystycznie jak pierwszy. Fałszywy alarm kosztuje minutę, a przeoczony klucz kosztowałby znacznie więcej.
Każdy zestaw w sprzedaży przeszedł przez ten proces, z zerową liczbą wykryć przy każdym wydaniu.