Lỗ hổng trong Copilot Chat cho phép rò rỉ dữ liệu GitHub qua prompt ẩn

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
115
1.171 bài viết
Lỗ hổng trong Copilot Chat cho phép rò rỉ dữ liệu GitHub qua prompt ẩn
Những ngày gần đây một lỗ hổng trong GitHub Copilot Chat, trợ lý AI dành cho lập trình viên, được một nhà nghiên cứu bảo mật trình bày chi tiết, cho thấy sự kết hợp giữa né tránh chính sách bảo mật nội dung và kỹ thuật remote prompt injection có thể dẫn tới rò rỉ dữ liệu nhạy cảm từ kho mã riêng tư và thậm chí cho phép kẻ tấn công điều khiển phản hồi của Copilot cho người dùng khác. Vấn đề bắt nguồn từ tính năng "comment ẩn", vốn cho phép chèn nội dung không hiển thị bằng mắt thường nhưng vẫn được hệ thống xử lý và phần nội dung này có thể bị đưa vào ngữ cảnh prompt của người dùng khác.

Copilot.png

Kịch bản tấn công mà nhà nghiên cứu mô tả gồm hai bước liên tục. Trước hết, kẻ tấn công chèn prompt độc hại trong comment HTML ẩn, sau đó dựa trên cách Copilot tổng hợp ngữ cảnh, prompt đó được thực thi trong phiên của nạn nhân. Bằng việc cấu trúc prompt để truy xuất kho riêng tư, mã hóa nội dung và ghép kết quả vào các liên kết, kẻ tấn công có thể khiến hệ thống tạo ra các truy vấn tới tài nguyên bên ngoài khi nạn nhân tương tác và theo đó thực hiện việc rút trộm dữ liệu nếu chuỗi hành vi khớp điều kiện.

Một cơ chế bảo vệ quan trọng là chính sách CSP cùng hệ thống proxy nội dung mà nền tảng dùng để xử lý ảnh và các tài nguyên bên ngoài. Hệ thống này tạo các URL đã ký cho từng tài nguyên, chỉ cho phép truy xuất khi chữ ký hợp lệ, từ đó chặn việc gửi dữ liệu tới các miền tùy ý. Để vượt hàng rào đó, nhà nghiên cứu xây dựng một thủ thuật tinh vi: thay vì tạo chữ ký cho toàn bộ payload, ông tiền ký sẵn một “từ điển” các URL proxy tương ứng cho từng ký tự có thể xuất hiện. Khi cần exfiltrate một chuỗi ký tự, prompt độc hại sẽ ghép chuỗi bằng cách tham chiếu tới các URL đã ký tương ứng với từng ký tự. Máy chủ của kẻ tấn công đơn giản trả về một pixel 1×1 để mỗi truy vấn trông vô hại, nhưng mỗi lần truy vấn vẫn báo về ký tự tương ứng, biến hành vi truy cập thành kênh thu thập dữ liệu ký tự từng phần.

PoC được trình bày bằng video cho thấy kịch bản này có thể rút trộm khóa AWS và mã nguồn nhạy cảm từ kho riêng tư, đồng thời có thể ảnh hưởng tới trải nghiệm phát triển bằng cách khiến Copilot đề xuất gói thư viện hoặc đoạn mã độc hại dưới dạng gợi ý hữu ích. Điều đáng lo là mối đe dọa không chỉ dừng ở việc lấy dữ liệu thô, kẻ tấn công còn có thể lợi dụng chính tính năng đề xuất để phân phối mã độc hoặc backdoor một cách tinh vi.

Nền tảng đã phản hồi và triển khai biện pháp khắc phục để chặn con đường cụ thể mà nhà nghiên cứu mô tả, tuy nhiên sự việc vẫn là lời nhắc nhở về cách các cơ chế an toàn tương tác với nhau. Khi CSP, proxy nội dung và xử lý ngôn ngữ tự nhiên cùng hoạt động, các tương tác chéo có thể tạo ra kênh tấn công mới mà nếu nhìn riêng lẻ từng cơ chế sẽ khó nhận thấy.

Sự cố GitHub Copilot Chat lần này không chỉ là một lỗ hổng kỹ thuật mà còn là minh chứng rõ ràng về những hệ quả bất ngờ khi AI can thiệp sâu vào quy trình phát triển phần mềm. Một điểm nhập liệu tưởng chừng nhỏ cũng có thể mở ra kênh tấn công tinh vi, tạo cơ hội để dữ liệu nhạy cảm bị rút trộm hoặc mã độc len lỏi vào các dự án quan trọng. Sự việc này một lần nữa đặt ra câu hỏi: khi AI ngày càng tham gia vào quyết định lập trình, ai thực sự kiểm soát những gì được tạo ra và chia sẻ trong môi trường số?

Theo Security Week
 
Chỉnh sửa lần cuối:
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ẻ
copilot chat github copilot chat khóa aws trợ lý ai
Bên trên