Hacker News

Khóa API của Google không phải là bí mật, nhưng sau đó Gemini đã thay đổi quy tắc

Tìm hiểu cách Gemini thay đổi các quy tắc bảo mật khóa API của Google. Những điều nhà phát triển cần biết về việc bảo vệ các khóa API từng được coi là an toàn để lộ.

12 đọc tối thiểu

Mewayz Team

Editorial Team

Hacker News

Khi "Công khai theo thiết kế" trở thành trách nhiệm bảo mật

Trong gần hai thập kỷ, các nhà phát triển xây dựng trên hệ sinh thái của Google đã học được một bài học tinh tế nhưng quan trọng: Khóa API của Google không thực sự là bí mật. Nếu bạn nhúng khóa API dữ liệu YouTube vào tệp JavaScript thì Google sẽ không lo lắng. Nếu khóa API Maps của bạn xuất hiện trong kho lưu trữ GitHub công khai thì phản hồi bảo mật về cơ bản chỉ là một cái nhún vai và một lời nhắc nhở đặt giới hạn tên miền. Toàn bộ mô hình được xây dựng dựa trên giả định rằng các khóa này sẽ nằm trong mã phía máy khách, được hiển thị cho bất kỳ ai mở DevTools.

Triết lý đó đã có ý nghĩa trong một thời gian dài. Khóa API Maps được hiển thị mà không có hạn chế về miền có thể gây ra một hóa đơn bất ngờ, nhưng nó sẽ không xâm phạm hồ sơ bệnh nhân hoặc tiêu hao tài khoản ngân hàng. Bán kính vụ nổ là tài chính và có thể quản lý được. Công cụ của Google — hạn chế người giới thiệu, danh sách IP trắng, giới hạn hạn ngạch — được thiết kế để hạn chế thiệt hại chứ không ngăn chặn hoàn toàn việc lộ thông tin.

Sau đó Song Tử đến và luật lệ thay đổi. Vấn đề là hàng triệu nhà phát triển vẫn chưa nhận được bản ghi nhớ.

Mô hình tinh thần kế thừa hiện đang khiến các nhà phát triển bị đốt cháy

Trải nghiệm cũ của nhà phát triển Google đã được cho phép một cách có chủ ý. Khi bạn tạo khóa API JavaScript của Maps, tài liệu thực tế đã khuyến khích bạn thả khóa đó trực tiếp vào HTML của mình. Mô hình bảo mật không phải là bí mật - đó là sự hạn chế. Bạn sẽ khóa khóa miền của mình, đặt cảnh báo hạn ngạch và tiếp tục. Đây là kỹ thuật thực dụng: các ứng dụng phía máy khách thực sự không thể giữ bí mật với những người dùng quyết tâm, vì vậy Google đã xây dựng một hệ thống thừa nhận thực tế đó.

Điều này đã tạo ra một thế hệ các nhà phát triển - và quan trọng hơn là một thế hệ thói quen thể chế - trong đó các khóa API của Google chiếm một danh mục tinh thần khác với khóa bí mật Stripe hoặc thông tin xác thực truy cập AWS. Bạn sẽ không dán khóa bí mật Stripe của mình vào kho lưu trữ công khai. Nhưng phím Maps của bạn? Đó thực tế là một giá trị cấu hình, không phải là một bí mật. Nhiều nhóm đã lưu trữ chúng trong các tệp cấu hình công khai, tệp README, ngay cả trong các biến môi trường phía máy khách có tiền tố NEXT_PUBLIC_ hoặc REACT_APP_ mà không cần suy nghĩ kỹ.

Các nhà nghiên cứu bảo mật quét GitHub để tìm thông tin xác thực bị lộ cũng đã học cách xử lý các khóa API của Google theo cách khác. Khóa Maps bị rò rỉ là phát hiện có mức độ nghiêm trọng thấp. Chìa khóa Gemini bị rò rỉ là một cuộc trò chuyện hoàn toàn khác.

Điều gì đã thay đổi với Song Tử - và tại sao nó lại quan trọng

💡 BẠN CÓ BIẾT?

Mewayz replaces 8+ business tools in one platform

CRM · Hóa đơn · Nhân sự · Dự án · Đặt chỗ · Thương mại điện tử · POS · Phân tích. Gói miễn phí vĩnh viễn có sẵn.

Bắt đầu miễn phí →

API Gemini của Google không tuân theo cẩm nang cũ. Khi tạo khóa API Gemini thông qua Google AI Studio, bạn đang tạo thông tin xác thực có hồ sơ rủi ro về cơ bản khác với khóa Maps hoặc YouTube. Khóa Gemini xác thực quyền truy cập vào suy luận mô hình ngôn ngữ lớn — một dịch vụ tiêu tốn tài nguyên điện toán thực của Google và tính phí cho bạn bằng mã thông báo chứ không phải theo số lần xem trang.

