跳转到内容

安全审计

请 AI 审查您应用的安全状况,遵循以下最佳实践,并将密钥保存在 Settings 页面。

Proyecta 的安全性由平台默认配置、AI 驱动的审查以及一些您应该养成的习惯共同保障。以下是整体思路。

打开 Command PaletteCmd+K / Ctrl+K),选择 Run Security Audit。这会向 AI 发送一套全面的安全提示词,AI 将读取您的完整代码库,并输出带优先级排序的漏洞发现及具体修复方案。

审计内容包括:

  • 源文件中硬编码的 API 密钥、令牌或密码
  • VITE_ 为前缀、会将密钥泄露到客户端的环境变量
  • API endpoint 缺少服务端输入校验
  • 页面或 API endpoint 缺少身份验证
  • 未转义的用户内容(XSS 风险)
  • 依赖项漏洞
  • 混合内容或硬编码的 http:// URL
  • 缺少文件上传校验

您也可以在聊天中手动运行安全审计,或将范围缩小到特定区域:

  • "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"

保护密钥安全

  • 将所有 API 密钥、数据库凭据和第三方令牌存储在 Settings 页面的环境变量部分
  • 切勿将密钥粘贴到聊天消息中,也不要将其 commit 到代码中
  • 如果密钥已泄露,请立即在第三方服务商处将其撤销,并创建新的密钥

限制访问权限

  • 在应用中实现基于角色的权限控制("Add admin and member roles. Only admins can access /admin pages."
  • 将敏感页面和 endpoint 限制为仅已认证用户可访问
  • 始终在服务端校验用户输入,而不仅仅在客户端进行校验

全面使用 HTTPS

  • 所有已发布的 Proyecta 应用均自动通过 HTTPS 提供服务
  • SSL 证书会自动为您签发和续期
  • 对于自定义域名,在 DNS 正确指向后同样适用

保持依赖项更新

  • 定期向 AI 询问:"Check my dependencies for known security vulnerabilities and upgrade the vulnerable ones."
  • 仔细审查 AI 的改动——依赖项升级有时会包含破坏性变更

重大改动后重新审计

  • 在添加身份验证、支付、文件上传或任何涉及用户数据的功能后,重新运行审计
  • 在首次发布到生产环境之前,进行一次全面排查
  • 为您的 *.proyecta.live 子域名提供 HTTPS 和证书
  • 环境变量——密钥存储在专用的密钥存储中,并同步到您应用的 backend(Convex),不会 commit 到代码库。注意:密钥对拥有项目访问权限的工作区成员可见。
  • 隔离运行时——每个项目在独立容器中运行,开发环境的问题不会影响其他用户
  • 在首次发布前运行审计——全面排查可以在问题上线前将其拦截。
  • 重大改动后重新运行——添加身份验证、支付或文件上传功能会引入新的攻击面。
  • 缩小审计范围——针对特定区域的审计比全应用扫描更快速、更深入。