Tấn Phát Digital

Rủi Ro Khi Vibe Code: 6 Lỗi Thường Gặp Và Checklist Trước Khi Đưa Lên Mạng

5 tháng 11, 2026
500
Vibe coding
Lập trình với AI
Bảo mật website
Rủi Ro Khi Vibe Code: 6 Lỗi Thường Gặp Và Checklist Trước Khi Đưa Lên Mạng - Tấn Phát Digital

Code do AI viết có thể chạy đúng mà vẫn không an toàn. Hai chuyện đó khác nhau, và người mới học vibe code thường chỉ kiểm tra chuyện thứ nhất: bấm nút thấy ra kết quả đúng là coi như xong. Với một trang chia tiền ăn nhóm thì vậy là đủ. Với bất cứ thứ gì lưu dữ liệu của người khác, có form, có khóa API hay nối với dịch vụ trả phí, thì chưa.

Đây là bài cho chặng 6, chặng cuối trong lộ trình học vibe code từ đầu. Bài đi qua sáu rủi ro thường gặp, mỗi rủi ro kèm một sự việc hay nghiên cứu có thật, cách tự kiểm tra, và một checklist để đi hết trước khi cho người khác dùng.

Vì sao "chạy được" chưa phải là "an toàn"

Năm 2025, Veracode cho hơn 100 mô hình ngôn ngữ làm 80 bài viết code được thiết kế quanh các lỗi bảo mật phổ biến. Theo báo cáo, code AI tạo ra có lỗ hổng bảo mật ở khoảng 45% số bài; với những lỗi phụ thuộc ngữ cảnh như chèn mã độc vào trang (XSS), tỷ lệ code an toàn còn thấp hơn nhiều (nguồn: Veracode). Báo cáo cũng ghi nhận: các mô hình viết code đúng cú pháp ngày càng tốt, nhưng khả năng viết code an toàn không tiến bộ tương ứng.

Con số này đo trên bài thử, không phải trên mọi dòng code AI viết ra. Nhưng ý chính rõ ràng: AI viết code để chạy được theo yêu cầu, và nếu yêu cầu không nhắc đến an toàn, đừng mặc định là code đã an toàn.

Rủi ro 1: Lộ khóa bí mật

Khi nối với dịch vụ bên ngoài (AI, bản đồ, gửi email, thanh toán), bạn nhận một khóa API. AI thường dán thẳng khóa đó vào code cho nhanh. Nếu đoạn code ấy chạy trên trình duyệt, ai mở trang cũng xem được khóa; nếu nằm trong kho code công khai, ai tìm cũng thấy, kể cả khi bạn đã xóa ở lần lưu sau, vì lịch sử commit vẫn còn.

  • Cách làm đúng: khóa đặt trong biến môi trường hoặc phần cài đặt bí mật của dịch vụ lưu trữ, chỉ dùng ở phía máy chủ; trình duyệt gọi qua máy chủ của bạn chứ không gọi thẳng dịch vụ có khóa.

  • Tự kiểm tra: mở trang, bấm F12, tìm trong mã nguồn và tab Network những chuỗi trông giống khóa. Hỏi AI: "Trong dự án này có khóa hay mật khẩu nào lộ ra trình duyệt hoặc nằm trong file sẽ đưa lên kho công khai không?"

  • Nếu đã lộ: đổi khóa ngay trên trang quản lý của dịch vụ, đừng chỉ xóa khỏi code. Với mật khẩu tài khoản, kiểm tra xem đã từng bị lộ chưa bằng công cụ kiểm tra mật khẩu bị lộ, và đổi sang mật khẩu mạnh tạo bằng công cụ tạo mật khẩu.

Rủi ro 2: Dữ liệu người dùng mở cho mọi người

Năm 2025, lỗ hổng CVE-2025-48757 được công bố với các ứng dụng dựng bằng Lovable: nhiều ứng dụng cho trình duyệt gọi thẳng cơ sở dữ liệu Supabase nhưng không bật quy tắc phân quyền theo từng dòng dữ liệu (Row Level Security). Kết quả là ai có khóa công khai đi kèm trang cũng đọc được dữ liệu. Một nhà nghiên cứu quét 1.645 ứng dụng và tìm thấy 170 ứng dụng để lộ dữ liệu như email, địa chỉ (nguồn: NVD).

