
Trí tuệ nhân tạo (AI) đang được tích hợp ngày càng sâu vào quy trình phát triển phần mềm, đặc biệt trong các hệ thống CI/CD nhằm tự động hóa nhiều tác vụ cho lập trình viên. Tuy nhiên, việc đưa AI vào chuỗi phát triển phần mềm cũng mở ra những bề mặt tấn công mới và các rủi ro bảo mật chưa từng xuất hiện trước đây.
Mới đây, các nhà nghiên cứu bảo mật đã công bố lỗ hổng Gemini CLI mang mã định danh CVE-2026-12537, cho phép kẻ tấn công thực thi mã từ xa (RCE) trong một số môi trường CI/CD, đặc biệt là các workflow sử dụng GitHub Actions. Vụ việc tiếp tục gióng lên hồi chuông cảnh báo về nguy cơ phát sinh từ các cơ chế tin cậy mặc định trong hệ thống tự động hóa.
Nội dung
Gemini CLI là gì và được sử dụng như thế nào?
Gemini CLI là công cụ dòng lệnh do Google phát triển nhằm giúp lập trình viên tương tác với mô hình AI Gemini ngay trong môi trường phát triển phần mềm. Công cụ này hỗ trợ nhiều tác vụ như phân tích mã nguồn, tạo đoạn mã mới, kiểm tra lỗi, giải thích cấu trúc dự án và hỗ trợ xử lý các công việc lặp lại.

