Code Nguyen
Writer
Bạn có chắc là đoạn code AI vừa sinh ra giúp bạn chứ không đang đào sẵn một cái hố bảo mật?
Chúng ta đang sống trong kỷ nguyên mà một dòng lệnh có thể được viết ra chỉ bằng một cuộc trò chuyện với ChatGPT hay Cursor. Lập trình không còn là cuộc vật lộn với cú pháp, mà là hành trình đối thoại – tưởng chừng như quá tiện lợi. Nhưng chính sự tiện lợi đó lại có thể là cái bẫy, vì theo một nghiên cứu gần đây, gần 40% code do AI tạo ra có lỗ hổng bảo mật. Điều may mắn là hơn một nửa trong số đó đã có giải pháp sửa lỗi, nếu bạn biết mà tìm và sửa.
Vấn đề đặt ra không chỉ là "AI giúp tôi viết code nhanh", mà là "code đó có an toàn không?" Nếu bạn không để ý, chỉ một vài dòng code "có vẻ hợp lý" của AI cũng đủ mở toang cánh cửa cho rủi ro bảo mật nghiêm trọng về sau.
AI không phân biệt đâu là code tốt, đâu là code nguy hiểm. Nó chỉ tái tạo từ những gì từng thấy trên mạng, nơi đầy rẫy những đoạn code sơ sài, cẩu thả. Vậy nên nếu bạn nhờ AI viết một chức năng "đăng nhập vào hệ thống", rất có thể nó sẽ:
Dùng chính AI để làm đối tác brainstorm:
“Làm thế nào để xây một hệ thống đăng ký tài khoản an toàn?”
“Có rủi ro nào khi lưu tin nhắn trong cơ sở dữ liệu?”
Cứ hỏi đi, bạn sẽ học được nhiều điều và tự kiểm tra mình.
hackernoon
Nguồn bài viết: https://hackernoon.com/40percent-of-ai-generated-code-is-vulnerable-how-to-protect-yours
Chúng ta đang sống trong kỷ nguyên mà một dòng lệnh có thể được viết ra chỉ bằng một cuộc trò chuyện với ChatGPT hay Cursor. Lập trình không còn là cuộc vật lộn với cú pháp, mà là hành trình đối thoại – tưởng chừng như quá tiện lợi. Nhưng chính sự tiện lợi đó lại có thể là cái bẫy, vì theo một nghiên cứu gần đây, gần 40% code do AI tạo ra có lỗ hổng bảo mật. Điều may mắn là hơn một nửa trong số đó đã có giải pháp sửa lỗi, nếu bạn biết mà tìm và sửa.
Vấn đề đặt ra không chỉ là "AI giúp tôi viết code nhanh", mà là "code đó có an toàn không?" Nếu bạn không để ý, chỉ một vài dòng code "có vẻ hợp lý" của AI cũng đủ mở toang cánh cửa cho rủi ro bảo mật nghiêm trọng về sau.
AI không phân biệt đâu là code tốt, đâu là code nguy hiểm. Nó chỉ tái tạo từ những gì từng thấy trên mạng, nơi đầy rẫy những đoạn code sơ sài, cẩu thả. Vậy nên nếu bạn nhờ AI viết một chức năng "đăng nhập vào hệ thống", rất có thể nó sẽ:
- Lưu mật khẩu dưới dạng văn bản thuần
- Tạo câu truy vấn SQL bằng cách ghép chuỗi trực tiếp (rất dễ bị SQL injection)
- Ghi thông tin đăng nhập ngay trong file code
Những điều đơn giản bạn có thể làm ngay để bảo vệ mình
1. Đừng bao giờ tin tưởng đầu vào
Nếu người dùng có thể nhập gì đó (form, URL…), thì cũng có thể nhập những thứ nguy hiểm. Bạn cần kiểm tra kiểu dữ liệu, độ dài, nội dung… AI có thể không thêm bước này vào code cho bạn, nên bạn phải chủ động làm.2. Không bao giờ hardcode mật khẩu hoặc API key
Bạn lười và ghi thẳng vào code cho nhanh? Một ngày nào đó, bạn đăng nhầm cả repo lên GitHub công khai, và ai đó dùng tài khoản AWS của bạn để đào Bitcoin cũng nên. Thay vào đó, hãy dùng biến môi trường (.env hoặc secret manager).3. Luôn dùng HTTPS
Khi gọi API, kết nối backend, hoặc giao tiếp giữa client-server, luôn luôn dùng https:// chứ không phải http://. Chữ "S" là viết tắt của "Secure", nó đảm bảo dữ liệu được mã hóa khi truyền tải.4. Đừng chạy code với quyền admin
Trừ khi bạn thật sự cần, hãy chạy ứng dụng với quyền hạn chế. Một lỗi nhỏ hoặc một thư viện độc hại có thể phá hủy toàn bộ hệ thống nếu bạn đang ở chế độ siêu người dùng.5. Đừng copy-paste code từ AI mà không kiểm tra
Trước khi dùng đoạn code AI đưa ra, hãy tự hỏi:- Nó có xử lý dữ liệu nhạy cảm không?
- Nó có thao tác với file, chạy lệnh hệ thống, hoặc kết nối internet không?
- Nó có kiểm tra dữ liệu đầu vào không?
Dùng công cụ để tự bảo vệ mình
- Cài linter (ESLint cho JavaScript, Bandit cho Python) để tự động báo lỗi những đoạn code không an toàn.
- GitHub hiện cũng có các plugin kiểm tra bảo mật, phát hiện việc lộ key/API.
- Luôn cập nhật thư viện. AI đôi khi “tưởng tượng” ra cả thư viện không tồn tại, hoặc dùng bản cũ có lỗ hổng.

“Làm thế nào để xây một hệ thống đăng ký tài khoản an toàn?”
“Có rủi ro nào khi lưu tin nhắn trong cơ sở dữ liệu?”
Cứ hỏi đi, bạn sẽ học được nhiều điều và tự kiểm tra mình.
Checklist bảo mật 30 giây cho bạn
- Luôn kiểm tra đầu vào người dùng
- Không hardcode thông tin nhạy cảm
- Luôn dùng HTTPS
- Không chạy ứng dụng với quyền admin
- Kiểm tra kỹ code AI đề xuất
- Dùng linter và công cụ kiểm tra bảo mật
- Luôn cập nhật thư viện
hackernoon