Ipadala ang code mula sa gumagana na fleet nang hindi isinasama ang mga lihim nito
Shipping
Ang aming mga kit ay galing sa code na pinapatakbo ng aming sariling fleet, kung saan ang mga configuration file ay naglalaman ng API keys, tokens, password ng mailbox at account ids. Ang kit na maglalabas ng isa sa mga ito ay mas masama pa kaysa walang kit, kaya walang i-zip hangga't hindi natuklasan ng tatlong scanner sa tatlong makina ang wala.
Ano ang isinasama
Ang packager ay kumokopya lamang ng mga file na tinutukoy ng manifest ng kit, hindi kailanman ang buong folder, at iniwan ang mga cache, backup at history ng version-control. Ang mga halimbawa at tests ay gumagamit ng mga imahinasyon na produkto at numero, hindi sa amin.
Ang mga scan
- Sa build machine: hinahanap sa mga staged file ang aktwal na halaga ng mga lihim ng fleet (132 sa huling build) at ang mga SHA-256 fingerprint ng 16,259 secret string mula sa aming workstation. Ang mga fingerprint lamang ang naglalakbay; ang mga lihim ng workstation ay hindi kailanman lumalabas dito.
- Sa dalawang karagdagang makina: ang parehong file ay ipinapadala sa bawat isa at hinahanap doon laban sa mga lihim na hawak ng makina (498 at 129 na halaga), pagkatapos ay binubura.
- Sa lahat ng lugar: mga pattern para sa format ng key, private address at personal data.
- Bago mabilang ang anumang ito: ang bawat scanner ay tumatakbo muna sa mga planted canary at kailangang mahanap ang lahat ng ito, 23 bawat run, o titigil ang build.
Ang isang natuklasan ay titigil sa build. Kapag ang isang version ay naibenta na, hindi na ito muling binubuo: ang pag-aayos ay ipinapadala bilang bagong version, kaya ang file na idinownload ng mamimili ay ang file na na-scan.
Ang mga maling alarma na pinakamarami ang itinuro sa amin
- Ang isang comment na nagsimula sa "Each pass ends with" ay na-flag bilang Gmail app password. Ang mga password na iyon ay apat na grupo ng apat na letra, at gayun din ang pariralang iyon. Binago namin ang salita ng comment.
- Ang shared address range na 100.64.0.0/10, na ginagamit ng carrier-grade NAT at Tailscale, ay na-flag bilang private address.
- Ang isang systemd unit name tulad ng
[email protected]ay mukhang email address, at ang isang placeholder store id tulad ng9NXXXXXXXXXXay mukhang tunay na produkto.
Ang comment na binago namin; ang tatlong iba ay pinayagan para sa iisang kit at iisang pattern, hindi kailanman globally, kaya ang susunod na kit ay i-scan nang kasing mahigpit ng una. Ang isang maling alarma ay kumakain ng isang minuto, at ang isang hindi natuklasang key ay mas magastos.
Bawat kit na ibinebenta ay dumaan dito, na may zero findings sa bawat release.