构建可信AI:安全指南

具有系统访问权限的AI深度防御架构。威胁模型、保护层和运营最佳实践。

AI助手的安全悖论

云端AI很安全,因为它什么都做不了。它生成文本——安全、沙箱化、无能为力。clawbot不同:它执行命令、修改文件、控制服务。这种能力带来了真正的安全考虑。

但请考虑替代方案:从ChatGPT复制AI建议的命令并粘贴到您的终端中。没有审计跟踪。没有批准门槛。没有沙箱。只是盲目信任AI生成的bash命令。

clawbot的安全模型假定AI会犯错。该架构提供防御层,使错误不会演变成灾难。这不是理论——这是经过实战测试的基础设施,被84,000多名开发人员用于运行生产系统。

威胁模型:五种风险场景

了解可能出现的问题是预防的第一步。以下是AI具有系统访问权限时的实际威胁:

⚠️
威胁1:指令误解

场景: 您说"删除旧日志",打算删除/var/log/myapp/*.log。AI将其解释为/var/log/*.log并清除系统日志。

影响: 数据丢失、监控中断、合规违规。

缓解: 对破坏性命令的审批工作流,指令中的明确范围,危险操作的试运行模式。

🔓
威胁2:凭证暴露

场景: AI记录包括API密钥的完整命令输出。日志同步到外部监控服务。凭证泄露。

影响: 未经授权访问第三方服务、数据泄露、财务损失。

缓解: 日志清理、加密凭证存储、环境变量隔离、独立的密钥管理。

🚀
威胁3:权限提升

场景: AI发现它可以无密码执行sudo命令(系统配置错误)。开始进行超出预期范围的系统级更改。

影响: 系统不稳定、安全策略违规、生产中断。

缓解: 以非root用户身份运行clawbot,限制sudo访问,使用具有最小权限的专用服务账户。

💉
威胁4:通过外部输入的命令注入

场景: AI处理不受信任的数据(电子邮件、webhook、API响应)并在没有清理的情况下将其合并到shell命令中。攻击者构造恶意输入以执行任意代码。

影响: 远程代码执行、完全系统妥协。

缓解: 输入验证、参数化命令、执行沙箱、不受信任通道的网络隔离。

🔁
威胁5:失控的自动化

场景: AI自动化进入无限循环(例如,触发自身的监控脚本)。消耗资源、生成垃圾邮件、耗尽API配额。

影响: 资源耗尽、成本超支、服务降级。

缓解: 速率限制、执行超时、断路器、资源配额。

深度防御:七个保护层

clawbot实施多个安全层。威胁必须绕过所有层才能造成伤害。每一层独立运作——一层的故障不会影响其他层。

1

沙箱执行

所有系统命令在具有受限文件系统访问权限的隔离环境中执行。技能无法读取~/.ssh/或/etc/,除非明确授予权限。

2

权限控制

细粒度的工具策略定义每个技能可以做什么。白名单批准的命令,黑名单危险操作,要求批准敏感操作。

3

审批工作流

破坏性操作暂停等待人工确认。AI起草操作,准确显示将执行的内容,等待明确批准。

4

审计日志

每个命令、API调用和文件访问都记录到不可变存储。跟踪AI做了什么、何时、为什么以及结果如何。对取证至关重要。

5

凭证隔离

密钥存储在加密保险库(~/.clawbot/secrets.env)中,并记录访问。环境变量永远不会出现在日志或错误消息中。

6

网络边界

为不同通道分离信任区域。公共Discord只有只读访问权限;私人WhatsApp可以执行命令。执行每个通道的策略。

7

资源配额

速率限制防止失控的自动化。每分钟最大执行次数、CPU/内存上限、API调用配额。达到限制时自动化安全失败。

10个安全最佳实践

在生产环境中安全运行clawbot的操作指南。

1️⃣
以专用用户而非Root身份运行

专门为clawbot创建具有最小系统权限的服务账户。永远不要以root或您的个人用户账户运行。

sudo useradd -r -s /bin/bash -d /home/clawbot -m clawbot
sudo -u clawbot clawbot gateway start

原因: 如果AI执行恶意命令,限制爆炸半径。被入侵的clawbot用户无法修改系统文件或访问其他用户的数据。

2️⃣
为破坏性操作启用审批工作流

配置工具策略以在执行危险命令之前要求确认:

# ~/.clawbot/config.json
{
"tools": {
"exec": {
"approval": "ask",
"approvalPatterns": ["rm -rf", "DROP TABLE", "kubectl delete", "git push --force"]
}
}
}
3️⃣
加密凭证存储

永远不要以明文形式存储API密钥。使用clawbot的内置密钥加密:

clawbot secrets set GITHUB_TOKEN
clawbot secrets set OPENAI_API_KEY

密钥使用AES-256静态加密。解密密钥从系统密钥链或密码短语派生。

4️⃣
清理日志以删除敏感数据

配置日志编辑模式以自动从日志中删除凭证、令牌和私有数据:

# ~/.clawbot/config.json
{
"logging": {
"redact": ["password=.*", "token=.*", "apikey=.*", "Bearer .*"]
}
}
5️⃣
实施每个通道的权限策略

公共通道(Discord、Telegram公共群组)应具有只读访问权限。将执行限制为已认证的通道(WhatsApp、私人Slack)。

策略示例

WhatsApp:启用所有工具(已认证、个人设备)
Slack #ops:仅DevOps技能(团队可见性、受信任用户)
Discord:只读(公共、不受信任)

6️⃣
定期审查审计日志

安排每周审查~/.clawbot/logs/exec.log。查找意外命令、失败的身份验证尝试或异常模式。

# 快速审计:显示过去7天的所有exec命令
grep "exec:" ~/.clawbot/logs/gateway.log | tail -n 1000
7️⃣
对新自动化使用试运行模式

在将自动化部署到生产之前,使用--dry-run标志进行测试。AI模拟执行而不进行实际更改。

"使用--dry-run运行数据库清理脚本,并向我展示将删除什么。"
8️⃣
限制AI模型访问敏感数据

对于高度敏感的操作(客户数据、财务记录),使用永远不会向外部API发送数据的本地Ollama模型。

模型选择策略

客户数据处理:Ollama llama3(100%本地)
代码审查:GPT-4(代码不敏感)
公共数据分析:Claude(最佳性能)

9️⃣
实施速率限制和断路器

通过执行配额防止失控的自动化:

# ~/.clawbot/config.json
{
"rateLimit": {
"maxExecutionsPerMinute": 10,
"maxAPICallsPerHour": 1000
}
}
🔟
备份和灾难恢复

定期备份clawbot配置、技能和会话数据。测试恢复程序。

# 备份整个clawbot目录
tar -czf clawbot-backup-$(date +%Y%m%d).tar.gz ~/.clawbot/

# 使用cron自动化
0 2 * * * tar -czf ~/backups/clawbot-$(date +\%Y\%m\%d).tar.gz ~/.clawbot/

事件响应:当事情出错时

尽管采取了预防措施,AI偶尔会做一些意想不到的事情。以下是如何快速响应并将损害降至最低。

🚨 安全事件的即时行动

1. 停止AI执行: 立即终止clawbot网关进程。

2. 评估损害: 检查审计日志以准确查看执行了什么。

3. 遏制泄露: 轮换被泄露的凭证,撤销API令牌。

4. 从备份恢复: 如果发生数据丢失,从最后已知的良好状态恢复。

5. 根本原因分析: 了解AI为什么犯错,更新策略以防止复发。

紧急停止程序

保持此命令可访问:

pkill -9 -f "clawbot gateway"

立即停止所有clawbot进程。当AI进入危险循环或执行意外命令时使用。

安全更新和维护

安全不是一次性配置——它需要持续关注。建立维护例程:

每日

审查审计日志中的异常。检查失败的身份验证尝试或异常命令模式。

每周

将clawbot更新到最新版本。审查和轮换高暴露服务的凭证。

每月

审计技能权限。删除未使用的技能。根据使用模式审查和更新工具白名单。

每季度

进行安全审查:渗透测试、日志分析、事件模拟。更新事件响应程序。

安全的AI基础设施

安全不是阻止AI行动——而是确保AI安全行动。通过适当的防御,clawbot在不牺牲控制的情况下提供前所未有的自动化能力。

安全开始使用