安全
本页面涵盖 Clawdbot 的安全模型、私信策略和提示注入防护。
私信策略
策略类型
| 策略 | 描述 |
|---|---|
open | 允许所有人 |
allowlist | 仅允许列表中的发送者 |
pairing | 需要配对批准 |
deny | 拒绝所有私信 |
默认策略
不同渠道的默认私信策略:
| 渠道 | 默认策略 |
|---|---|
pairing | |
| Telegram | pairing |
| Discord | pairing |
| Signal | pairing |
| iMessage | allowlist |
| Slack | allowlist |
配置示例
{
channels: {
whatsapp: {
dmPolicy: "allowlist",
allowFrom: ["+8613800138000", "+8613900139000"]
},
telegram: {
dmPolicy: "pairing"
}
}
}配对批准
当使用 pairing 策略时:
- 未知发送者发送消息
- 网关回复一个 8 字符配对码
- 消息被挂起,不处理
- 所有者批准配对码
- 后续消息正常处理
# 查看待批准列表
clawdbot pairing list whatsapp
# 批准配对
clawdbot pairing approve whatsapp <CODE>
# 拒绝配对
clawdbot pairing reject whatsapp <CODE>允许列表
配置允许的发送者:
{
channels: {
whatsapp: {
allowFrom: [
"+8613800138000", // 完整号码
"+86138*" // 通配符
]
},
telegram: {
allowFrom: [
"123456789", // 用户 ID
"@username" // 用户名
]
}
}
}执行安全
执行策略
| 策略 | 描述 |
|---|---|
deny | 拒绝所有命令执行 |
allowlist | 仅允许白名单命令 |
full | 允许所有执行(危险) |
配置
{
tools: {
elevated: {
security: "allowlist",
allowlist: [
"ls",
"cat",
"git status"
]
}
}
}提示注入防护
Clawdbot 内置多层提示注入防护:
1. 输入清理
- 自动转义特殊字符
- 过滤已知的注入模式
2. 上下文隔离
- 系统提示与用户输入分离
- 使用安全边界标记
3. 外部内容包装
- Webhook 载荷默认被视为不受信任
- 外部内容用安全边界包装
4. 输出验证
- 检测可疑的输出模式
- 阻止敏感信息泄露
网关令牌
始终为网关设置认证令牌:
{
gateway: {
auth: {
mode: "token",
token: "your-secure-token-here"
}
}
}即使在本地回环上也推荐使用令牌。
最佳实践
- 使用配对策略:对公开渠道使用
pairing策略 - 限制执行权限:使用
allowlist而非full - 设置网关令牌:始终配置认证令牌
- 定期审查允许列表:移除不再需要的发送者
- 监控日志:关注可疑的访问模式