Công cụ tạo mã hiện đại sử dụng các mô hình Trí tuệ Nhân tạo (AI models), đặc biệt là các Mô hình Ngôn ngữ Lớn (Large Language Models – LLMs), để tạo ra mã hoạt động và hoàn chỉnh. Mặc dù các công cụ như vậy đang trở nên phổ biến và rộng rãi sử dụng cho các nhà phát triển, việc sử dụng chúng thường đi kèm với những thách thức về bảo mật, dẫn đến việc mã không an toàn được hợp nhất vào mã nguồn. Do đó, việc đánh giá chất lượng của mã được tạo ra, đặc biệt là về mặt bảo mật, là rất quan trọng. Các nhà nghiên cứu gần đây đã khám phá các khía cạnh khác nhau của các công cụ tạo mã, bao gồm cả vấn đề về bảo mật. Tuy nhiên, vẫn còn nhiều câu hỏi mở về bảo mật của mã được tạo ra cần được điều tra kỹ hơn, đặc biệt là các vấn đề bảo mật của mã tự động được tạo ra trong các ứng dụng thực tế. Với mục tiêu này, nhóm tác giả bài báo đã thực hiện một nghiên cứu thực nghiệm bằng cách phân tích các điểm yếu về bảo mật trong các đoạn mã được tạo ra bởi GitHub Copilot mà họ tìm thấy trong các dự án công khai trên GitHub. Mục tiêu của họ là điều tra các loại vấn đề về bảo mật và quy mô của chúng trong các tình huống thực tế (chứ không phải các tình huống được tạo ra cố ý). Để làm được điều này, các tác giả đã xác định 435 đoạn mã được tạo ra bởi GitHub Copilot từ các dự án công khai. Sau đó, họ đã thực hiện một phân tích bảo mật sâu rộng để xác định các trường hợp của Danh sách Liệt kê Điểm Yếu Phổ Biến (Common Weakness Enumeration – CWE) trong các đoạn mã này. Kết quả cho thấy rằng (1) 35.8% các đoạn mã được tạo ra bởi Copilot chứa CWEs, và các vấn đề này phân bố trên nhiều ngôn ngữ khác nhau, (2) các điểm yếu về bảo mật rất đa dạng và liên quan đến 42 CWEs khác nhau, trong đó CWE-78: OS Command Injection, CWE-330: Sử dụng Giá trị Ngẫu nhiên Không Đủ An toàn, và CWE-703: Xử lý hoặc Kiểm tra Không Đúng về Điều Kiện Ngoại lệ xuất hiện nhiều nhất, và (3) trong số 42 CWEs được xác định, có 11 CWEs thuộc danh sách Top-25 CWE được công nhận vào năm 2022. Kết quả từ bài báo xác nhận rằng các nhà phát triển nên cẩn thận khi thêm mã được tạo ra bởi Copilot (và các công cụ tạo mã AI tương tự) và cũng nên chạy các kiểm tra bảo mật thích hợp khi chúng chấp nhận mã được đề xuất. Nó cũng cho thấy rằng người thực hành nên phát triển nhận thức và kỹ năng bảo mật tương ứng.

Chi tiết bài báo >

Posted in , , ,