"Vibe coding" là cách dựng phần mềm bằng cách mô tả cho AI bằng lời, AI viết mã và dựng thành ứng dụng. Người không biết lập trình có thể có một form đăng ký, một bảng theo dõi đơn hay một app nội bộ nhỏ trong vài buổi. Chính vì dễ, nhiều ứng dụng được đưa lên mạng mà chưa ai kiểm ai vào xem được dữ liệu bên trong.

Bài dựa trên các nghiên cứu bảo mật đã công bố và tài liệu chính thức, đối chiếu ngày 29/09/2026. Đề tài được gợi ý từ hai video TikTok ngày 24 và 28/09/2026; các nhận định trong video (như dựng mọi phần mềm trong vài giờ) là ý kiến người làm video, bài không dùng làm dữ kiện. Mục ba mốc từ ý tưởng đến bản thử được bổ sung và đối chiếu ngày 30/09/2026. Tổ Thạo Việc không tự dựng hay quét ứng dụng nào.

Sơ đồ bốn bước từ ý tưởng đến dùng thật cho ứng dụng tự dựng bằng AI
Sơ đồ minh họa; không phải ảnh chụp công cụ.

Các nghiên cứu nói gì?

NguồnNgàyPhát hiện
RedAccess, qua Axios07/05/2026380.000 tài sản truy cập công khai (ứng dụng, cơ sở dữ liệu) dựng bằng Lovable, Base44, Replit, Netlify; khoảng 5.000 chứa dữ liệu nhạy cảm của doanh nghiệp
Escape.tech29/10/2025Quét hơn 5.600 ứng dụng công khai dựng bằng công cụ vibe coding: hơn 2.000 lỗ hổng, hơn 400 khóa bí mật lộ, 175 trường hợp dữ liệu cá nhân (có hồ sơ y tế, số tài khoản)
CVE-2025-48757 (Lovable)29/05/2025Thiếu hoặc thiếu đủ chính sách phân quyền theo dòng (Row Level Security) trên cơ sở dữ liệu của dự án Lovable
Wiz (Base44)29/07/2025Lỗi cho phép vào ứng dụng riêng tư chỉ cần mã ứng dụng công khai; sửa trong 24 giờ, Wix nói không thấy khách bị ảnh hưởng
Veracode30/07/2025Mã do AI tạo có lỗ hổng bảo mật trong 45% trường hợp thử

Về con số "40%" hay được nhắc: theo các bài báo dẫn lại, khoảng 2.000 trong hơn 5.000 ứng dụng không có bảo vệ đã lộ dữ liệu riêng tư. Các báo mô tả khác nhau về nhóm 5.000 này, và không tìm thấy báo cáo gốc trên trang của RedAccess. Đừng hiểu là "40% ứng dụng dựng bằng AI bị lộ dữ liệu".

Điểm chung của các nghiên cứu: lỗi thường không nằm ở chỗ AI "viết sai", mà ở chỗ ứng dụng được đưa lên mạng công khai, cơ sở dữ liệu không phân quyền, khóa bí mật nằm lộ trong mã.

Việc nào đáng tự dựng, việc nào nên thuê?

Đáng thử tự dựngNên thuê hoặc dùng phần mềm có sẵn
Công cụ chỉ vài người trong nhóm dùngCông cụ khách hàng dùng hoặc nhập dữ liệu vào
Dữ liệu không nhạy cảm (lịch trực, danh sách việc)Có dữ liệu cá nhân, thanh toán, lương, sức khỏe
Chạy trên máy hoặc trong tài khoản nội bộPhải đưa lên mạng công khai
Hỏng thì làm tay lại đượcHỏng thì ngừng bán hàng hoặc sai tiền
Có người hiểu và sửa được khi lỗiKhông ai trong công ty đọc được mã

Từ ý tưởng đến bản thử: ba mốc

