一、OpenClaw 安全架构概览
1.1 安全边界
OpenClaw 的安全设计遵循最小权限原则:
┌─────────────────────────────────────┐
│ 外部世界(互联网) │
├─────────────────────────────────────┤
│ 消息平台(WhatsApp/Telegram) │
├─────────────────────────────────────┤
│ OpenClaw 网关(你的控制) │
├─────────────────────────────────────┤
│ 工作区(文件、配置、技能) │
├─────────────────────────────────────┤
│ 本地系统(操作系统) │
└─────────────────────────────────────┘
核心原则:越往外,风险越高;越往内,权限越受限。
1.2 威胁模型
主要风险点如下:
| 风险类型 | 来源 | 影响程度 |
|---|---|---|
| API 密钥泄露 | 配置不当、代码泄露 | 🔴 高 |
| 敏感数据外传 | 技能/子代理行为 | 🔴 高 |
| 恶意技能执行 | 第三方技能 | 🟠 中高 |
| 文件误操作 | AI 指令误解 | 🟠 中 |
| 会话劫持 | 网络攻击 | 🟡 低 |
二、API 密钥安全
2.1 密钥存储最佳实践
❌ 错误做法:
// 直接把密钥写在代码里
const apiKey = "sk-1234567890abcdef";
✅ 正确做法:
# 使用环境变量
export OPENCLAW_API_KEY="sk-1234567890abcdef"
或者在工作区创建 .env 文件:
OPENCLAW_API_KEY=sk-1234567890abcdef
关键点:
.env文件必须加入.gitignore,防止提交到代码仓库- 生产环境使用密钥管理服务(如 AWS Secrets Manager、HashiCorp Vault)
2.2 密钥权限最小化
申请 API 密钥时,只申请需要的权限:
- 如果只需要调用模型,不要申请管理权限
- 设置使用额度上限
- 定期轮换密钥(建议每 3-6 个月)
2.3 密钥泄露应对
如果怀疑密钥泄露:
- 立即撤销:去 API 提供方后台撤销该密钥
- 检查用量:查看是否有异常调用
- 生成新密钥:创建新密钥并更新配置


