本译文仅供参考。译文与英文有出入时,以英文文本为准。
安全
本页说明平台实际实施的各项控制措施,以便逐条核实,而不是凭空假定。
身份验证
- 密码使用 scrypt 加上每用户独立的盐进行哈希。
- 当邮箱地址未知时,登录会与一个虚设哈希做比对,因此无论账户是否存在,失败的登录耗时相同。
- 会话是存放在 httpOnly、SameSite=Lax cookie(生产环境加 Secure)中的不透明随机令牌。服务端只保存 SHA-256 哈希。
- 更改或重置密码会撤销所有设备上的所有会话。
- 验证令牌和重置令牌均为一次性,静态存储时经过哈希,并会过期(分别为 24 小时和 1 小时)。
- Google 登录会校验 CSRF state 参数,并拒绝将未经验证的 Google 邮箱关联到已有账户。
授权
- 基于角色的访问控制,采用权限表而非散落各处的角色比较。角色:USER、AGENT_BUILDER、SUPPORT、MANAGER、ADMIN、SUPER_ADMIN。
- 每一条读取客户数据的查询都以用户 ID 限定范围,因此来自其他账户的标识符只会得到 404,而不是泄露。
- 管理路由会检查它所需的那项具体权限,与渲染页面的布局无关。
- 任何人都不能更改自己的角色或状态,也不能授予高于自身等级的角色。
请求防护
- CSRF:以 cookie 认证的写操作需要 Origin 匹配和双重提交令牌。
- 对登录、注册、密码重置、智能体运行、公开表单和 webhook 实行速率限制。
- 在每个 API 边界用 Zod 校验输入。非法输入返回字段级错误,绝不返回堆栈跟踪。
- 数据库访问经由 Prisma 的参数化查询;不存在用字符串拼接的 SQL。
- 来自智能体和工作流节点的出站请求会拒绝回环地址与私有网段,从而阻断 SSRF。
机密
- 集成凭据和 OAuth 令牌在存储前用 AES-256-GCM 加密,且绝不发送到浏览器。
- API 密钥以 SHA-256 哈希形式保存。原始密钥只出现一次,即创建时的响应中。
- 提供商的 API 密钥仅存在于服务器环境变量中。所有模型调用都在服务端进行。
- 日志会经过一道脱敏过滤,剔除形似凭据的字段。
智能体执行
- 工具会声明风险等级:READ、WRITE 或 DESTRUCTIVE。每个智能体版本会声明它可以自动执行的最高等级。
- 超出该上限的调用会被拒绝、记录为待批准,并向模型报告为未执行。
- 运行受步数、令牌预算和挂钟超时三重限制。
- 每一步都会连同其输入、输出、时长和风险等级一并留存。
支付
- PROMIVO 从不接触也不存储银行卡数据。全程由我们的支付服务商处理。
- 在把载荷当作数据读取之前,会先验证 webhook 签名。
- 每个事件都在唯一约束下留存,因此重复投递会被识别并跳过,而不会被应用两次。
- 权益只由 webhook 处理器授予,绝不由客户端的成功跳转授予。
报告漏洞
联系我们,并附上复现步骤。在公开披露之前,请给我们合理的时间修复问题。