Bỏ qua để đến nội dung

Kiểm Tra Bảo Mật

Yêu cầu AI xem xét tình trạng bảo mật của ứng dụng, thực hiện các phương pháp tốt nhất bên dưới, và lưu giữ các thông tin bí mật trong trang Settings.

Bảo mật trong Proyecta được xử lý bởi sự kết hợp giữa các thiết lập mặc định của nền tảng, các đánh giá do AI thực hiện, và một số thói quen bạn nên xây dựng. Dưới đây là cách tiếp cận vấn đề này.

Mở Command Palette (Cmd+K / Ctrl+K) và chọn Run Security Audit. Thao tác này sẽ gửi một prompt kiểm tra bảo mật toàn diện đến AI, AI sẽ đọc toàn bộ codebase của bạn và đưa ra các lỗ hổng được ưu tiên cùng với các hướng dẫn khắc phục cụ thể.

Quá trình kiểm tra sẽ xem xét:

  • Các API key, token hoặc mật khẩu được hardcode trong file mã nguồn
  • Các biến môi trường có tiền tố VITE_ có thể làm lộ thông tin bí mật ra phía client
  • Thiếu xác thực đầu vào phía server trên các API endpoint
  • Các trang hoặc API endpoint thiếu xác thực người dùng
  • Nội dung người dùng không được escape (rủi ro XSS)
  • Lỗ hổng trong các dependency
  • Nội dung hỗn hợp hoặc các URL http:// được hardcode
  • Thiếu xác thực khi upload file

Bạn cũng có thể chạy kiểm tra bảo mật thủ công từ chat, hoặc thu hẹp phạm vi vào một khu vực cụ thể:

  • "Review my checkout flow for security issues"
  • "Check the admin pages — who can access what?"
  • "Look at every endpoint that writes to the database and tell me if any of them are missing authorization"

Bảo vệ thông tin bí mật

  • Lưu trữ mọi API key, thông tin xác thực cơ sở dữ liệu và token của bên thứ ba trong phần Environment Variables trên trang Settings
  • Không bao giờ dán thông tin bí mật vào tin nhắn chat hoặc commit chúng vào code
  • Nếu một thông tin bí mật bị lộ, hãy thu hồi ngay với nhà cung cấp bên thứ ba và tạo một thông tin mới

Giới hạn quyền truy cập

  • Triển khai phân quyền theo vai trò trong ứng dụng ("Add admin and member roles. Only admins can access /admin pages.")
  • Giới hạn các trang và endpoint nhạy cảm chỉ dành cho người dùng đã xác thực
  • Luôn xác thực đầu vào của người dùng ở phía server, không chỉ ở phía client

Sử dụng HTTPS ở mọi nơi

  • Tất cả các ứng dụng Proyecta đã publish đều được phục vụ qua HTTPS tự động
  • Chứng chỉ SSL được cấp phát và gia hạn tự động cho bạn
  • Đối với các domain tùy chỉnh, điều tương tự áp dụng sau khi DNS được trỏ đúng cách

Cập nhật dependency thường xuyên

  • Định kỳ hỏi AI: "Check my dependencies for known security vulnerabilities and upgrade the vulnerable ones."
  • Xem xét kỹ những gì AI thay đổi — việc nâng cấp dependency đôi khi bao gồm các thay đổi gây lỗi tương thích

Kiểm tra bảo mật sau các thay đổi lớn

  • Chạy lại kiểm tra sau khi thêm xác thực, thanh toán, upload file, hoặc bất cứ thứ gì liên quan đến dữ liệu người dùng
  • Trước khi publish lên môi trường production lần đầu tiên, hãy thực hiện một lần kiểm tra toàn diện
  • HTTPS và chứng chỉ cho subdomain *.proyecta.live của bạn
  • Environment variables — thông tin bí mật được lưu trữ trong một kho bí mật chuyên dụng và đồng bộ với backend của ứng dụng (Convex), không bao giờ được commit vào codebase. Lưu ý: thông tin bí mật hiển thị với các thành viên workspace có quyền truy cập dự án.
  • Môi trường chạy độc lập — mỗi dự án chạy trong container riêng của nó, vì vậy các vấn đề trong môi trường dev không ảnh hưởng đến người dùng khác
  • Chạy kiểm tra trước lần publish đầu tiên — một lần kiểm tra toàn diện sẽ phát hiện các vấn đề trước khi chúng được đưa lên live.
  • Chạy lại sau các thay đổi lớn — việc thêm xác thực, thanh toán hoặc upload file sẽ tạo ra các bề mặt tấn công mới.
  • Thu hẹp phạm vi kiểm tra — kiểm tra trên các khu vực cụ thể nhanh hơn và kỹ lưỡng hơn so với kiểm tra toàn bộ ứng dụng.