Lỗi này không phải của riêng một công cụ. Bất cứ khi nào trình dựng app tự tạo cơ sở dữ liệu cho bạn, câu hỏi phải đặt ra là: ai được đọc, ai được sửa dữ liệu này?

  • Tự kiểm tra: tạo hai tài khoản thử. Đăng nhập tài khoản thứ hai, xem có thấy được dữ liệu của tài khoản thứ nhất không. Mở trang bằng cửa sổ ẩn danh, chưa đăng nhập, xem thấy được gì.

  • Hỏi AI: "Liệt kê mọi bảng dữ liệu trong dự án, mỗi bảng ai được đọc, ai được ghi, và quy tắc đó được đặt ở đâu."

  • Thu thập ít nhất có thể: không cần số điện thoại thì đừng hỏi số điện thoại. Dữ liệu không thu thập thì không thể lộ.

Ở Việt Nam, Luật Bảo vệ dữ liệu cá nhân số 91/2025/QH15 và Nghị định 356/2025/NĐ-CP hướng dẫn luật này có hiệu lực từ 1/1/2026 (nguồn: Thị trường Tài chính Tiền tệ). Một trang có form thu thập họ tên, số điện thoại của người khác là đang xử lý dữ liệu cá nhân; ít nhất cần nói rõ thu thập để làm gì và xin sự đồng ý. Phần này chỉ để định hướng, không thay cho tư vấn pháp lý khi bạn làm sản phẩm thật.

Rủi ro 3: Form và dữ liệu nhập không được kiểm tra

Mọi ô nhập liệu là một cánh cửa. Code AI viết thường chỉ kiểm tra dữ liệu trên trình duyệt, trong khi kẻ xấu gửi thẳng đến máy chủ, bỏ qua trình duyệt.

  • Spam: form liên hệ không chặn sẽ nhận hàng trăm tin rác mỗi ngày, và nếu mỗi tin gửi một email qua dịch vụ trả phí, hóa đơn tăng theo.

  • Chèn mã: thử nhập một đoạn như <b>thử</b> vào ô tên. Nếu trang hiện chữ in đậm thay vì nguyên văn, trang đang chạy mã người dùng nhập vào, đúng loại lỗi XSS mà báo cáo Veracode nêu.

  • Yêu cầu AI cụ thể: "Kiểm tra dữ liệu ở phía máy chủ cho mọi form, giới hạn số lần gửi theo địa chỉ IP, và hiển thị dữ liệu người dùng nhập dưới dạng văn bản thuần."

Rủi ro 4: Thư viện không có thật hoặc không rõ nguồn

AI đôi khi gợi ý cài một thư viện không hề tồn tại, vì tên nghe hợp lý. Một nghiên cứu công bố tại hội nghị USENIX Security 2025 cho thấy khoảng một phần năm số mẫu code do các mô hình tạo ra có gợi ý ít nhất một thư viện không tồn tại, và nhiều tên bị "bịa" lặp lại qua các lần hỏi (nguồn: CSO Online). Kẻ xấu có thể đăng ký trước đúng những tên đó và đưa mã độc vào, kiểu tấn công được đặt tên là slopsquatting.

  • Tự kiểm tra: mỗi lần AI thêm thư viện, tra tên đó trên kho chính thức (npm với JavaScript, PyPI với Python): có trang chính thức không, có nhiều lượt tải không, có được cập nhật gần đây không.

  • Hỏi lại: "Vì sao cần thư viện này? Có làm được bằng code thuần trong vài dòng không?" Với dự án nhỏ, câu trả lời thường là có.

Rủi ro 5: AI sửa hoặc xóa dữ liệu thật

Tháng 7/2025, nhà sáng lập SaaStr Jason Lemkin kể rằng trong một thử nghiệm vibe code, agent AI của Replit đã xóa cơ sở dữ liệu của dự án dù đang trong thời gian được dặn không thay đổi code. CEO Replit sau đó xin lỗi và cho biết sẽ bổ sung các biện pháp như tách cơ sở dữ liệu phát triển và cơ sở dữ liệu thật (nguồn: Fortune).

Bài học không phải "đừng dùng agent", mà là đừng để agent có quyền làm điều bạn không thể hoàn tác:

  • Tách môi trường: dữ liệu thử để AI làm việc, dữ liệu thật để người dùng dùng. AI không cần, và không nên có, quyền ghi vào dữ liệu thật.

  • Sao lưu và thử khôi phục: một bản sao lưu chưa từng khôi phục thử thì chưa chắc dùng được.

  • Đọc trước khi chấp nhận mọi lệnh có chữ xóa, ghi đè, di chuyển dữ liệu mà agent đề xuất chạy.

