Danh sách kiểm tra bảo mật cho Vibe Coding
AI cho phép những người không có nền tảng kỹ thuật có thể xây dựng phần mềm. Tôi đã thấy một nhà nghiên cứu sử dụng Claude để hồi sinh một nền tảng đã ngừng hoạt động. Cô ấy đã giảm thiểu chi phí và cải thiện hiệu suất mà không cần phải là một nhà phát triển chuyên nghiệp.
Điều này thật tuyệt vời. Nhưng nó cũng đầy rủi ro.
Vibe coding có nghĩa là xây dựng phần mềm với sự hỗ trợ đắc lực từ AI mà không cần nắm vững mã nguồn hoặc kiến trúc cơ bản. Nếu bạn đưa mã nguồn vào môi trường production, bạn là một nhà phát triển. Điều đó có nghĩa là bạn phải chịu trách nhiệm.
Vibe coding một blog cá nhân thì không sao. Nhưng vibe coding một hệ thống có thanh toán, đăng nhập và dữ liệu người dùng thì lại là chuyện khác. AI có thể viết mã rất tốt, nhưng nó cũng có thể tạo ra những lỗ hổng bảo mật nguy hiểm.
Nếu bạn sử dụng AI để quản lý một dự án web, đừng chỉ yêu cầu nó làm cho mọi thứ hoạt động. Hãy dùng nó để tìm ra các rủi ro. Hãy sử dụng những câu hỏi này để kiểm tra dự án của bạn trước khi chính thức vận hành:
- Xác định các khu vực nhạy cảm: Đâu là nơi chứa thông tin đăng nhập, thanh toán và dữ liệu cá nhân?
- Kiểm tra các thông tin bí mật bị lộ: Các khóa Stripe, mật khẩu hoặc thông tin xác thực cơ sở dữ liệu của bạn có bị lộ trong mã nguồn hoặc frontend không?
- Kiểm tra các thư viện phụ thuộc: Các thư viện của bạn có bị lỗi thời hoặc chứa các lỗ hổng đã biết không?
- Xem xét quy trình xác thực: Người dùng đăng nhập như thế nào? Các phiên làm việc (sessions) và cookie có được cấu hình chính xác không?
- Kiểm tra phân quyền: Một người dùng thông thường có thể truy cập dữ liệu quản trị chỉ bằng cách thay đổi ID trên URL không?
- Bảo vệ các chức năng quản trị: Bảng điều khiển quản trị (admin panel) chỉ được ẩn trên giao diện (UI) hay đã được chặn ở phía máy chủ (server)?
- Xác minh thanh toán: Máy chủ của bạn có xác nhận thanh toán thông qua webhooks không, hay nó chỉ tin tưởng vào phía frontend?
- Kiểm tra webhooks: Liệu có ai đó có thể giả mạo thông báo thanh toán gửi đến hệ thống của bạn không?
- Kiểm tra tính hợp lệ của mọi đầu vào: Các biểu mẫu và thanh tìm kiếm của bạn có chống lại các cuộc tấn công injection không?
- Giới hạn mức độ sử dụng: Liệu các bot có thể spam công cụ đăng nhập hoặc tìm kiếm của bạn để làm tăng chi phí không?
- Theo dõi nhật ký lỗi: Các thông báo lỗi của bạn có làm rò rỉ chi tiết cơ sở dữ liệu hoặc mật khẩu cho người dùng không?
- Bảo mật việc tải tệp lên: Bạn có đang giới hạn loại và kích thước tệp để ngăn chặn các cuộc tấn công không?
- So sánh các môi trường: Bạn có đang vô tình sử dụng các khóa thử nghiệm (test keys) hoặc chế độ gỡ lỗi (debug modes) trong môi trường production không?
- Tạo các bài kiểm tra đơn giản: Bạn có thể chứng minh rằng một người dùng không thể truy cập dữ liệu của người khác không?
- Hỏi về những điểm chưa chắc chắn: Hãy hỏi AI: "Những rủi ro bảo mật nào mà bạn KHÔNG THỂ xác minh?"
Đừng hỏi AI xem dự án của bạn có an toàn không. Hãy yêu cầu nó chỉ ra những điểm chưa chắc chắn nằm ở đâu.
Nếu dự án của bạn có ảnh hưởng đến con người hoặc tài chính thực tế, hãy tìm kiếm sự hỗ trợ từ các chuyên gia. Hãy sử dụng AI để đặt ra những câu hỏi chất lượng hơn, chứ không phải để thay thế sự giám sát của con người.
Nguồn: https://dev.to/marciofrayze/15-perguntas-de-seguranca-para-quem-esta-praticando-vibe-coding-1h7j