Versandcode aus einer funktionierenden Flotte, ohne ihre Geheimnisse zu versenden
Versand
Unsere Kits stammen aus Code, der unsere eigene Flotte betreibt, wo Konfigurationsdateien API-Schlüssel, Tokens, Mailbox-Passwörter und Konten-IDs enthalten. Ein Kit, das eines davon leckt, wäre schlimmer als gar kein Kit, daher wird nichts gepackt, bis drei Scanner auf drei Maschinen nichts gefunden haben.
Was hineinkommt
Der Packager kopiert nur die Dateien, die im Manifest eines Kits genannt werden, nie einen ganzen Ordner, und lässt Caches, Backups und Versionsverlauf weg. Beispiele und Tests verwenden erfundene Produkte und Zahlen, nie unsere.
Die Scans
- Auf der Build-Maschine: Die gestagten Dateien werden nach den tatsächlichen Werten der Geheimnisse der Flotte (132 beim letzten Build) und nach den SHA-256-Fingerabdrücken von 16.259 Geheimzeichenketten von unserem Arbeitsplatzrechner durchsucht. Nur die Fingerabdrücke werden übertragen; die Geheimnisse des Arbeitsplatzrechners verlassen ihn nie.
- Auf zwei weiteren Maschinen: Dieselben Dateien werden an jede davon gesendet und dort gegen die Geheimnisse durchsucht, die diese Maschine besitzt (498 und 129 Werte), dann gelöscht.
- Überall: Muster für Schlüssel-Formate, private Adressen und personenbezogene Daten.
- Bevor irgendetwas zählt: Jeder Scanner läuft zuerst auf platzierten Canaries und muss alle finden, 23 pro Durchlauf, sonst stoppt der Build.
Ein Fund stoppt den Build. Sobald eine Version verkauft wurde, wird sie nie neu gebaut: Ein Fix wird als neue Version ausgeliefert, sodass die Datei, die ein Käufer herunterlädt, die Datei ist, die gescannt wurde.
Die Fehlalarme, die uns am meisten gelehrt haben
- Ein Kommentar, der mit "Each pass ends with" begann, wurde als Gmail-App-Passwort markiert. Diese Passwörter bestehen aus vier Gruppen mit vier Buchstaben, und das tut dieser Satz auch. Wir haben den Kommentar umformuliert.
- Der gemeinsame Adressbereich 100.64.0.0/10, den Carrier-Grade-NAT und Tailscale verwenden, wurde als private Adresse markiert.
- Ein systemd-Unit-Name wie
[email protected]sah aus wie eine E-Mail-Adresse, und eine Platzhalter-Store-ID wie9NXXXXXXXXXXsah aus wie ein echtes Produkt.
Den Kommentar haben wir umformuliert; die anderen drei wurden für dieses eine Kit und dieses eine Muster erlaubt, nie global, sodass das nächste Kit genauso streng gescannt wird wie das erste. Ein Fehlalarm kostet eine Minute, ein übersehener Schlüssel würde viel mehr kosten.
Jedes Kit im Angebot hat dies durchlaufen, mit null Funden bei jedem Release.