Nguy hiểm: Lỗ hổng Bảo mật Từ Mã do LLM Tạo Ra

Một nghiên cứu gần đây đã chỉ ra rằng việc phụ thuộc hoàn toàn vào các mô hình ngôn ngữ lớn (LLMs) để tạo mã ứng dụng có thể dẫn đến việc đưa vào các lỗ hổng bảo mật nghiêm trọng. Phát hiện này được công bố trong một bài viết blog chi tiết vào ngày 22 tháng 8 năm 2025, gây ra những lo ngại đáng kể trong cộng đồng phát triển phần mềm và an ninh mạng.
Thực trạng Lỗ hổng Bảo mật từ LLM
Nghiên cứu nhấn mạnh rằng các LLM được huấn luyện trên khối lượng lớn dữ liệu internet, bao gồm nhiều mã ví dụ không an toàn. Do đó, chúng thường sao chép các mẫu mã kém bảo mật, mang theo những rủi ro cố hữu mà không hề cảnh báo các nhà phát triển về khả năng tồn tại các điểm yếu chí mạng.
Các chuyên gia bảo mật từ lâu đã cảnh báo rằng các đoạn mã ví dụ được tìm thấy trực tuyến thường ưu tiên khả năng trình diễn chức năng hơn là tính phòng thủ mạnh mẽ. LLMs khuếch đại vấn đề này bằng cách học hỏi và tái tạo những đoạn mã không an toàn đó ở quy mô lớn, tiềm ẩn nguy cơ tạo ra hàng loạt lỗ hổng bảo mật mới.
Nguồn gốc của Vấn đề
Bản chất của các mô hình LLM là tái tạo dựa trên dữ liệu đã học, nhưng chúng thiếu khả năng hiểu sâu sắc về bối cảnh nghiệp vụ cụ thể của một ứng dụng. Điều này khiến chúng không thể thực hiện mô hình hóa mối đe dọa một cách độc lập hay suy luận về các trường hợp lạm dụng tiềm tàng.
Hệ quả là LLM có thể tạo ra mã hoạt động đúng chức năng trong môi trường thử nghiệm lý tưởng, nhưng lại tiềm ẩn những điểm yếu chí mạng khi được triển khai trong thực tế. Điều này mở ra cánh cửa cho các mối đe dọa mạng tinh vi, khó phát hiện bằng các phương pháp kiểm tra bề mặt.
Ví dụ Thực tế: Lỗ hổng trong Mã mẫu
Trong một trường hợp đáng chú ý, một nhà nghiên cứu đã phát hiện một lỗ hổng bảo mật nghiêm trọng trong mã mẫu của một plugin trả tiền theo lượt xem từ một nền tảng tiền điện tử hàng đầu. Mặc dù lỗi chỉ tồn tại trong phần triển khai ví dụ chứ không phải thư viện cốt lõi, nhưng rủi ro vẫn rất lớn.
Việc mã mẫu này có thể dễ dàng bị sao chép vào các ứng dụng sản xuất mà không qua kiểm tra kỹ lưỡng là một nguy cơ thực tế. Khi đó, lỗ hổng bảo mật này có thể không bị phát hiện bởi các quy trình đánh giá bảo mật thông thường, tạo ra rủi ro nghiêm trọng cho hệ thống đang hoạt động và dữ liệu người dùng.
Phân tích Proof-of-Concept (PoC) về Rò rỉ API
Điểm trung tâm của bài đăng blog là một bằng chứng khái niệm (PoC) trực tiếp, minh họa rõ ràng cách mã phía client do LLM tạo ra đã vô tình làm lộ điểm cuối API gửi email trực tiếp trong JavaScript của trình duyệt. Đây là một ví dụ điển hình về lỗ hổng bảo mật do LLM tạo ra mà thiếu sự giám sát của con người.
Tập lệnh dễ bị tấn công đã định nghĩa URL API, các quy tắc xác thực đầu vào, và logic gửi dữ liệu hoàn toàn ở phía front-end. Việc phơi bày tất cả các chi tiết nhạy cảm này ở phía client là một sai lầm nghiêm trọng về bảo mật.
Với thông tin này, bất kỳ kẻ tấn công nào cũng có thể dễ dàng tạo ra các yêu cầu tùy chỉnh nằm ngoài quy trình làm việc dự kiến. Điều này cho phép chúng bỏ qua hoàn toàn cơ chế xác thực phía client, mở ra cánh cửa cho các cuộc tấn công lạm dụng API.
Chi tiết Kịch bản Tấn công
PoC sử dụng lệnh cURL đơn giản để mô phỏng các kịch bản tấn công, chứng minh tính dễ dàng trong việc khai thác. Kẻ tấn công chỉ cần một công cụ dòng lệnh cơ bản để thực hiện các hành vi độc hại.
Mã Khai thác cURL
Đoạn mã dưới đây minh họa cách kẻ tấn công có thể lợi dụng lỗ hổng bảo mật này để thực hiện hành vi gửi email giả mạo hoặc spam:
curl -X POST -H "Content-Type: application/json" -d '{"to": "[email protected]", "subject": "Phishing Attack", "body": "Click this link: malicious.com"}' http://example.com/api/send-email
Khai thác đơn giản này cho thấy khả năng gửi email rác đến các địa chỉ tùy ý, nhắm mục tiêu khách hàng bằng các tin nhắn lừa đảo (phishing), hoặc mạo danh người gửi đáng tin cậy. Những mối đe dọa này sẽ leo thang nhanh chóng, đặc biệt khi mã mẫu có chứa lỗ hổng bảo mật được tự động tạo ra bởi LLM và tích hợp vào hệ thống mà không được kiểm tra kỹ lưỡng.
Để tìm hiểu thêm về nghiên cứu chuyên sâu này và các phát hiện khác, bạn có thể tham khảo bài đăng gốc tại Blog của Himanshu Anand.
Nguyên nhân Gốc rễ và Hậu quả
Sau khi báo cáo lỗi cho nhà cung cấp dịch vụ lưu trữ, nhà nghiên cứu đã được thông báo rằng việc khắc phục nằm ngoài phạm vi, vì ứng dụng dễ bị tấn công là một ví dụ của bên thứ ba. Phản hồi này, dù có thể chấp nhận được về mặt pháp lý cho nhà cung cấp, nhưng lại làm nổi bật một vấn đề rộng lớn hơn về an ninh mạng trong bối cảnh phát triển phần mềm hiện đại.
Thiếu bối cảnh nghiệp vụ và mô hình hóa mối đe dọa
Các LLM, do bản chất của chúng, thiếu khả năng hiểu biết sâu sắc về bối cảnh nghiệp vụ cụ thể của từng ứng dụng và không thể thực hiện mô hình hóa mối đe dọa một cách hiệu quả. Chúng không thể tự suy luận về các trường hợp lạm dụng tiềm tàng hoặc thiết kế các biện pháp phòng thủ phù hợp.
Do đó, sự giám sát chặt chẽ của con người vẫn là yếu tố thiết yếu để xác định các bề mặt tấn công tiềm ẩn, đánh giá rủi ro và áp đặt các thiết lập bảo mật mặc định mạnh mẽ. Việc thiếu đi sự can thiệp của con người sẽ làm tăng đáng kể nguy cơ phát sinh lỗ hổng bảo mật.
Các mối đe dọa tiềm tàng
Việc không kiểm soát chặt chẽ mã nguồn do LLM tạo ra có thể dẫn đến việc triển khai các ứng dụng chứa vô số lỗ hổng bảo mật. Điều này không chỉ làm tăng nguy cơ bị tấn công mạng thành công mà còn có thể dẫn đến rò rỉ dữ liệu nhạy cảm, chiếm quyền điều khiển hệ thống, hoặc thậm chí là các cuộc tấn công từ chối dịch vụ, gây ra thiệt hại nghiêm trọng về tài chính và danh tiếng.
Giải pháp và Khuyến nghị An ninh mạng
Khi các tổ chức ngày càng tích hợp công nghệ AI vào quy trình phát triển phần mềm, nghiên cứu này đóng vai trò là lời nhắc nhở rõ ràng rằng bảo mật không thể là một yếu tố thứ yếu hay chỉ được xem xét sau cùng. Việc đảm bảo an ninh mạng trong bối cảnh phát triển ứng dụng dựa trên LLM đòi hỏi một cách tiếp cận đa chiều và chủ động.
Vai trò của Con người trong Quy trình Phát triển
Sự tham gia tích cực và chuyên môn của con người là không thể thiếu trong việc đánh giá và phê duyệt mã do LLM tạo ra. Các nhà phát triển và chuyên gia bảo mật cần thực hiện các quy trình đánh giá mã nghiêm ngặt, cùng với mô hình hóa mối đe dọa thủ công, để nhận diện và loại bỏ các lỗ hổng bảo mật tiềm ẩn một cách hiệu quả.
Con người cần đảm bảo rằng mã được tạo ra không chỉ đúng về mặt chức năng mà còn tuân thủ các nguyên tắc bảo mật tốt nhất (best practices), đồng thời cân nhắc các kịch bản tấn công có thể xảy ra trong môi trường thực tế.
Chiến lược Bảo mật Toàn diện
Để ngăn chặn các lỗ hổng bảo mật do LLM tạo ra lọt vào môi trường sản xuất, cần kết hợp hỗ trợ của LLM với quy trình đánh giá mã do con người thực hiện chặt chẽ, mô hình hóa mối đe dọa toàn diện, và kiểm thử bảo mật tự động liên tục. Đây là những yếu tố then chốt tạo nên một chiến lược bảo mật vững chắc.
Việc áp dụng các chiến lược bảo mật mạnh mẽ ngay từ giai đoạn đầu của vòng đời phát triển phần mềm (SDLC) là cực kỳ quan trọng. Điều này bao gồm việc tích hợp các công cụ quét mã tĩnh (SAST) và động (DAST), cũng như các quy trình DevSecOps, để xây dựng các ứng dụng an toàn và bền vững trong kỷ nguyên AI.









