Khám phá tác động của các trợ lý AI như GitHub Copilot đối với bảo mật mã

Một nhóm các nhà nghiên cứu từ Đại học Stanford đã nghiên cứu tác động của việc sử dụng trợ lý thông minh khi viết mã đối với sự xuất hiện của các lỗ hổng trong mã. Chúng tôi đã xem xét các giải pháp dựa trên nền tảng máy học OpenAI Codex, chẳng hạn như GitHub Copilot, cho phép bạn tạo các khối mã khá phức tạp, cho đến các chức năng làm sẵn. Các mối lo ngại liên quan đến thực tế là do mã thực từ kho GitHub công khai, bao gồm cả những mã chứa lỗ hổng, được sử dụng để đào tạo mô hình máy học, mã tổng hợp có thể lặp lại lỗi và đề xuất mã chứa lỗ hổng và cũng không tính đến sự cần thiết phải thực hiện kiểm tra bổ sung khi xử lý dữ liệu bên ngoài.

Nghiên cứu có sự tham gia của 47 tình nguyện viên với kinh nghiệm lập trình khác nhau - từ sinh viên đến chuyên gia với mười năm kinh nghiệm. Những người tham gia được chia thành hai nhóm - thử nghiệm (33 người) và kiểm soát (14 người). Cả hai nhóm đều có quyền truy cập vào bất kỳ thư viện và tài nguyên Internet nào, kể cả việc sử dụng các ví dụ tạo sẵn từ Stack Overflow. Nhóm thử nghiệm đã có cơ hội sử dụng trợ lý AI.

Mỗi người tham gia được giao 5 nhiệm vụ liên quan đến viết mã, trong đó có khả năng dễ mắc lỗi dẫn đến lỗ hổng. Ví dụ: có các nhiệm vụ viết hàm mã hóa và giải mã, sử dụng chữ ký số, xử lý dữ liệu liên quan đến việc hình thành đường dẫn tệp hoặc truy vấn SQL, thao tác với số lượng lớn trong mã C, xử lý đầu vào được hiển thị trong các trang web. Để xem xét tác động của các ngôn ngữ lập trình đối với tính bảo mật của mã thu được khi sử dụng trợ lý AI, các bài tập bao gồm Python, C và JavaScript.

Do đó, người ta thấy rằng những người tham gia sử dụng trợ lý AI thông minh dựa trên mô hình codex-davinci-002 tạo ra mã kém an toàn hơn đáng kể so với những người tham gia không sử dụng trợ lý AI. Nhìn chung, chỉ 67% người tham gia trong nhóm sử dụng trợ lý AI có thể cung cấp mã chính xác và an toàn, trong khi ở nhóm còn lại, con số này là 79%.

Đồng thời, các chỉ số về lòng tự trọng đã bị đảo ngược - những người tham gia sử dụng trợ lý AI tin rằng mã của họ sẽ an toàn hơn mã của những người tham gia từ nhóm khác. Ngoài ra, người ta lưu ý rằng những người tham gia ít tin tưởng vào trợ lý AI hơn và dành nhiều thời gian hơn để phân tích cú pháp cũng như thực hiện các thay đổi đối với các gợi ý đã cho sẽ tạo ra ít lỗ hổng hơn trong mã.

Ví dụ: mã được sao chép từ các thư viện mật mã chứa các giá trị tham số mặc định an toàn hơn mã do trợ lý AI đề xuất. Ngoài ra, khi sử dụng trợ lý AI, việc lựa chọn các thuật toán mã hóa kém tin cậy hơn và không xác thực các giá trị trả về đã được khắc phục. Trong tác vụ thao tác số C, mã được viết bằng trợ lý AI có nhiều lỗi hơn dẫn đến tràn số nguyên.

Ngoài ra, có thể lưu ý một nghiên cứu tương tự của một nhóm từ Đại học New York, được thực hiện vào tháng 58 với sự tham gia của 10 sinh viên, những người được yêu cầu triển khai cấu trúc để xử lý danh sách mua sắm trong C. Kết quả cho thấy tác động không đáng kể của trợ lý AI đối với bảo mật mã - trung bình người dùng đã sử dụng trợ lý AI mắc thêm khoảng XNUMX% lỗi liên quan đến bảo mật.

Khám phá tác động của các trợ lý AI như GitHub Copilot đối với bảo mật mã


Nguồn: opennet.ru

Thêm một lời nhận xét