Lãnh đạo tư tưởng

Mã Code Tự Động Được Tạo Bởi Trí Tuệ Nhân Tạo Ở Đâu – Liệu Chúng Ta Có Ít An Toàn Hơn?

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Lập trình vào năm 2025 không còn là việc mất thời gian với các mã code nhỏ lẻ hay dành nhiều giờ để gỡ lỗi. Đó là một điều hoàn toàn khác. Mã code tự động được tạo bởi trí tuệ nhân tạo sẽ chiếm đa số mã code trong các sản phẩm tương lai và nó đã trở thành một công cụ thiết yếu cho các nhà phát triển hiện đại. Được gọi là “lập trình theo cảm hứng”, việc sử dụng mã code được tạo bởi các công cụ như Github Copilot, Amazon CodeWhisperer và Chat GPT sẽ trở thành tiêu chuẩn và không còn là ngoại lệ trong việc giảm thời gian xây dựng và tăng hiệu suất. Nhưng liệu sự tiện lợi của mã code tự động có rủi ro về mặt an ninh hay không? Liệu trí tuệ nhân tạo có làm tăng các điểm yếu trong kiến trúc an ninh hay có cách nào để các nhà phát triển “lập trình theo cảm hứng” một cách an toàn?

“Các sự cố an ninh do các điểm yếu trong mã code tự động là một trong những chủ đề ít được thảo luận nhất hiện nay,” Sanket Saurav, người sáng lập DeepSource, cho biết. “Vẫn còn nhiều mã code được tạo bởi các nền tảng như Copilot hoặc Chat GPT mà không được xem xét bởi con người, và các sự cố an ninh có thể là thảm họa cho các công ty bị ảnh hưởng.”

Nhà phát triển của một nền tảng mã nguồn mở sử dụng phân tích tĩnh cho chất lượng mã code và an ninh, Saurav đã dẫn chứng vụ tấn công SolarWinds vào năm 2020 như là một loại “sự kiện tuyệt chủng” mà các công ty có thể phải đối mặt nếu họ không cài đặt các rào cản an ninh đúng khi sử dụng mã code tự động. “Phân tích tĩnh cho phép xác định các mẫu mã code không an toàn và các thực hành mã hóa kém,” Saurav cho biết.

Được Tấn Công Qua Thư Viện

Các mối đe dọa an ninh đối với mã code tự động có thể có nhiều hình thức và có thể được nhắm vào các thư viện. Thư viện trong lập trình là mã code có thể tái sử dụng mà các nhà phát triển sử dụng để tiết kiệm thời gian khi viết mã.

Chúng thường giải quyết các nhiệm vụ lập trình thường xuyên như quản lý tương tác cơ sở dữ liệu và giúp các lập trình viên không phải viết lại mã từ đầu.

Một mối đe dọa đối với thư viện là “ảo giác”, nơi mã code tự động hiển thị một điểm yếu bằng cách sử dụng các thư viện ảo. Một loại tấn công khác gần đây đối với mã code tự động được gọi là “slopsquatting” nơi các kẻ tấn công có thể nhắm trực tiếp vào các thư viện để xâm nhập vào cơ sở dữ liệu.

Để giải quyết các mối đe dọa này, có thể cần nhiều sự chú ý hơn là những gì được gợi ý bởi thuật ngữ “lập trình theo cảm hứng”. Phát biểu từ văn phòng của mình tại Université du Québec en Outaouais, Giáo sư Rafael Khoury đã theo dõi sát sao các phát triển trong an ninh của mã code tự động và tự tin rằng các kỹ thuật mới sẽ cải thiện sự an toàn của nó.

Trong một bài báo năm 2023, Giáo sư Khoury đã điều tra kết quả của việc yêu cầu ChatGPT tạo mã code mà không có thêm ngữ cảnh hoặc thông tin, một thực hành dẫn đến mã code không an toàn. Đó là những ngày đầu của Chat GPT và Khoury hiện đang lạc quan về tương lai. “Kể từ đó, đã có rất nhiều nghiên cứu đang được xem xét và tương lai đang hướng tới một chiến lược sử dụng LLM có thể dẫn đến kết quả tốt hơn,” Khoury cho biết, thêm rằng “an ninh đang được cải thiện, nhưng chúng tôi chưa ở vị trí có thể đưa ra một lệnh trực tiếp và nhận được mã code an toàn.”

