Skip to content

Security: lid664951-crypto/PromptBox

Security

docs/SECURITY.md

安全设计

安装包允许包含

  • VITE_SUPABASE_URL
  • VITE_SUPABASE_ANON_KEY

anon key 不是管理员密钥,所有访问受 Supabase RLS 约束。

严禁进入安装包或 Git

  • SUPABASE_SERVICE_ROLE_KEY
  • TENCENT_SECRET_ID
  • TENCENT_SECRET_KEY
  • 腾讯云主账号密钥
  • 数据库管理员密码

根目录 .gitignore 已排除 .env、函数 .env 和 Supabase 临时目录。打包前还会执行 scripts/check-secrets.mjs 扫描源码和构建产物中的敏感变量赋值。

防护层

  1. Supabase Auth 验证邮箱账号和 JWT。
  2. PostgreSQL RLS 限制 workspace 和 owner/editor/viewer。
  3. 写提示词使用受控 RPC 和乐观锁。
  4. Edge Function 再验证 JWT、成员、角色、prompt/media 所属关系。
  5. STS 临时策略只授权服务端生成的随机对象 Key。
  6. COS 保持私有,不在数据库保存公开 URL。
  7. Electron 保持 contextIsolation: true、nodeIntegration: false、sandbox: true,系统能力仅通过白名单 IPC。

删除顺序

删除媒体时先删除 COS 原对象和缩略图,成功后才删除数据库行;失败会保留数据库记录并返回错误。删除提示词默认只软删除。永久删除必须在回收站内,并删除所有关联 COS 对象后再删除数据库记录。

There aren't any published security advisories