Quan trọng hơn, các khóa API Gemini không có cùng cơ chế hạn chế miền tích hợp giúp việc lộ các khóa khác của Google có thể tồn tại được. Không có biện pháp kiểm soát "khóa cái này vào miền trang web của tôi" đơn giản để ngăn kẻ tấn công tìm thấy khóa của bạn trong kho lưu trữ công cộng khởi động ứng dụng của riêng họ và sử dụng hạn ngạch — hoặc giới hạn thanh toán của bạn — từ máy chủ ở quốc gia khác.

Mối nguy hiểm không chỉ ở tài chính. Khóa Gemini bị lộ có thể được sử dụng để tạo nội dung có hại, tiến hành các cuộc tấn công tiêm nhiễm nhanh chóng hoặc xây dựng các công cụ vi phạm điều khoản dịch vụ của Google — tất cả đều được tính phí vào tài khoản của bạn và có thể truy nguyên danh tính của bạn.

Vào năm 2024, các nhà nghiên cứu bảo mật đã xác định được hàng nghìn khóa API Gemini bị lộ chỉ riêng trên GitHub, nhiều khóa trong số đó nằm trong các kho lưu trữ trước đây đã lưu trữ các khóa API Google khác mà không gặp sự cố. Các nhà phát triển không hề liều lĩnh theo những tiêu chuẩn lịch sử của chính họ - họ đang áp dụng một mô hình tinh thần mà chính Google đã đào tạo họ sử dụng. Môi trường thay đổi nhanh hơn thói quen.

Giải phẫu của một sự phơi nhiễm tình cờ

Hiểu cách thức những phơi nhiễm này xảy ra là bước đầu tiên để ngăn chặn chúng.

...

Frequently Asked Questions

Tại sao Google cho phép khóa API được công khai trong mã nguồn?

Google đã cho phép việc công khai khóa API trong mã nguồn vì họ dựa vào giới hạn tên miền và quy trình kích hoạt của các đơn vị đăng ký. Các nhà phát triển sử dụng khóa API được phép trong phạm vi của dự án đã được cấp phép, nhưng những người khác không có quyền truy cập vào API.

Gemini đã thay đổi quy tắc gì về khóa API?

Gemini đã thay đổi quy tắc bằng cách giới hạn việc sử dụng khóa API công khai. Google bắt đầu yêu cầu các nhà phát triển không expose khóa API trong mã nguồn công khai, đặc biệt là cho các dịch vụ có liên quan đến AI và Gemini. Điều này tạo ra thách thức mới cho các nhà phát triển phải quản lý khóa API một cách an toàn.

Làm thế nào để bảo vệ khóa API của mình trên các platform như GitHub?

Để bảo vệ khóa API, các nhà phát triển nên sử dụng biến môi trường, file cấu hình không được commit vào kho lưu trữ, hoặc dịch vụ quản lý secret như Mewayz. Mewayz cung cấp 208 module có thể giúp quản lý khóa API một cách an toàn và hiệu quả. Bao gồm các module quản lý secret, provisioning, auditing và monitoring.

Tại sao việc công khai khóa API sẽ gây ra vấn đề bảo mật?

Việc công khai khóa API có thể dẫn đến việc người dùng lạm dụng API, sử dụng vượt quá giới hạn, gây ra chi phí cao hoặc gây ra các vấn đề bảo mật. Khi khóa API bị expose, bất kỳ ai cũng có thể sử dụng nó, dẫn đến chi phí không cần thiết và tiềm năng bị lạm dụng.

Dùng Thử Mewayz Miễn Phí

Nền tảng tất cả trong một cho CRM, hóa đơn, dự án, Nhân sự & hơn thế nữa. Không cần thẻ tín dụng.

Bắt đầu quản lý doanh nghiệp của bạn thông minh hơn ngay hôm nay.

Tham gia 30,000+ doanh nghiệp. Gói miễn phí vĩnh viễn · Không cần thẻ tín dụng.

Tìm thấy điều này hữu ích? Chia sẻ nó.

Sẵn sàng áp dụng vào thực tế?

Tham gia cùng 30,000+ doanh nghiệp đang sử dụng Mewayz. Gói miễn phí vĩnh viễn — không cần thẻ tín dụng.

Bắt đầu Dùng thử Miễn phí →

Sẵn sàng hành động?

Bắt đầu dùng thử Mewayz miễn phí của bạn ngay hôm nay

All-in-one business platform. No credit card required.

Bắt đầu miễn phí →

Dùng thử 14 ngày miễn phí · Không cần thẻ tín dụng · Hủy bất kỳ lúc nào