跳到主要内容

安全检查清单

部署边界​

一套 SoduWork 部署对应一个组织。在组织内部,部门管理员管理自己的部门及其下级部门,超级管理员负责全局。

  • 部门管理员不能修改兄弟部门,也不能创建根部门。
  • 管理端的每个写接口都要求声明好的权限。
  • 组织架构的成功修改会记入审计日志,包括操作者、动作和目标。被拒绝的修改不会改变任何内容。

上线前​

  • 设置 SODUWORK_ENV=production,使用 PostgreSQL、强密码的 ADMIN_PASS 和 AUTH_SECRET、明确的 CORS_ORIGINS、DEVICE_AUTH_COMPAT=false 和 HUB_PUBLIC_URL(见团队部署)。
  • Hub 前面有 HTTPS,并支持 WebSocket。
  • 密钥放在密钥管理工具或环境配置里,不写进会提交的文件。数据库使用专用的、权限最小的账号。
  • 备份包含数据库和文件存储,并实际演练过恢复。
  • 执行机只接入这个 Hub,每把执行机密钥只在它自己的机器上使用。
  • 插件和 Skill 的来源经过审查。插件和 Skill 不是沙箱。
  • 管理员角色只授予每个人需要的权限点(见组织与权限)。

SoduWork 怎样处理密钥​

密钥保存在哪里
组织的模型密钥Hub 上,不会以明文返回
个人的模型密钥Hub 上,按账号分别保存,不会以明文返回
插件用到的密钥执行机上,通过绑定映射,只注入使用它的节点
即用里标记为敏感的设置按账号和即用隔离,用系统安全存储加密
执行机密钥接入时只显示一次,Hub 上只保存摘要

密钥不会进入插件、绑定、运行证据、日志或对话记录。

报告漏洞​

安全问题请私下报告,不要发在公开的 Issue 里,见报告安全问题。

编辑此页