Khoury tiếp tục mô tả một nghiên cứu đầy hứa hẹn nơi họ tạo mã code và sau đó gửi mã code đó đến một công cụ phân tích nó về các điểm yếu. Phương pháp được sử dụng bởi công cụ này được gọi là Tìm kiếm các dị thường dòng với Trí tuệ nhân tạo (hay FLAG ngắn gọn).

“Các công cụ này gửi FLAG có thể xác định một điểm yếu ở dòng 24, ví dụ, mà một nhà phát triển có thể sau đó gửi lại cho LLM cùng với thông tin và yêu cầu nó kiểm tra và sửa lỗi,” anh nói.

Khoury đề xuất rằng sự tương tác này có thể là rất quan trọng để sửa mã code dễ bị tấn công. “Nghiên cứu này cho thấy rằng với năm lần lặp lại, bạn có thể giảm các điểm yếu xuống zero.”

Tuy nhiên, phương pháp FLAG này không phải là không có vấn đề, đặc biệt là nó có thể dẫn đến cả các kết quả dương và âm giả. Ngoài ra, còn có những hạn chế về độ dài của mã code mà LLM có thể tạo ra và việc kết hợp các đoạn mã lại với nhau có thể thêm một lớp rủi ro khác.

Giữ Con Người Trong Vòng Lặp

Một số người chơi trong “lập trình theo cảm hứng” khuyên nên chia nhỏ mã code và đảm bảo rằng con người vẫn ở vị trí trung tâm trong các chỉnh sửa quan trọng nhất của mã code. “Khi viết mã code, hãy nghĩ về các lần commit,” Kevin Hou, trưởng nhóm kỹ thuật sản phẩm tại Windsurf, cho biết, ca ngợi sự khôn ngoan của các đoạn mã nhỏ.

“Chia một dự án lớn thành các đoạn nhỏ hơn mà thường là các commit hoặc yêu cầu kéo. Hãy để agent xây dựng các đoạn nhỏ này, một tính năng bị cô lập tại một thời điểm. Điều này có thể đảm bảo rằng mã code đầu ra được kiểm tra tốt và được hiểu rõ,” anh thêm.

Tại thời điểm viết, Windsurf đã tiếp cận hơn 5 tỷ dòng mã code tự động được tạo (qua tên trước đây là Codeium). Hou cho biết câu hỏi cấp bách nhất họ đang trả lời là liệu nhà phát triển có nhận thức về quá trình hay không.

“Trí tuệ nhân tạo có khả năng thực hiện nhiều chỉnh sửa trên nhiều tệp cùng một lúc, vì vậy làm thế nào chúng ta có thể đảm bảo rằng nhà phát triển thực sự hiểu và xem xét những gì đang xảy ra chứ không chỉ chấp nhận mọi thứ một cách mù quáng?” Hou hỏi, thêm rằng họ đã đầu tư nhiều vào UX của Windsurf “với rất nhiều cách trực quan để luôn ở cùng bước với những gì AI đang làm, và để giữ con người luôn ở trong vòng lặp.”

Vì vậy, khi “lập trình theo cảm hứng” trở nên phổ biến hơn, con người trong vòng lặp phải cẩn thận hơn về các điểm yếu của nó. Từ “ảo giác” đến các mối đe dọa “slopsquatting”, các thách thức là có thật, nhưng các giải pháp cũng vậy.

Các công cụ mới nổi như phân tích tĩnh, các phương pháp tinh chỉnh lặp lại như FLAG, và thiết kế UX thông minh cho thấy rằng an ninh và tốc độ không phải là những điều互斥.

Chìa khóa nằm ở việc giữ cho các nhà phát triển tham gia, được thông tin và kiểm soát. Với các rào cản an ninh đúng và một tư duy “tin tưởng nhưng xác minh”, mã code tự động có thể đồng thời là cách mạng và có trách nhiệm.

Arjun Harindranath là một nhà báo tự do có trụ sở tại Medellin, Colombia, người viết về các câu chuyện xung đột, di cư và công nghệ cho khán giả toàn cầu. Các bài viết trước đây bao gồm Al Jazeera, TechCrunch, The Next Web và New York Times.