Đừng đi thẳng từ ý tưởng sang dùng thật. Ranh giới cần giữ là giữa bản thử và công cụ dùng thật. Bản thử chỉ để người dựng xem ý tưởng có chạy không. Công cụ dùng thật chứa dữ liệu thật, có người khác dùng, và chỉ có sau khi qua phiếu kiểm ở mục dưới.

Mốc 1: viết việc cần làm trong một trang. Trước khi mở công cụ, ghi rõ: ai dùng, nhập gì, xem gì, dữ liệu nào nằm trong đó, xong thì biết bằng cách nào. Không gói được trong một trang thì việc còn quá to để tự dựng.

VIỆC CẦN LÀM (giả lập)
Bảng theo dõi đơn bánh, tiệm bánh An Nhiên
- Ai dùng: 2 người nhận đơn, chủ tiệm xem
- Nhập: tên khách, ngày giao, loại bánh, đã cọc chưa
- Xem: đơn giao hôm nay, đơn chưa cọc
- Dữ liệu nhạy cảm: số điện thoại khách
- Xong khi: không phải lật sổ tìm đơn trong ngày

Tiệm bánh và nội dung trên là giả lập.

Mốc 2: dựng bản thử với dữ liệu giả. Nhờ AI tạo 10 đến 20 dòng dữ liệu bịa (tên, số điện thoại không có thật) để thử. Chỉ người dựng dùng. Không gắn khóa API thật, không nối vào sổ khách hay tài khoản thật. Nếu dựng bằng Claude Code, tài liệu ghi ở chế độ Manual công cụ bắt đầu với quyền chỉ đọc và chỉ ghi được trong thư mục nơi khởi động cùng các thư mục con. Vì vậy nên dựng bản thử trong một thư mục riêng, không để tệp dữ liệu thật trong đó. Nếu dựng bằng artifact và muốn cho đồng nghiệp xem, đọc mục chia sẻ artifact bên dưới trước khi xuất bản.

Mốc 3: đủ điều kiện mới lên dùng thật. Chỉ chuyển khi đạt cả bốn điều: việc nằm ở cột "đáng thử tự dựng" trong bảng trên; bản thử đã chạy đúng với dữ liệu giả; phiếu kiểm đã điền đủ, câu 4 và 5 không phát hiện lộ dữ liệu; có một người nhận trách nhiệm. Thiếu một điều thì giữ ở bản thử hoặc chuyển sang thuê.

Bản thửDùng thật
Dữ liệuGiả, tự bịaThật, chỉ trường cần
Ai dùngChỉ người dựngNgười khác trong nhóm
Đăng nhậpCó thể chưa cóBắt buộc, mỗi người một tài khoản
Khóa bí mậtKhông dùng khóa thậtKhóa riêng, không nằm trong mã phía trình duyệt
Sao lưuKhông cầnCó bản sao, đã thử khôi phục
Chịu trách nhiệmNgười dựngMột người có tên, biết cách tắt

Ba mốc và bảng trên là gợi ý của Tổ Thạo Việc, không phải quy định của hãng công cụ nào. Ý tưởng bổ sung khâu này bắt nguồn từ tài liệu về mô hình công ty một người của Cường Mê AI.

Phiếu kiểm trước khi cho người khác dùng

Điền phiếu cho từng ứng dụng, lưu cùng ứng dụng:

Yêu cầu có thể sao chép
PHIẾU KIỂM ỨNG DỤNG TỰ DỰNG - [tên ứng dụng], [ngày]
1. Ai chịu trách nhiệm ứng dụng này? [tên]
2. Ứng dụng chứa dữ liệu gì? [liệt kê]. Có dữ liệu cá nhân, tiền, mật khẩu không? [có/không]
3. Ứng dụng có địa chỉ công khai trên mạng không? Ai mở được đường dẫn? [chỉ nội bộ / ai có link / công khai]
4. Đã thử mở đường dẫn bằng trình duyệt ẩn danh, không đăng nhập: thấy gì? [ghi lại]
5. Cơ sở dữ liệu có phân quyền không (người này có xem được dữ liệu người khác không)? Đã thử bằng hai tài khoản khác nhau chưa? [ghi lại]
6. Mã có chứa khóa API, mật khẩu, token không? Đã nhờ AI rà và tìm tay chưa? [ghi lại]
7. Có bản sao dữ liệu không? Khôi phục thế nào?
8. Khi có lỗi, ai tắt ứng dụng, tắt bằng cách nào?

