☰
Clawith安全检查清单:上线开源AI智能体平台前必须完成的6件事
2026/9/25 7:06:16 网站建设 项目流程

Clawith安全检查清单:上线开源AI智能体平台前必须完成的6件事

【免费下载链接】ClawithYour First AI Agents Company项目地址: https://gitcode.com/gh_mirrors/cl/Clawith

Clawith 是一个开源的多智能体协作平台(AI Agent Platform),为每个 AI 智能体提供持久身份、长期记忆和独立工作区,让智能体像"数字员工"一样组成团队协同工作。当你要把这套开源 AI 智能体平台从本地 Demo 推向团队生产环境时,安全配置是绕不开的一道坎。本文整理出一份上线前必须完成的 6 件事安全检查清单,帮你快速排除隐患。

1️⃣ 更换默认密钥:SECRET_KEY 与 JWT_SECRET_KEY

Clawith 的身份认证基于 JWT 令牌,密码使用 bcrypt 哈希存储(见 backend/app/core/security.py)。但默认配置中,这两个安全密钥的占位值都带有change-me字样:

  • SECRET_KEY=change-me-in-production
  • JWT_SECRET_KEY=change-me-jwt-secret

它们的定义位置在 .env.example,默认值回退逻辑在 backend/app/config.py。如果上线时不修改,任何人都可能伪造合法登录令牌。

操作建议:生成至少 50 字符的随机字符串填入.env。如果使用 Helm 部署,参考 helm/clawith/values.yaml 中的注释要求:secretKey 至少 50 字符,jwtSecretKey 至少 32 字符。

2️⃣ 修改所有默认账号密码

除密钥外,部署栈中还有若干服务带有默认凭据。最典型的是 MinIO 对象存储,.env.example 中默认配置为:

MINIO_ROOT_USER=clawith MINIO_ROOT_PASSWORD=clawith-minio-secret

MinIO 承载着智能体工作区文件,若将其暴露在公网而未改密,文件将面临直接读取风险。

另外注意:Clawith 中第一个注册的用户自动成为平台管理员。上线前请控制访问入口,避免管理员账号被"先到先得"地抢占。

3️⃣ 启用 HTTPS 并配置正确的 PUBLIC_BASE_URL

Clawith 的密码重置、邮件验证、Webhook 回调都会生成用户链接,其基础地址由环境变量PUBLIC_BASE_URL决定(定义见 .env.example 第 88-92 行)。

  • 生产环境务必设为你的HTTPS 公网域名,例如https://app.example.com,切勿留localhost;
  • 令牌通过 URL 参数传递(如/reset-password?token=...),HTTP 明文传输下极易被截获。

4️⃣ 生产环境切换到 PostgreSQL

Clawith 支持 SQLite 和 PostgreSQL 两种数据库,但 README.md 明确建议:SQLite 仅用于快速测试,生产环境应使用 PostgreSQL。

DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/clawith?ssl=disable

多租户、高并发的生产场景(4 核 / 8 GB 以上配置)对数据库的并发写入能力要求更高,PostgreSQL 还能配合容器网络独立部署,便于做连接池调优(DB_POOL_SIZE、DB_MAX_OVERFLOW均可在 .env.example 中配置)。

5️⃣ 建立定期备份机制

Clawith 的智能体拥有持久身份——每个 Agent 的soul.md(人格)、记忆文件和私有文件系统都保存在主机目录backend/agent_data/<agent-id>/下(见 README.md "Agent workspace data storage" 一节)。这些数据无法重建:

  • Docker 部署中,该目录挂载进后端容器的/data/agents/;
  • Kubernetes 部署通过 PVC 持久化(参考 helm/clawith/values.yaml 中persistence配置)。

操作建议:将 PostgreSQL 数据库与agent_data/目录一并纳入定期备份(数据库 dump + 文件同步),并定期演练恢复。

6️⃣ 限制 Docker Socket 访问权限

这是最容易被忽视的一项。查看 docker-compose.yml 可以发现,后端服务挂载了宿主机的 Docker socket:

- /var/run/docker.sock:/var/run/docker.sock

这个挂载是智能体沙箱运行容器能力所必需的,但代价是:任何能控制后端的攻击者,实际上就拿到了宿主机的 root 权限。缓解措施包括:

  • 将宿主机该用户的 Docker 权限收敛到最小化;
  • 生产部署参考 deploy/RELEASE_DEPLOYMENT.md 中列明的网络隔离要求(PostgreSQL、Redis、MinIO 仅通过内部 Docker 网络可达);
  • 收紧CORS_ORIGINS:默认只允许本地地址(见 backend/app/config.py),上线时只添加你自己的前端域名,不要设为*。

总结:上线前 6 项检查速览

#检查项关键点
1更换密钥SECRET_KEY/JWT_SECRET_KEY使用强随机值
2修改默认密码MinIO 凭据、保护首个管理员注册
3启用 HTTPS配置PUBLIC_BASE_URL为公网 HTTPS 域名
4PostgreSQL生产环境弃用 SQLite
5定期备份数据库 +agent_data/智能体数据
6Docker socket最小化权限、收紧 CORS 与内网隔离

完成以上 6 项,你的 Clawith 开源 AI 智能体平台就具备了生产环境的基本安全底座。建议将这份清单纳入你们的发布流程,每次升级后重新过一遍。

【免费下载链接】ClawithYour First AI Agents Company项目地址: https://gitcode.com/gh_mirrors/cl/Clawith

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询