Trong môi trường phát triển hiện đại, nhiều nhóm DevOps đã tích hợp Gemini CLI vào các quy trình CI/CD để tăng tốc độ phát triển phần mềm. Khi một Pull Request được tạo hoặc khi mã nguồn được cập nhật, pipeline có thể tự động kích hoạt Gemini CLI để phân tích hoặc xử lý các tác vụ liên quan đến mã nguồn. Việc tự động hóa này giúp tăng tốc quá trình phát triển phần mềm, nhưng đồng thời cũng mở rộng bề mặt tấn công nếu các cơ chế bảo mật không được thiết kế và kiểm soát chặt chẽ.
Lỗ hổng Gemini CLI CVE-2026-12537 là gì?
Lỗ hổng Gemini CLI được theo dõi với mã định danh CVE-2026-12537 và được đánh giá ở mức nghiêm trọng. Theo các nhà nghiên cứu bảo mật, lỗ hổng này có thể cho phép kẻ tấn công thực thi mã từ xa (Remote Code Execution – RCE) trong một số môi trường CI/CD mà không yêu cầu tương tác từ người dùng.
Lỗ hổng ảnh hưởng đến các phiên bản Gemini CLI trước 0.39.1 và 0.40.0-preview.3, đồng thời ảnh hưởng đến GitHub Action run-gemini-cli trước phiên bản 0.1.22. Do có thể bị khai thác từ xa, độ phức tạp tấn công thấp và không yêu cầu quyền truy cập ban đầu, lỗ hổng này được đánh giá có mức độ nghiêm trọng cao đối với tính bảo mật, tính toàn vẹn và tính sẵn sàng của hệ thống.
Đối với các doanh nghiệp sử dụng CI/CD để triển khai ứng dụng liên tục, nguy cơ không chỉ dừng lại ở việc mất dữ liệu. Một cuộc tấn công thành công có thể dẫn đến rò rỉ bí mật hệ thống, sửa đổi mã nguồn, chèn mã độc vào sản phẩm hoặc làm gián đoạn toàn bộ quy trình phát triển phần mềm.
Nguyên nhân của lỗ hổng Gemini CLI
Nguyên nhân chính của lỗ hổng xuất phát từ cách Gemini CLI xử lý môi trường không tương tác, còn gọi là headless environment. Đây là môi trường thường xuất hiện trong các hệ thống CI/CD, nơi mọi tác vụ được thực hiện tự động mà không có sự can thiệp trực tiếp của con người.
Trong các phiên bản cũ, Gemini CLI tự động tin tưởng thư mục làm việc khi chạy ở chế độ không tương tác. Khi đó, các tệp cấu hình cục bộ, bao gồm cả các biến môi trường trong thư mục .gemini/.env, sẽ được tải mà không trải qua bước xác minh.
Xét dưới góc độ bảo mật, đây là một cơ chế tiềm ẩn nhiều rủi ro. Nếu một repository chứa tệp cấu hình bị chỉnh sửa bởi người không đáng tin cậy, Gemini CLI vẫn có thể đọc và thực thi các thiết lập bên trong tệp đó. Điều này mở ra cơ hội cho kẻ tấn công chèn các lệnh độc hại và lợi dụng pipeline CI/CD để thực hiện hành vi trái phép.
Cơ chế khai thác lỗ hổng Gemini CLI
Một kịch bản tấn công điển hình có thể bắt đầu từ một Pull Request được gửi đến repository. Kẻ tấn công chỉ cần đưa vào Pull Request một tệp .gemini/.env được tạo đặc biệt với các biến môi trường chứa nội dung độc hại.
Khi GitHub Actions kích hoạt pipeline và sử dụng phiên bản Gemini CLI dễ bị ảnh hưởng, công cụ sẽ tự động coi thư mục làm việc là đáng tin cậy. Tệp .gemini/.env sau đó được nạp vào môi trường thực thi của pipeline, cho phép các lệnh hoặc cấu hình độc hại được xử lý ngoài ý muốn.
Quá trình này diễn ra hoàn toàn tự động và không yêu cầu bất kỳ tương tác nào từ lập trình viên hoặc quản trị viên hệ thống. Vì pipeline thường được cấp nhiều quyền để phục vụ quá trình build và triển khai, kẻ tấn công có thể tận dụng các quyền này để mở rộng phạm vi xâm nhập.
Rủi ro từ chế độ –yolo của Gemini CLI
Ngoài vấn đề liên quan đến cơ chế tin cậy workspace, các nhà nghiên cứu còn phát hiện thêm một điểm yếu trong chế độ – yolo của Gemini CLI.
Trong chế độ này, Gemini CLI trước đây không áp dụng đầy đủ cơ chế giới hạn công cụ được phép thực thi. Nếu workflow CI/CD cho phép thực thi lệnh shell, kẻ tấn công có thể sử dụng kỹ thuật Prompt Injection để buộc công cụ thực hiện các lệnh ngoài ý muốn.
Prompt Injection là kỹ thuật chèn các chỉ dẫn độc hại vào dữ liệu đầu vào nhằm thao túng hành vi của mô hình AI và khiến hệ thống thực hiện những tác vụ ngoài ý định ban đầu. Trong môi trường tự động hóa, kỹ thuật này đặc biệt nguy hiểm vì nhiều tác vụ được thực hiện với quyền truy cập cao và ít có sự giám sát của con người.
Doanh nghiệp có thể bị ảnh hưởng như thế nào?
Mặc dù lỗ hổng xuất hiện trong một công cụ dành cho lập trình viên, tác động của nó có thể lan rộng đến toàn bộ tổ chức.
Trước hết, kẻ tấn công có thể truy cập các secrets hoặc thông tin nhạy cảm được lưu trong môi trường CI/CD. Đây có thể là khóa API, token triển khai, thông tin xác thực cơ sở dữ liệu hoặc khóa truy cập dịch vụ đám mây. Việc đánh cắp những thông tin này có thể dẫn đến các cuộc tấn công tiếp theo vào hạ tầng doanh nghiệp.
Tiếp theo, kẻ tấn công có khả năng sửa đổi các build artifacts trước khi sản phẩm được phát hành. Điều này làm gia tăng nguy cơ tấn công chuỗi cung ứng phần mềm (Software Supply Chain Attack), trong đó mã độc được chèn vào sản phẩm hợp pháp trước khi phát hành tới người dùng cuối.
Trong một số trường hợp, lỗ hổng còn có thể cho phép thực thi mã ở cấp độ máy chủ trong môi trường CI. Khi đó, kẻ tấn công có thể chiếm quyền kiểm soát hệ thống, di chuyển sang các máy chủ khác trong mạng nội bộ hoặc làm gián đoạn toàn bộ hoạt động phát triển phần mềm của doanh nghiệp.
Google đã khắc phục lỗ hổng như thế nào?
Sau khi nhận được báo cáo từ các nhà nghiên cứu bảo mật, Google đã phát hành các bản vá cho Gemini CLI và GitHub Action liên quan.
Các phiên bản mới không còn tự động tin tưởng workspace trong môi trường không tương tác. Thay vào đó, việc đánh dấu workspace đáng tin cậy phải được thực hiện một cách rõ ràng. Điều này giúp giảm đáng kể nguy cơ tải các tệp cấu hình độc hại từ repository.
Bên cạnh đó, Google cũng điều chỉnh cơ chế thực thi công cụ trong chế độ –yolo. Các danh sách công cụ được phép sử dụng vẫn tiếp tục được áp dụng, ngăn chặn việc thực hiện các lệnh trái phép ngoài phạm vi được cho phép.
Những thay đổi này góp phần nâng cao tính an toàn cho các workflow sử dụng Gemini CLI trong môi trường CI/CD.
Cách phòng tránh lỗ hổng Gemini CLI
Các tổ chức đang sử dụng Gemini CLI nên nhanh chóng rà soát hạ tầng CI/CD của mình và áp dụng các biện pháp giảm thiểu rủi ro.
Biện pháp đầu tiên là nâng cấp Gemini CLI lên phiên bản 0.39.1 hoặc 0.40.0-preview.3 trở lên, đồng thời cập nhật run-gemini-cli lên phiên bản 0.1.22 hoặc mới hơn.
Tiếp theo, doanh nghiệp chỉ nên sử dụng biến môi trường GEMINI_TRUST_WORKSPACE cho các repository thực sự đáng tin cậy. Việc kích hoạt cơ chế tin cậy một cách tùy tiện có thể vô tình tạo điều kiện cho các cuộc tấn công tương tự xảy ra trong tương lai.
Ngoài ra, các workflow cần được cấu hình theo nguyên tắc quyền tối thiểu. Chỉ những công cụ thực sự cần thiết mới nên được phép thực thi và cần hạn chế tối đa việc cấp quyền chạy các lệnh shell.
Cuối cùng, các pipeline xử lý dữ liệu đến từ Pull Request công khai hoặc nguồn không xác định cần được kiểm tra đặc biệt cẩn thận. Việc xác thực đầu vào và xây dựng cơ chế kiểm duyệt phù hợp sẽ giúp giảm đáng kể nguy cơ bị khai thác.
Lỗ hổng Gemini CLI CVE-2026-12537 là một ví dụ điển hình cho thấy những rủi ro bảo mật mới phát sinh khi các công cụ AI được tích hợp ngày càng sâu vào quy trình phát triển phần mềm. Chỉ một cơ chế tin cậy mặc định tưởng chừng vô hại cũng có thể trở thành điểm khởi đầu cho các cuộc tấn công thực thi mã từ xa (RCE) và tấn công chuỗi cung ứng phần mềm.
Trong bối cảnh AI đang trở thành thành phần quan trọng của hệ sinh thái DevOps hiện đại, các doanh nghiệp cần áp dụng nguyên tắc Zero Trust, thường xuyên cập nhật bản vá bảo mật và xây dựng các cơ chế kiểm soát thực thi nghiêm ngặt trong môi trường CI/CD. Chủ động nhận diện và xử lý các lỗ hổng như CVE-2026-12537 không chỉ giúp bảo vệ hệ thống hiện tại mà còn góp phần đảm bảo sự an toàn lâu dài cho toàn bộ quy trình phát triển phần mềm.
Xem thêm: Luật Trí tuệ nhân tạo 2026: Doanh nghiệp cần chuẩn bị gì để tránh rủi ro pháp lý?
