Nguồn: Google AI Developer Forum

Tóm tắt

Một developer đã phát hiện khoản hóa đơn bất ngờ lên đến €54,000 chỉ trong 13 giờ sau khi Firebase browser API key không được cấu hình restriction bị lợi dụng để gọi Gemini APIs. Đây là ví dụ điển hình về rủi ro bảo mật nghiêm trọng khi để lộ API key không được giới hạn trong môi trường client-side (browser).

Firebase browser key theo bản chất được thiết kế để expose công khai trong code phía client — đây là điều bình thường và có chủ ý. Tuy nhiên, khi key này không được cấu hình API restrictions để chỉ cho phép gọi một số API nhất định, kẻ tấn công có thể dùng key đó để gọi bất kỳ API nào trong dự án Google Cloud, bao gồm các Gemini APIs tốn kém. Đây là khoảng cách nguy hiểm giữa cách Firebase keys được dùng và cách Google Cloud billing hoạt động.

Sự cố này nêu bật vấn đề về mặc định cấu hình không an toàn: developers thường tạo Firebase project và copy browser key vào code mà không hiểu cần phải restrict key đó chỉ cho phép các APIs cụ thể. Google Cloud Console cho phép cấu hình “API restrictions” cho từng key, nhưng nhiều developer không biết hoặc bỏ qua bước này. (Không thể truy cập toàn bộ nội dung thread forum.)

Bài học thực tế: bất kỳ API key nào expose phía client đều phải được restrict chỉ đến đúng APIs cần thiết, và nên bật budget alerts trên Google Cloud để phát hiện sớm các spike bất thường. Google có thể hoặc không hoàn tiền tùy trường hợp.

👉 Đọc bài gốc