کلیدهای API گوگل بعد از حذف هم کار میکنن
خلاصهٔ کاملتر
تیم امنیتی Aikido در آزمایشی جالب فهمیدن که حذف کردن یه Google API key اصلاً به معنی توقف فوری دسترسی نیست. وقتی کلید رو حذف میکنی، GCP پیام میده که «دیگه قابل استفاده نیست» — ولی واقعیت اینه که تا ۲۳ دقیقه بعد از حذف، اون کلید هنوز روی بخشی از سرورهای گوگل معتبره.
دلیل این اتفاق چیه؟ زیرساخت گوگل از مدل Eventual Consistency (سازگاری تدریجی) استفاده میکنه؛ یعنی تغییرات بهجای اینکه فوری روی همه سرورها اعمال بشن، بهتدریج پخش میشن. این رویکرد برای مقیاسپذیری جهانی منطقیه، ولی برای ابطال اعتبارنامهها (credential revocation) میتونه خطرناک باشه.
تیم Aikido در ۱۰ آزمایش جداگانه، بعد از حذف کلید، هر ثانیه ۳ تا ۵ درخواست احراز هویت ارسال کردن. نتایج نشون داد کوتاهترین بازه ۸ دقیقه و طولانیترین نزدیک به ۲۳ دقیقه بود. نرخ موفقیت درخواستها هم کاملاً غیرقابل پیشبینی بود — یه دقیقه بعد از حذف، یه آزمایش ۷۹٪ موفقیت داشت، یه آزمایش دیگه فقط ۵٪.
آزمایش روی سه منطقه جغرافیایی GCP (آمریکا، اروپا، آسیا) هم نتایج جالبی داشت: سرورهای آسیا زودتر از سرورهای آمریکا تغییر رو اعمال کردن، که برخلاف انتظار اولیه بود. این نشون میده routing درخواستها پیچیدهتر از چیزیه که ظاهراً به نظر میرسه. در مقایسه، Service Account keyهای گوگل در حدود ۵ ثانیه و کلیدهای جدید Gemini API (با پیشوند AQ.) در حدود ۱ دقیقه ابطال میشن — یعنی این مشکل از نظر فنی قابل حله.
خطر عملی این باگ اینه که یه مهاجم با کلید لو رفته میتونه در این بازه ۲۳ دقیقهای به Gemini (از جمله فایلهای آپلودشده و مکالمات کششده)، BigQuery و Maps دسترسی داشته باشه — در حالی که کنسول GCP هیچ هشداری نمیده.
تا وقتی گوگل این مشکل رو برطرف کنه، دو راهکار عملی وجود داره:
- حذف کلید رو یه عملیات ۳۰ دقیقهای بدون — نه فوری. در incident response باید فرض کنی کلید تا ۳۰ دقیقه بعد از حذف هنوز زندهست.
- در طول این بازه، ترافیک API رو زیر نظر بگیر — بخش «Enabled APIs and services» در GCP نشون میده چه کلیدی چه درخواستهایی داشته.
نکات کلیدی:
- Google API keyها تا ۲۳ دقیقه بعد از حذف همچنان معتبرن
- پیام «بلافاصله حذف شد» در کنسول GCP گمراهکنندهست
- کلیدهای Service Account در ۵ ثانیه ابطال میشن — پس مشکل فنی قابلحلهست
- در بازه ابطال، مهاجم میتونه به Gemini، BigQuery و Maps دسترسی داشته باشه
- گوگل ابتدا گزارش رو رد کرد ولی بعد از انتشار، اون رو P0 اعلام کرد




