用途:为在 Replit 上开发与部署应用的开发者提供安全基础实践,涉及密钥管理、Repl 间身份验证、认证请求头信任边界与公开 Repl 暴露风险控制。
主要能力:
- Secrets 管理。Replit Secrets 静态使用 AES-256 加密、传输使用 TLS,密钥定期轮换;分 App 级(单个 Repl)与 Account 级(Account Settings > Secrets)两种作用域。技能建议启动时校验必需密钥并快速失败,例如用 JavaScript 检查 process.env 中 DATABASE_URL、JWT_SECRET、API_KEY 是否缺失,缺失则输出提示并 process.exit(1)。Secret Scanner 会在把 API 密钥粘贴进代码文件时警告,指导存入 Secrets,不应忽略。
- 公开 Repl 安全。免费计划下 Repl 默认公开,源码对任何人可见,因此禁止硬编码密钥;Python 侧应使用 os.environ.get("API_KEY"),并在 .gitignore 中排除 .env、.env.local、.pem、.key。
- REPL_IDENTITY 令牌校验。每个 Repl 带有 REPL_IDENTITY 环境变量,是由 Replit 基础设施签名的 PASETO 令牌,可用于 Repl 间服务认证。示例用 @replit/repl-auth 的 verify,配合 REPL_PUBKEYS 中的 ED25519 公钥(base64)校验,payload 含 replId、user、slug、aud;中间件读取 x-repl-identity 请求头,校验失败返回 403。
- Auth 请求头信任模型。Replit 代理注入 x-replit-user-id、x-replit-user-name、x-replit-user-bio、x-replit-user-url、x-replit-user-profile-image、x-replit-user-roles、x-replit-user-teams 等请求头,仅在 .replit.app、.replit.dev 域名下可信;若自定义域名绕过代理可被伪造,可通过 process.env.REPL_SLUG 判断是否运行在 Replit。
- 数据库安全。较新的 Replit 数据库连接串默认安全,即使 DATABASE_URL 泄露也无法在 Repl 外使用;查询必须参数化,避免拼接 SQL 注入;Replit KV 数据库仅 Repl 内可访问,REPLIT_DB_URL 为内部使用。
- 安全检查清单。密钥方面:全部存入 Secrets、启动校验、不得出现在日志或错误响应;访问方面:控制 Repl 可见性、保护路由校验认证头、参数化查询、生产环境不暴露堆栈;部署方面:使用 Deployments、自定义域名启用 SSL、健康检查不泄露敏感信息、NODE_ENV 设为 production;团队方面:最小权限、清理闲置成员、企业版启用 SSO、限制部署权限。
使用方式:按上述步骤在代码与配置中落实;资源指向 Replit Secrets、Replit Security、Repl Identity (PASETO) 与 Secure Vibe Coding 文档;生产部署另见 replit-prod-checklist。
限制:需 Replit 账户且具备 Workspace 权限,理解环境变量,Auth 安全部分要求应用已部署。资料未提供具体价格、套餐差异、支持的平台或实测效果等事实。