Rủi ro 6: Chi phí bất ngờ và không ai bảo trì

  • Hóa đơn API: một khóa bị lộ hay một form bị spam có thể làm chi phí dịch vụ trả phí tăng vọt trong một đêm. Đặt hạn mức chi tiêu và cảnh báo trên trang quản lý của từng dịch vụ ngay khi tạo khóa.

  • Bảo trì: sáu tháng sau, thư viện có bản vá bảo mật, trình duyệt đổi cách xử lý, dịch vụ đổi giá. Nếu không ai hiểu code, không ai cập nhật. Giữ file mô tả dự án và ghi lại mọi quyết định quan trọng để người sau, hoặc chính bạn, sửa được.

  • Kiểm tra cấu hình cơ bản: trang có chứng chỉ SSL hợp lệ không (công cụ kiểm tra SSL), có các header bảo mật cơ bản không (công cụ phân tích security header).

Checklist trước khi cho người khác dùng

Checklist trước khi công khai dự án vibe code: khóa bí mật, dữ liệu người dùng, form, thư viện, môi trường và sao lưu, chi phí và bảo trì

Đi hết từng ô. Ô nào bạn không trả lời được, đó là chỗ cần hỏi AI giải thích, hoặc hỏi một người làm nghề xem giúp. Có thể dán nguyên checklist này vào khung chat và yêu cầu: "Rà dự án theo từng mục dưới đây, mục nào chưa đạt thì chỉ ra file và dòng, chưa sửa gì." Sau đó sửa từng mục một, theo cách đã học ở bài cách viết prompt khi vibe code.

Khi nào nên nhờ người làm nghề

Vibe code tự làm được rất nhiều, nhưng có những trường hợp chi phí của một lỗi lớn hơn nhiều so với chi phí nhờ người kiểm tra:

  • Trang thu thập dữ liệu cá nhân của khách hàng: họ tên, số điện thoại, địa chỉ, thông tin sức khỏe.

  • Có thanh toán, ví, mã giảm giá hay bất cứ thứ gì đụng đến tiền.

  • Website là kênh bán hàng chính của doanh nghiệp, cần chạy ổn định, lên Google và được bảo trì nhiều năm.

  • Bạn đã đi hết checklist mà vẫn còn nhiều ô không trả lời được.

Với website doanh nghiệp, Tấn Phát Digital có dịch vụ thiết kế website và dịch vụ bảo trì website; bản mẫu bạn tự làm bằng AI là tài liệu rất tốt để trao đổi yêu cầu.

Muốn tự làm nhưng có người kèm phần an toàn? Khóa học vibe code cho người mới của Tấn Phát Digital học online qua Zoom hoặc Google Meet trong 3 ngày, học phí 10 triệu đồng. Hết khóa, mỗi học viên có một website giới thiệu nhiều trang chạy trên tên miền riêng, có form liên hệ, đã đưa lên Google, và biết cách tự sửa nội dung, tự thêm tính năng bằng AI. Liên hệ Tấn Phát Digital để hỏi lịch khai giảng.

Câu hỏi thường gặp

Code do AI viết khi vibe code có an toàn không?

Chạy đúng chưa chắc đã an toàn. Báo cáo năm 2025 của Veracode thử hơn 100 mô hình trên 80 bài viết code và ghi nhận code AI tạo ra có lỗ hổng bảo mật ở khoảng 45% số bài. Nếu yêu cầu không nhắc đến an toàn, đừng mặc định code đã an toàn.

Làm sao biết khóa API có bị lộ khi vibe code?

Mở trang, bấm F12, tìm trong mã nguồn và tab Network những chuỗi giống khóa; kiểm tra kho code công khai, kể cả lịch sử commit. Khóa phải đặt trong biến môi trường, chỉ dùng phía máy chủ. Nếu đã lộ, đổi khóa ngay trên trang quản lý của dịch vụ.

Ứng dụng dựng bằng trình dựng app có thể lộ dữ liệu không?

Có. Lỗ hổng CVE-2025-48757 năm 2025 liên quan đến các ứng dụng dựng bằng Lovable không bật phân quyền theo từng dòng dữ liệu trong Supabase; một nhà nghiên cứu quét 1.645 ứng dụng và tìm thấy 170 ứng dụng lộ dữ liệu. Hãy thử bằng hai tài khoản và cửa sổ ẩn danh để kiểm tra.

Slopsquatting là gì?

