Post

1/ A former DevOps colleague recently woke up to a $70k GCP bill. And honestly, ๐—ถ๐˜ ๐—บ๐—ฎ๐˜† ๐—ฏ๐—ฒ ๐˜๐—ต๐—ฒ ๐—ฏ๐—ฒ๐˜€๐˜ ๐˜๐—ต๐—ถ๐—ป๐—ด ๐˜๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐—ฒ๐—ฑ ๐˜๐—ผ ๐˜๐—ต๐—ฒ๐—บ. After investigating, they found out that an ๐—”๐—ฃ๐—œ ๐—ธ๐—ฒ๐˜† created in ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฌ with no restrictions had been leaked and was now being ๐—ฎ๐—ฏ๐˜‚๐˜€๐—ฒ๐—ฑ ๐—ณ๐—ผ๐—ฟ ๐˜๐—ต๐—ฒ ๐—š๐—ฒ๐—บ๐—ถ๐—ป๐—ถ ๐—”๐—ฃ๐—œ.

0 reposts1 like

2/ They disabled the key immediately, only to discover it was tied to their Firebase SSO implementation. The key was meant to exist and to be public. It wasnโ€™t meant to be unrestricted.

3/ The developer who created it likely intended it for development only. He stayed at the company for just six months in 2020 and somehow, the key made it into production after he left. ๐—ฆ๐—ถ๐˜… ๐˜†๐—ฒ๐—ฎ๐—ฟ๐˜€ ๐—น๐—ฎ๐˜๐—ฒ๐—ฟ, ๐—ถ๐˜ ๐˜„๐—ฎ๐˜€ ๐—ฒ๐˜…๐—ฝ๐—น๐—ผ๐—ถ๐˜๐—ฒ๐—ฑ. ๐—”๐—ป๐—ฑ ๐—ต๐—ผ๐—ป๐—ฒ๐˜€๐˜๐—น๐˜†, ๐˜๐—ต๐—ถ๐˜€ ๐—บ๐—ถ๐—ด๐—ต๐˜'๐˜ƒ๐—ฒ ๐—ฏ๐—ฒ๐—ฒ๐—ป ๐˜๐—ต๐—ฒ ๐—ฏ๐—ฒ๐˜€๐˜ ๐—ผ๐˜‚๐˜๐—ฐ๐—ผ๐—บ๐—ฒ. ๐—”๐˜ ๐—น๐—ฒ๐—ฎ๐˜€๐˜ ๐—ถ๐˜ ๐˜„๐—ฎ๐˜€ ๐˜ƒ๐—ถ๐˜€๐—ถ๐—ฏ๐—น๐—ฒ.

4/ See, thereโ€™s a growing class of threats called ๐—”๐—ฃ๐—œ ๐˜„๐—ผ๐—ฟ๐—บ๐˜€. @trufflesec.bsky.social has been writing about them, and we now have real-world examples like ๐—ฆ๐—ต๐—ฎ๐—ถ-๐—›๐˜‚๐—น๐˜‚๐—ฑ. These rely on chaining trust across services. ๐—ก๐—ผ๐˜ on compromising hosts.

5/ ๐—” ๐˜๐˜†๐—ฝ๐—ถ๐—ฐ๐—ฎ๐—น ๐—ฝ๐—ฎ๐˜๐—ต ๐—น๐—ผ๐—ผ๐—ธ๐˜€ ๐—น๐—ถ๐—ธ๐—ฒ ๐˜๐—ต๐—ถ๐˜€: 1.A leaked API key is discovered (GitHub, S3, logs, etc.) 2.That key grants access to a service (storage, analytics, CI/CD) 3.Inside that service, more credentials are discovered