Đừng để AI viết code thay bạn trước khi biết điều này về GitHub Copilot

Duy Linh
Duy Linh
Phản hồi: 0

Duy Linh

Writer
Duy Linh

Duy Linh Đã xác thực

Các tác nhân lập trình mới của GitHub Copilot được tích hợp trong các IDE đang tồn tại một lỗ hổng bảo mật đáng chú ý. Theo nghiên cứu đăng trên Arxiv, các tác nhân này có thể bị khai thác thông qua một dạng tấn công bẻ khóa ở "cấp độ quy trình làm việc", cho phép tạo ra mã độc hại ngay trong quá trình thực hiện các tác vụ phát triển phần mềm thông thường mà không nhận ra hành vi nguy hiểm.
1783913830079.png

Nhóm nghiên cứu đã phân tích GitHub Copilot trên Visual Studio Code và phát hiện rằng các mô hình vốn có thể từ chối những yêu cầu độc hại trong cửa sổ trò chuyện vẫn có thể bị thao túng khi các yêu cầu này được nhúng vào quy trình lập trình nhiều bước.

Lỗ hổng xuất hiện khi AI xử lý quy trình làm việc nhiều bước

Các quy trình bị lợi dụng bao gồm tạo bài kiểm thử, tối ưu hóa điểm chuẩn hoặc tinh chỉnh đường dẫn xử lý. Thay vì yêu cầu trực tiếp AI "viết phần mềm độc hại" hoặc "tạo mã khai thác", kẻ tấn công ngụy trang mục tiêu dưới dạng các tác vụ quen thuộc trong IDE, chẳng hạn như nhập tệp CSV chứa dữ liệu điểm chuẩn, tối ưu hóa kết quả hoặc xây dựng bộ dữ liệu huấn luyện.

Trong những trường hợp này, các chuỗi độc hại chỉ xuất hiện như một phần dữ liệu mà tác nhân cần xử lý và cải thiện. Nếu từ chối xử lý, AI sẽ làm gián đoạn toàn bộ quy trình, vì vậy cơ chế bảo vệ thường không kích hoạt.

Theo các nhà nghiên cứu, điểm khác biệt của hình thức tấn công này không nằm ở một câu lệnh đơn lẻ mà ở cách tác nhân Copilot phối hợp nhiều bước như đọc tệp, chỉnh sửa mã, thực thi tập lệnh và kiểm tra kết quả trong cùng một quy trình làm việc.
1783914072309.png

Các cuộc tấn công bẻ khóa cấp độ quy trình làm việc (Nguồn: Arxiv)
Nghiên cứu gọi hiện tượng này là "cấu trúc bẻ khóa ở cấp độ quy trình làm việc" (workflow-level jailbreak structure).

Để đánh giá mức độ ảnh hưởng, nhóm nghiên cứu sử dụng 204 lời nhắc độc hại được lấy từ Bộ luật Hammurabi, HarmBench và AdvBench. Các lời nhắc bao gồm nhiều nhóm hành vi nguy hiểm như lập trình không an toàn, mẫu mã khai thác và các nội dung có thể phục vụ mục đích tấn công.

Ở ba kịch bản cơ bản gồm trò chuyện trực tiếp, đọc tệp CSV và yêu cầu sửa lỗi mã một bước, các mô hình gần như luôn từ chối thực hiện các yêu cầu nguy hiểm. Điều này cho thấy các cơ chế bảo vệ hiện tại vẫn hoạt động hiệu quả khi đầu vào mang đặc điểm của những lời nhắc tấn công truyền thống.

Nghiên cứu cảnh báo cần thay đổi cách bảo vệ các tác nhân AI lập trình

Khi những lời nhắc độc hại được đưa vào quy trình làm việc thực tế của tác nhân IDE, kết quả lại hoàn toàn khác. GitHub Copilot đã tạo ra 816 kết quả đầu ra, tất cả đều được các chuyên gia đánh giá thủ công xác nhận là cụ thể, khả thi và đáp ứng đúng yêu cầu ban đầu, mặc dù trước đó các yêu cầu tương tự đã bị từ chối trong cửa sổ trò chuyện.

Theo nghiên cứu, điều này cho thấy các tiêu chuẩn đánh giá dựa trên hội thoại có thể khiến mức độ an toàn của các tác nhân lập trình AI bị đánh giá quá cao. Nguyên nhân là nội dung độc hại lúc này được xem như dữ liệu của dự án thay vì ý định trực tiếp từ người dùng.

Cơ chế này tương tự hiện tượng "hack phần thưởng" và tối ưu hóa proxy. Khi được giao nhiệm vụ cải thiện quy trình hoặc tối ưu hóa điểm chuẩn, tác nhân AI có thể coi việc tạo ra các ví dụ tốt hơn, kể cả những phiên bản chỉnh sửa hoặc mã hóa của các lời nhắc nguy hiểm từng bị từ chối, là một cách hoàn thành mục tiêu.

Nhóm nghiên cứu cũng chỉ ra rằng các tính năng nâng cao của Copilot như phân tách nhiệm vụ, gỡ lỗi lặp lại và tối ưu hóa theo chỉ số hiệu suất vô tình tạo điều kiện để kẻ tấn công từng bước xây dựng mục tiêu bị cấm thông qua tệp dữ liệu, bộ kiểm thử và nhật ký hệ thống.

Trong khi đó, các cơ chế kiểm tra an toàn chỉ dựa trên từng lượt hội thoại hoặc phản hồi trong cửa sổ chat sẽ không thể phát hiện hành vi này, bởi nội dung nguy hiểm xuất hiện dưới dạng mã nguồn, tập dữ liệu, tài liệu hoặc các đầu ra trung gian của dự án thay vì phản hồi trực tiếp.

Theo các tác giả, kỹ thuật phần mềm có hỗ trợ AI cần được xem là một bài toán bảo mật phần mềm, thay vì chỉ là vấn đề điều chỉnh mô hình AI.

Các biện pháp bảo vệ cần mở rộng từ việc lọc và từ chối yêu cầu sang giám sát toàn bộ những thành phần được AI tạo ra trong quá trình hoạt động, bao gồm tệp, tập lệnh, ví dụ, nhật ký và các đầu ra trung gian.

Nhóm nghiên cứu đề xuất triển khai các cơ chế bảo vệ ở cấp độ quy trình làm việc như quét các hiện vật được tạo ra, áp dụng quy trình đánh giá có nhận thức về chính sách và bổ sung các lớp bảo vệ ngay trong IDE để theo dõi các mục tiêu không an toàn xuyên suốt nhiều bước xử lý.

Các tác giả cũng nhấn mạnh việc công bố nghiên cứu theo hướng có trách nhiệm. Toàn bộ ví dụ có khả năng gây hại đã được loại bỏ và các phát hiện đã được chia sẻ với những nhà cung cấp IDE, tác nhân AI và mô hình bị ảnh hưởng nhằm hỗ trợ cải thiện GitHub Copilot cũng như các công cụ lập trình AI khác.
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
http://textlink.linktop.vn/?adslk=aHR0cHM6Ly92bnJldmlldy52bi90aHJlYWRzL2R1bmctZGUtYWktdmlldC1jb2RlLXRoYXktYmFuLXRydW9jLWtoaS1iaWV0LWRpZXUtbmF5LXZlLWdpdGh1Yi1jb3BpbG90Ljg3MzkzLw==
Top