Vibe coding: cách dùng và giới hạn
Đã hoàn tấtGiúp mọi người khám phá ý tưởng với AI. Dùng prototype ngân hàng để hiểu vì sao dữ liệu thật và quyền API cần bằng chứng bảo mật.
Xuất bản bởi TaigaCách chúng tôi viết
Kiểm tra mức hiểuDashboard ngân hàng hoạt động với giao dịch giả định. Đồng nghiệp đề nghị kết nối tài khoản thật với quyền chỉ đọc. Bạn nên làm gì?Làm bài tập
Bạn sẽ học gì
- Phân biệt khám phá với quyết định phát hành.
- Nhận diện trách nhiệm còn thiếu trong demo thuyết phục.
- Chọn ranh giới an toàn cho thử nghiệm đầu tiên.
Tạo điều kiện để mọi người xây dựng
CTO doanh nghiệp có thể giúp nhiều người hơn chuyển kiến thức của họ thành ý tưởng phần mềm. Mời người từ tài chính, vận hành, bán hàng và kỹ thuật. Cung cấp thời gian, dữ liệu tổng hợp, API sandbox và hỗ trợ.
Để mọi người dùng công cụ khác nhau để khám phá trong ranh giới rõ về cài đặt, tài khoản và đầu vào được phép. Công cụ xây dựng trên trình duyệt, trợ lý lập trình hoặc agent cục bộ có thể giúp kiểm tra ý tưởng. Chọn công cụ không cấp quyền tải thông tin công ty lên hoặc kết nối hệ thống thật.
Công bố lộ trình đơn giản để đưa prototype hữu ích đến nhóm kỹ thuật hoặc platform. Người tạo đóng góp vấn đề, quy trình mẫu và giá trị quan sát được. Họ không cần trở thành nhóm bảo mật và vận hành của dịch vụ.
Xác định điều cần học
Vibe coding thường bắt đầu với mô tả phần mềm bạn muốn. Bạn chấp nhận mã được sinh và dùng kết quả nhìn thấy để định hướng thay đổi tiếp theo. Thuật ngữ có nhiều nghĩa. Trong hướng dẫn này, người chỉ đạo công việc không nhất thiết hiểu từng quyết định hiện thực hóa.
Cách làm này có thể giúp bạn học. Giao diện đơn giản có thể cho thấy quy trình phê duyệt có quá nhiều bước. Script tạm có thể giúp đánh giá định dạng tệp. Prototype cung cấp thiết kế cụ thể để thảo luận. Bạn có thể giữ kiến thức này khi bỏ mã.
Trước hết, xác định câu hỏi với câu trả lời quan sát được. Ví dụ: “Quản lý nhóm có hiểu quy trình phê duyệt này không?” Câu hỏi có phạm vi rõ. Yêu cầu xây hệ thống chi phí còn bao gồm bảo vệ dữ liệu, kiểm soát truy cập, vận hành và trách nhiệm.
Prototype ngân hàng vào thứ Ba
Xét ví dụ giả định. Vào thứ Ba, đồng nghiệp tài chính dùng Lovable tạo dashboard từ giao dịch ngân hàng giả. Nó nhóm khoản chi và hiển thị hóa đơn chưa thanh toán. Nhóm giờ có thể thảo luận một quy trình hữu ích.
Có người đề nghị kết nối tài khoản ngân hàng công ty. Điều đó thay đổi hậu quả, dù ứng dụng vẫn mang nhãn “prototype”.
Quyền đọc có thể làm lộ số dư, lịch sử giao dịch, tên khách hàng hoặc mã tham chiếu thanh toán, tùy API. Nếu kết nối cũng cho phép thanh toán, lỗi có thể chuyển tiền thật. Xác nhận phạm vi quyền thực tế; kết nối ngân hàng không phải lúc nào cũng bao gồm quyền thanh toán.
Demo không chứng minh người dùng chỉ thấy tài khoản mình được phép. Nút bị ẩn không thực thi quyền. OWASP mô tả cách thiếu kiểm tra tài khoản hoặc bản ghi có thể làm lộ dữ liệu người dùng khác.
| Điều gì có thể sai? | Vì sao quan trọng | Bằng chứng trước khi cấp quyền thật |
|---|---|---|
| Thông tin xác thực API riêng tư xuất hiện trong mã trình duyệt hoặc log | Bên khác có thể sử dụng quyền của nó | Kiểm tra xử lý secret; kiểm thử thu hồi truy cập |
| Backend nhận ID tài khoản mà không kiểm tra quyền bên gọi | Một người dùng có thể đọc tài khoản khác | Test request bị từ chối cho người dùng và tài khoản khác |
| Request thanh toán timeout và ứng dụng gửi lại | Thử lại có thể tạo khoản thanh toán thứ hai | Kiểm thử xử lý thử lại và đối soát kết quả với nhà cung cấp |
| Ứng dụng gửi chi tiết giao dịch tới dịch vụ AI chưa phê duyệt | Thông tin mật rời ranh giới được phê duyệt | Truy vết request, log, bên nhận và thời gian lưu giữ |
| Dependency có lỗ hổng sau ra mắt | Ứng dụng không đổi vẫn có thể cần bản sửa bảo mật | Phân công quét liên tục, khắc phục và xác minh triển khai |
Với API thanh toán, idempotency nghĩa là request lặp lại không lặp tác động dự kiến. Stripe mô tả một cách hiện thực hóa. Kiểm tra hành vi, giới hạn và quy tắc thử lại của nhà cung cấp thực tế. Rollback ứng dụng không đảo ngược khoản thanh toán ngân hàng đã xử lý.
Ví dụ này không phải bằng chứng Lovable có lỗi. Hướng dẫn bảo mật của chính Lovable yêu cầu bảo vệ secret, kiểm tra phía server, chính sách dữ liệu đã test và review liên tục. Áp dụng cùng tiêu chuẩn bằng chứng cho mọi công cụ xây dựng, agent hoặc ứng dụng viết thủ công.
Kiểm tra quyền trước khi kết nối hệ thống thật
Tiếp tục kiểm thử quy trình với dữ liệu tổng hợp và tài khoản sandbox. Trước quyền thật, để người phụ trách dịch vụ, bảo mật và platform xác minh ứng dụng cùng môi trường vận hành.
Dùng quy trình kết nối đã phê duyệt của ngân hàng hoặc nhà cung cấp. Chỉ cấp tài khoản và quyền cần thiết. Giữ thông tin xác thực riêng tư trong kho secret được phê duyệt, ngoài prompt và mã trình duyệt. Phân công người phê duyệt và đặt giới hạn thanh toán khi cần thanh toán. Xác minh cách thu hồi truy cập, điều tra lỗi và ứng phó hoạt động đáng ngờ.
Những quyết định này phải có trước khi đầu vào mật hoặc thông tin xác thực thật vào hệ thống. Chờ đến phát hành production chính thức có thể quá muộn. Tiếp tục với ranh giới dữ liệu và hạ tầng doanh nghiệp.
Xác định trách nhiệm trước khi tăng sử dụng
Thử nghiệm với dữ liệu giả có thể ngắn hạn và ít người dùng. Khi người khác phụ thuộc ứng dụng, xác định trách nhiệm cho việc sử dụng.
- Nêu người phụ trách.
- Xác định người dùng và dữ liệu được phép.
- Xác định cách ứng phó lỗi.
- Giữ mã nguồn và cấu hình trong repository.
- Xác minh người khác có thể kiểm tra và tái tạo hệ thống.
Không phải script nào cũng cần platform doanh nghiệp. Công cụ định dạng cá nhân không có dữ liệu nhạy cảm cần ít kiểm soát hơn ứng dụng phê duyệt thanh toán. Đánh giá hậu quả lỗi. Kiểm tra liệu có thể phát hiện lỗi và đảo ngược tác động không.
Trước khi mở rộng prototype, tách điều đã học về vấn đề khỏi bằng chứng về mã hiện thực hóa. Bạn có thể giữ giao diện và thay mã bên trong. Bạn có thể giới hạn mục đích sử dụng. Bạn cũng có thể giữ prototype như thử nghiệm tạm thời.
Lập kế hoạch xử lý lỗ hổng sau demo
Demo thành công có thể che giấu khoảng trống bảo trì nghiêm trọng. Dependency có thể nhận thông báo lỗ hổng mới mà mã của bạn không hề thay đổi. Lần quét lúc phát hành mô tả một thời điểm.
Nếu ứng dụng tiếp tục được dùng, phải có người liên tục tìm, đánh giá và sửa lỗ hổng. Bản sửa phải đến production và qua xác minh. Nếu thiếu quy trình ứng phó này, công cụ quét vẫn để ngỏ nguy cơ phơi nhiễm.
Kiểm tra công cụ và cấu hình thực tế cung cấp gì. Ở phần sau, quản lý lỗ hổng liên tục giải thích toàn bộ quy trình, gồm lần quét thất bại và phiên bản đã triển khai.
Giúp thay đổi tiếp theo dễ review
Giao agent một thay đổi nhỏ với tiêu chí nghiệm thu rõ. Nêu hành động agent được thực hiện. Kiểm tra diff tạo ra. Chạy kiểm tra có thể phát hiện cách hiện thực hóa sai. Giữ triển khai là quyết định riêng cho đến khi trách nhiệm phát hành rõ ràng.
NIST Secure Software Development Framework mô tả thực hành rộng hơn cho phát triển an toàn. Dùng làm tham chiếu khi đánh giá kiểm soát còn thiếu. Bạn không cần học thuộc framework. Bạn cần tìm bằng chứng còn thiếu trước khi phần mềm ảnh hưởng người khác.
Làm bài tập
Chọn tính năng từ demo gần đây. 1. Ghi một kết quả mà demo đã chứng minh. 2. Ghi ba câu hỏi còn bỏ ngỏ. 3. Phân công người phụ trách mỗi câu hỏi. 4. Nêu kiểm tra cụ thể có thể phát hiện từng lỗi có thể xảy ra. Không dùng “làm cho an toàn” để thay kiểm tra cụ thể.
Tải worksheet (Markdown)Bỏ chọn sẽ xóa toàn bộ tiến độ đã lưu trong trình duyệt này.
Tiến độ ở trong trình duyệt này. Không tài khoản, không theo dõi.
Nguồn và đọc thêm
- NIST: Secure Software Development Framework 1.1 ↗
- Lovable: Security best practices ↗
- OWASP: Broken Object Level Authorization ↗
- Stripe: Idempotent requests ↗