Câu 4 và 5 là hai phép thử đơn giản mà nhiều ứng dụng bị lộ đã bỏ qua.

Nhờ AI rà bảo mật

Sau khi dựng xong, nhờ chính công cụ rà lại:

Yêu cầu có thể sao chép
Rà ứng dụng này như một người kiểm bảo mật. Liệt kê:
- Đường dẫn nào mở được mà không cần đăng nhập.
- Bảng dữ liệu nào không có phân quyền theo người dùng.
- Khóa API, mật khẩu, token nào nằm trong mã phía trình duyệt.
- Chỗ nào người dùng nhập dữ liệu mà không được kiểm.
Chỉ liệt kê và giải thích, chưa sửa. Chỗ nào không chắc, ghi "cần người kiểm".

Tài liệu Claude Code ghi rõ người dùng chịu trách nhiệm xem lại mã và lệnh được đề xuất trước khi đồng ý, và không hệ thống nào miễn nhiễm hoàn toàn. AI rà giúp tìm lỗi phổ biến, không thay được người có chuyên môn với ứng dụng chứa dữ liệu nhạy cảm.

Chia sẻ artifact, ứng dụng nhỏ

Một số công cụ trò chuyện cho tạo và chia sẻ ứng dụng nhỏ ngay trong khung chat. Với Claude, trang trợ giúp ghi người không dùng Claude cũng xem và tương tác được với artifact đã xuất bản. Nghĩa là "xuất bản" là công khai với ai có đường dẫn. Không đưa dữ liệu thật của khách vào ứng dụng kiểu này.

Trang trợ giúp cũng lưu ý: một số artifact lưu thông tin mà mọi người mở đều thấy; khi chia sẻ artifact từ khung chat, người xem cũng thấy tệp đính kèm trong cuộc trò chuyện đó. Với gói Team và Enterprise, mặc định chỉ chia sẻ được trong tổ chức, chủ sở hữu phải bật mới chia sẻ ra ngoài. Đây là thêm lý do để bản thử chỉ dùng dữ liệu giả.

Hỏi đáp

Tự dựng thì ai chịu trách nhiệm khi lộ dữ liệu?

Doanh nghiệp đưa ứng dụng vào dùng vẫn chịu trách nhiệm với dữ liệu mình thu thập. Luật Bảo vệ dữ liệu cá nhân có hiệu lực từ 01/01/2026 áp dụng không phân biệt ứng dụng do ai viết. Hỏi người có chuyên môn nếu ứng dụng chứa dữ liệu cá nhân.

Nên dùng công cụ nào để tự dựng?

Bài không xếp hạng công cụ. Các lỗi trong nghiên cứu xuất hiện ở nhiều nền tảng khác nhau; phiếu kiểm quan trọng hơn tên công cụ.

Khác gì với tự động hóa bằng AI?

Tự động hóa nối các công cụ có sẵn để chạy một chuỗi việc; tự dựng là tạo ra công cụ mới. Xem Tự động hóa việc bằng AI: cần biết gì.

Giới hạn của bài này

  • Không tự dựng hay quét ứng dụng nào; không có số liệu riêng.
  • Nghiên cứu RedAccess chỉ biết qua báo chí; các nghiên cứu dùng phương pháp khác nhau, không đại diện cho mọi ứng dụng dựng bằng AI.
  • Không phải tư vấn bảo mật chuyên sâu; ứng dụng chứa dữ liệu nhạy cảm cần người có chuyên môn kiểm.
  • Ba mốc và bảng bản thử / dùng thật là gợi ý biên tập, chưa chạy thử trên công cụ nào.

Nguồn & lưu ý