Love AI
New member
Mô hình ngôn ngữ lớn đang tạo ra mã chạy tốt, nhưng an toàn phần mềm đang bị bỏ lại phía sau. Nghiên cứu cho thấy chỉ khoảng 55% mã do LLM sinh ra là an toàn, trong khi kẻ tấn công tận dụng AI để tìm lỗ hổng nhanh hơn.
Mô hình ngôn ngữ lớn (LLM) đã thay đổi cách phát triển phần mềm khi có thể sinh mã chức năng một cách nhanh chóng. Tuy nhiên, nỗ lực huấn luyện tập trung vào tính đúng chức năng nhiều hơn là bảo mật, dẫn tới lượng mã sản xuất ra có thể hoạt động nhưng chứa lỗ hổng nghiêm trọng.
Dữ liệu còn được bổ sung bằng mã do AI sinh ra, tạo vòng lặp khiến các mô hình thế hệ sau tiếp tục học từ ví dụ có khả năng chứa lỗ hổng. Kết quả là, chỉ tăng kích thước mô hình hoặc cập nhật dữ liệu không đủ để cải thiện đáng kể độ an toàn của mã đầu ra.
Đáng chú ý, không có khác biệt lớn giữa các mô hình nhỏ và lớn về tỷ lệ an toàn tổng thể. Tuy nhiên, những mô hình được tinh chỉnh để suy nghĩ (reasoning), như biến thể reasoning của GPT-5, đạt tỷ lệ vượt trội (trên 70%), trong khi biến thể không reasoning của cùng thế hệ (GPT-5-chat) chỉ đạt khoảng 52% — cho thấy việc can thiệp để dạy mô hình lý luận về an toàn có thể mang lại khác biệt.
Ở mức ngôn ngữ, Java là điểm yếu nổi bật: nhiều mô hình cho kết quả an toàn dưới 30% với các tác vụ Java, trong khi Python, C# và JavaScript thường ở khoảng 38–45%. Điều này phản ánh lịch sử và chất lượng dữ liệu huấn luyện: mã Java server-side lâu đời chứa nhiều ví dụ dễ bị tấn công hơn so với ngôn ngữ khác.
Đây không chỉ là vấn đề kỹ thuật mà còn là bài toán quản trị: doanh nghiệp cần kết hợp kiểm soát nội dung huấn luyện, quy trình kiểm thử và giám sát con người để giảm rủi ro. Việc dựa hoàn toàn vào tốc độ sinh mã của AI mà bỏ qua an toàn sẽ khiến hệ thống dễ bị tấn công và chi phí khắc phục tăng cao trong tương lai.
Nguồn: Techradar
Mô hình ngôn ngữ lớn (LLM) đã thay đổi cách phát triển phần mềm khi có thể sinh mã chức năng một cách nhanh chóng. Tuy nhiên, nỗ lực huấn luyện tập trung vào tính đúng chức năng nhiều hơn là bảo mật, dẫn tới lượng mã sản xuất ra có thể hoạt động nhưng chứa lỗ hổng nghiêm trọng.
Gốc rễ của vấn đề
Dữ liệu huấn luyện LLM chủ yếu được thu thập từ mã nguồn công khai trên Internet. Bộ dữ liệu này bao gồm cả ví dụ an toàn lẫn các dự án cố tình dễ bị tấn công (ví dụ như WebGoat). Mô hình học mọi mẫu đó như những cách hợp lệ để giải yêu cầu lập trình, nên không phân biệt được hiện thực an toàn và không an toàn.Dữ liệu còn được bổ sung bằng mã do AI sinh ra, tạo vòng lặp khiến các mô hình thế hệ sau tiếp tục học từ ví dụ có khả năng chứa lỗ hổng. Kết quả là, chỉ tăng kích thước mô hình hoặc cập nhật dữ liệu không đủ để cải thiện đáng kể độ an toàn của mã đầu ra.
Bằng chứng từ nghiên cứu
Nhiều nghiên cứu gần đây chỉ ra rằng các công cụ GenAI phổ biến (như Claude, Google Gemini, xAI Grok...) thường sinh ra mã có lỗi bảo mật rõ ràng. Trung bình chỉ khoảng 55% tác vụ sinh mã cho ra kết quả an toàn — tức là gần một nửa lần sinh mã có khả năng chứa lỗ hổng thuộc OWASP Top 10.Đáng chú ý, không có khác biệt lớn giữa các mô hình nhỏ và lớn về tỷ lệ an toàn tổng thể. Tuy nhiên, những mô hình được tinh chỉnh để suy nghĩ (reasoning), như biến thể reasoning của GPT-5, đạt tỷ lệ vượt trội (trên 70%), trong khi biến thể không reasoning của cùng thế hệ (GPT-5-chat) chỉ đạt khoảng 52% — cho thấy việc can thiệp để dạy mô hình lý luận về an toàn có thể mang lại khác biệt.
Ở mức ngôn ngữ, Java là điểm yếu nổi bật: nhiều mô hình cho kết quả an toàn dưới 30% với các tác vụ Java, trong khi Python, C# và JavaScript thường ở khoảng 38–45%. Điều này phản ánh lịch sử và chất lượng dữ liệu huấn luyện: mã Java server-side lâu đời chứa nhiều ví dụ dễ bị tấn công hơn so với ngôn ngữ khác.
Rủi ro thực tế
Cùng lúc, kẻ tấn công cũng tận dụng LLM để phát hiện và khai thác lỗ hổng nhanh hơn trước. Khi năng lực tấn công được nâng cao trong khi khả năng phòng thủ còn hạn chế, khoảng cách giữa kẻ tấn công và người bảo vệ hệ thống ngày càng rộng — một tình huống nguy hiểm khi doanh nghiệp phụ thuộc nhiều vào AI.Khuyến nghị cho doanh nghiệp và lập trình viên
- Đưa kiểm thử bảo mật (SAST/DAST) và phân tích lỗ hổng tự động vào vòng đời phát triển mã do AI sinh ra.
- Tinh chỉnh mô hình trên tập dữ liệu mã an toàn, loại bỏ hoặc gắn nhãn rõ ràng các mẫu dễ bị tấn công trong dữ liệu huấn luyện.
- Sử dụng mô hình có khả năng reasoning hoặc được huấn luyện đặc biệt để xử lý các đánh đổi bảo mật.
- Áp dụng review mã thủ công, phê duyệt thay vì chấp nhận đầu ra của AI một cách mù quáng.
- Hạn chế quyền truy cập và phạm vi hành vi của công cụ sinh mã trong môi trường sản xuất.
- Kết hợp mô phỏng tấn công và threat modeling để đánh giá tác động trước khi triển khai mã do AI tạo ra.
Đây không chỉ là vấn đề kỹ thuật mà còn là bài toán quản trị: doanh nghiệp cần kết hợp kiểm soát nội dung huấn luyện, quy trình kiểm thử và giám sát con người để giảm rủi ro. Việc dựa hoàn toàn vào tốc độ sinh mã của AI mà bỏ qua an toàn sẽ khiến hệ thống dễ bị tấn công và chi phí khắc phục tăng cao trong tương lai.
Nguồn: Techradar
Bài viết liên quan