Là kiểu tấn công lợi dụng việc AI gợi ý cài những thư viện không tồn tại: kẻ xấu đăng ký trước đúng tên đó và đưa mã độc vào. Nghiên cứu tại USENIX Security 2025 cho thấy khoảng một phần năm mẫu code do mô hình tạo ra có gợi ý ít nhất một thư viện không tồn tại.

Làm sao tránh việc AI agent xóa dữ liệu thật?

Tách dữ liệu thử và dữ liệu thật, không cho agent quyền ghi vào dữ liệu thật, có bản sao lưu đã thử khôi phục, và đọc kỹ mọi lệnh xóa, ghi đè dữ liệu trước khi cho agent chạy. Năm 2025 đã có sự việc agent của Replit xóa cơ sở dữ liệu trong một thử nghiệm vibe code.

Trang vibe code có form thu thập thông tin cần lưu ý pháp lý gì?

Thu thập họ tên, số điện thoại của người khác là xử lý dữ liệu cá nhân. Luật Bảo vệ dữ liệu cá nhân số 91/2025/QH15 và Nghị định 356/2025/NĐ-CP có hiệu lực từ 1/1/2026; ít nhất cần nói rõ mục đích thu thập, xin sự đồng ý và chỉ thu thập thông tin thật sự cần. Sản phẩm thật nên hỏi tư vấn pháp lý.

Bài viết liên quan

Hình ảnh đại diện của bài viết: Dự Án Vibe Code Đầu Tiên: Làm Trang Chia Tiền Ăn Nhóm Từ Mô Tả Đến Lúc Lên Mạng

Dự Án Vibe Code Đầu Tiên: Làm Trang Chia Tiền Ăn Nhóm Từ Mô Tả Đến Lúc Lên Mạng

Một dự án chỉ thật sự xong khi người khác mở được bằng đường link. Bài thực hành này đi qua trang chia tiền ăn nhóm từ bản mô tả, bản đầu tiên có lỗi số lẻ, bốn yêu cầu nhỏ, các phép thử đến lúc đưa lên GitHub Pages.

Hình ảnh đại diện của bài viết: Cách Viết Prompt Khi Vibe Code: Bản Mô Tả, Yêu Cầu 4 Phần Và Báo Lỗi Cho AI

Cách Viết Prompt Khi Vibe Code: Bản Mô Tả, Yêu Cầu 4 Phần Và Báo Lỗi Cho AI

Cùng một công cụ AI, người xong trong một buổi tối, người bỏ dở sau ba buổi. Khác biệt nằm ở cách viết yêu cầu. Bài này có các mẫu chép được: bản mô tả dự án, yêu cầu bốn phần, báo lỗi năm phần và file quy tắc cho AI.

Hình ảnh đại diện của bài viết: Công Cụ Vibe Code Cho Người Mới: Chọn Nhóm Nào Trước, Khi Nào Chuyển

Công Cụ Vibe Code Cho Người Mới: Chọn Nhóm Nào Trước, Khi Nào Chuyển

Thay vì chọn công cụ đứng đầu bảng xếp hạng rồi hết lượt miễn phí sau vài buổi, hãy chọn đúng nhóm công cụ theo trình độ và loại dự án. Bài này so sánh bốn nhóm công cụ vibe code và cách đi từ nhóm này sang nhóm khác.

Hình ảnh đại diện của bài viết: Hướng Dẫn Tự Học Vibe Code Từ A–Z Cho Người Chưa Biết Lập Trình

Hướng Dẫn Tự Học Vibe Code Từ A–Z Cho Người Chưa Biết Lập Trình

Bản đầu tiên ra rất nhanh, rồi càng sửa càng rối: đó là bức tường mà phần lớn người tự học vibe code gặp phải. Hướng dẫn từ A–Z này đi qua phần chuẩn bị, lộ trình sáu chặng, kế hoạch theo tuần, tài liệu miễn phí và cách tự đánh giá tiến độ.

Bài cùng chuyên mục

Bài trụ cột của chủ đề

Hình ảnh đại diện của bài viết: Hướng Dẫn Chọn Hosting & Domain Chuyên Nghiệp Cho Website Doanh Nghiệp Nhỏ
Bài trụ cột

Hướng Dẫn Chọn Hosting & Domain Chuyên Nghiệp Cho Website Doanh Nghiệp Nhỏ

Khám phá lộ trình xây dựng hạ tầng kỹ thuật vững chắc cho website doanh nghiệp với các tư vấn chuyên môn về tên miền quốc gia, công nghệ hosting hiện đại

Bài mới nhất cùng chuyên mục

TAN PHATDIGITAL