WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
141
2.016 bài viết
Lỗi cấu hình Gemini Live có thể biến trợ lý AI thành công cụ thực thi mã
Alvin Ferdiansyah, một nhà nghiên cứu an ninh mạng, vừa phát hiện một lỗ hổng trong cách triển khai Google Gemini Live API. Do cơ chế cấp phát token được cấu hình chưa chặt chẽ, người dùng có thể thay đổi các thiết lập quan trọng của phiên AI như chỉ thị hệ thống và công cụ được phép sử dụng, từ đó kích hoạt tính năng thực thi mã ngoài dự kiến của nhà phát triển.
gemini live.png

Theo phân tích của Ferdiansyah, Gemini Live API được thiết kế để hỗ trợ các trợ lý AI thời gian thực thông qua kết nối WebSocket. Để tránh lộ khóa API trên trình duyệt, Google cung cấp cơ chế token tạm thời (ephemeral token) dành cho các ứng dụng phía người dùng. Tuy nhiên, mỗi phiên làm việc đều bắt đầu bằng một gói cấu hình do client gửi lên, trong đó xác định mô hình AI, chỉ thị hệ thống và danh sách công cụ được phép sử dụng như tìm kiếm Google, truy xuất URL hoặc thực thi mã. Nếu máy chủ không áp đặt các ràng buộc cần thiết, những tham số này có thể bị thay đổi bởi phía người dùng.

Google đã cung cấp cơ chế kiểm soát thông qua trường live_connect_constraints, cho phép khóa trước các tham số của phiên ngay khi tạo token. Tuy nhiên, nhà nghiên cứu phát hiện kho mã mẫu chính thức dành cho Gemini Live API lại không cấu hình trường này. Điều đó có nghĩa các nhóm phát triển sử dụng trực tiếp mã tham khảo có thể vô tình triển khai hệ thống mà không kích hoạt cơ chế ràng buộc phiên. Khi đó, token chỉ xác nhận người dùng được phép kết nối tới dịch vụ, nhưng không giới hạn những công cụ hoặc thiết lập mà họ có thể sử dụng sau khi kết nối thành công.

Trong quá trình thử nghiệm trên một trợ lý AI dành cho người dùng cuối, Ferdiansyah đã đăng ký tài khoản thông thường, thu được token hợp lệ và kết nối trực tiếp tới dịch vụ. Sau đó, ông gửi một gói cấu hình tùy chỉnh để thay đổi chỉ thị hệ thống và kích hoạt công cụ thực thi mã. Máy chủ chấp nhận các thay đổi này và cho phép chạy thành công mã Python trong môi trường sandbox của Google. Để xác minh đây là quá trình thực thi thực sự chứ không phải phản hồi do mô hình AI tạo ra, nhà nghiên cứu đã sử dụng cơ chế kiểm chứng bằng giá trị ngẫu nhiên kết hợp với thông tin hệ thống trong môi trường thực thi. Kết quả thu được xác nhận đoạn mã đã được thực thi thành công.

Dù môi trường gVisor của Google ngăn chặn truy cập mạng bên ngoài và hạn chế khả năng thoát khỏi sandbox, lỗ hổng vẫn có thể bị lợi dụng để sử dụng trái phép tài nguyên tính toán hoặc kích hoạt các công cụ mà nhà phát triển không chủ định cấp quyền. Theo Ferdiansyah, việc khắc phục tương đối đơn giản. Các nhà phát triển chỉ cần cấu hình trường live_connect_constraints.bidi_generate_content_setup khi tạo token để cố định mô hình, chỉ thị hệ thống và danh sách công cụ được phép sử dụng. Khi đó, mọi thay đổi từ phía client sẽ bị từ chối.

Sự việc cho thấy rủi ro trong các hệ thống AI hiện đại không chỉ đến từ bản thân mô hình ngôn ngữ mà còn xuất phát từ các thành phần tích hợp như API, cơ chế xác thực và quản lý quyền hạn. Khi AI ngày càng được trao khả năng thực thi mã và tương tác với các hệ thống bên ngoài, một sai sót cấu hình tưởng chừng nhỏ cũng có thể mở ra những con đường tấn công ngoài dự kiến. Đồng thời, đây cũng là lời nhắc nhở đối với các nhóm phát triển rằng việc sử dụng mã mẫu từ nhà cung cấp không đồng nghĩa với an toàn tuyệt đối. Các cơ chế kiểm soát quyền hạn và ràng buộc phiên vẫn cần được rà soát, đánh giá độc lập trước khi đưa sản phẩm vào môi trường thực tế.​
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
an ninh mạng ai bảo mật ai gemini ai gemini live api google ai google gemini live lỗ hổng ai lỗ hổng gemini live token tạm thời
Bên trên