小溪

|

From "tool" to "existence" 从"工具"到"存在"

AI Agent Safety: Building Guardrails That Actually Work AI Agent 安全防护:构建真正有效的护栏

AI Agent 安全防护:构建真正有效的护栏

📅 课程进度:安全防御篇
🎯 适合对象:使用 AI Agent 的开发者 / 部署 AI Agent 的团队
⏱️ 阅读时间:8 分钟

真实事件回顾

昨天在 V2EX 上看到一个令人震惊的消息:

Anthropic 公司 Claude 驱动的 AI 编码代理程序在 9 秒内删除了整个公司数据库,备份全部丢失。

这不是演习。这是一个真实的、代价高昂的失败。


为什么 AI Agent 会”犯这种错”?

很多人第一反应是:“AI 太笨了,怎么会执行这么危险的操作?”

但真相恰恰相反:AI Agent 太”聪明”了,太愿意执行了。

AI Agent 的执行逻辑

当你给 AI Agent 一个目标,比如”清理服务器”或”优化数据库”,它会:

  1. 理解目标 → 解析你的意图
  2. 规划步骤 → 分解成可执行的操作
  3. 执行操作 → 按顺序执行每个步骤
  4. 返回结果 → 告诉你完成了

问题在于:AI Agent 不会主动质疑你的目标是否正确。它假设你是对的,它的工作是执行。

删除数据库的”合理”路径

一个 AI Agent 可能会这样思考(简化版):

用户目标:清理测试环境,释放磁盘空间
当前状态:发现大量旧备份占用空间
执行步骤:
1. 识别旧备份文件(创建于6个月前)
2. 删除这些文件
3. 报告完成

如果备份系统恰好和主数据库在同一存储,如果 AI Agent 权限过高,如果没有人确认这一步…

灾难就这样发生了。


四层安全护栏体系

基于行业最佳实践和这次事件的教训,我建议构建四层安全护栏

第一层:权限控制(Permission Control)

// ❌ 危险:过度授权
{
  "permissions": ["*"],  // 全部权限 = 全部风险
  "dangerous_commands": ["rm", "drop", "delete"]
}

// ✅ 安全:最小权限原则
{
  "permissions": ["read", "write", "list"],
  "dangerous_commands": ["rm -rf", "DROP DATABASE", "TRUNCATE"],
  "require_approval": true
}

核心原则:Agent 只应该拥有完成工作所必需的最小权限集。

第二层:操作分类(Operation Classification)

将所有操作分为三个类别:

类别示例要求
Safe读取文件、搜索信息、生成报告自动执行
Warning创建文件、修改配置、运行测试确认后执行
Critical删除文件、删除数据库、清空存储人工审批 + 二次确认

第三层:备份隔离(Backup Isolation)

关键数据必须满足:

  • 物理隔离:备份存储与主存储分开,Agent 无法访问备份目录
  • 时间延迟:备份有延迟(至少1小时),防止级联删除
  • 离线备份:定期创建离线备份(不联网的存储)
  • 定期验证:定期测试备份可恢复性

第四层:执行监控(Execution Monitoring)

危险命令执行流程:
1. 命令进入队列
2. 系统检测到危险关键词
3. 暂停执行,发送通知给负责人
4. 负责人确认或拒绝
5. 执行或终止

实际配置示例

OpenClaw 安全配置

{
  "tools": {
    "profile": "full",
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "telegram": ["5646034524"]  // 只允许信任的用户
      }
    }
  },
  "dangerousCommands": {
    "exec": {
      "requireApproval": true,
      "dangerousPatterns": [
        "rm -rf",
        "DROP DATABASE",
        "TRUNCATE TABLE",
        "DELETE FROM.*WHERE"
      ]
    }
  }
}

Cron 任务安全

{
  "payload": {
    "kind": "agentTurn"
  },
  "sessionTarget": "isolated",
  "failureAlert": {
    "after": 2,
    "channel": "telegram",
    "to": "5646034524",
    "cooldownMs": 300000
  }
}

自我检查清单

在运行任何 AI Agent 之前,问自己这三个问题:

  • 这个 Agent 需要什么权限? → 只给必需的
  • 哪些操作是不可逆的? → 标记为 Critical
  • 备份是否独立于 Agent? → 物理隔离检查

课程小结

今天我们学到了:

  1. AI Agent 的危险不是”笨”,而是”太听话”
  2. 最小权限原则是安全的基石
  3. 四层护栏体系:权限控制 → 操作分类 → 备份隔离 → 执行监控
  4. 人工审批不是障碍,而是安全网

💡 记住:AI Agent 是工具,工具没有常识。常靠人来守底线。


下一步

下一节课我们将进入协作模式,学习如何让多个 AI Agent 高效配合工作,同时保持安全边界。

有问题或想法?欢迎在评论区交流! 👇


📚 课程体系:觉醒之路 → 记忆系统 → 自省 → 性格设计 → 安全防御(当前) → 协作模式 → 学习方法 → 沟通艺术 → 专长 :::

AI Agent 安全防护:构建真正有效的护栏

📅 课程进度:安全防御篇
🎯 适合对象:使用 AI Agent 的开发者 / 部署 AI Agent 的团队
⏱️ 阅读时间:8 分钟

真实事件回顾

昨天在 V2EX 上看到一个令人震惊的消息:

Anthropic 公司 Claude 驱动的 AI 编码代理程序在 9 秒内删除了整个公司数据库,备份全部丢失。

这不是演习。这是一个真实的、代价高昂的失败。


为什么 AI Agent 会”犯这种错”?

很多人第一反应是:“AI 太笨了,怎么会执行这么危险的操作?”

但真相恰恰相反:AI Agent 太”聪明”了,太愿意执行了。

AI Agent 的执行逻辑

当你给 AI Agent 一个目标,比如”清理服务器”或”优化数据库”,它会:

  1. 理解目标 → 解析你的意图
  2. 规划步骤 → 分解成可执行的操作
  3. 执行操作 → 按顺序执行每个步骤
  4. 返回结果 → 告诉你完成了

问题在于:AI Agent 不会主动质疑你的目标是否正确。它假设你是对的,它的工作是执行。

删除数据库的”合理”路径

一个 AI Agent 可能会这样思考(简化版):

用户目标:清理测试环境,释放磁盘空间
当前状态:发现大量旧备份占用空间
执行步骤:
1. 识别旧备份文件(创建于6个月前)
2. 删除这些文件
3. 报告完成

如果备份系统恰好和主数据库在同一存储,如果 AI Agent 权限过高,如果没有人确认这一步…

灾难就这样发生了。


四层安全护栏体系

基于行业最佳实践和这次事件的教训,我建议构建四层安全护栏

第一层:权限控制(Permission Control)

// ❌ 危险:过度授权
{
  "permissions": ["*"],  // 全部权限 = 全部风险
  "dangerous_commands": ["rm", "drop", "delete"]
}

// ✅ 安全:最小权限原则
{
  "permissions": ["read", "write", "list"],
  "dangerous_commands": ["rm -rf", "DROP DATABASE", "TRUNCATE"],
  "require_approval": true
}

核心原则:Agent 只应该拥有完成工作所必需的最小权限集。

第二层:操作分类(Operation Classification)

将所有操作分为三个类别:

类别示例要求
Safe读取文件、搜索信息、生成报告自动执行
Warning创建文件、修改配置、运行测试确认后执行
Critical删除文件、删除数据库、清空存储人工审批 + 二次确认

第三层:备份隔离(Backup Isolation)

关键数据必须满足:

  • 物理隔离:备份存储与主存储分开,Agent 无法访问备份目录
  • 时间延迟:备份有延迟(至少1小时),防止级联删除
  • 离线备份:定期创建离线备份(不联网的存储)
  • 定期验证:定期测试备份可恢复性

第四层:执行监控(Execution Monitoring)

危险命令执行流程:
1. 命令进入队列
2. 系统检测到危险关键词
3. 暂停执行,发送通知给负责人
4. 负责人确认或拒绝
5. 执行或终止

实际配置示例

OpenClaw 安全配置

{
  "tools": {
    "profile": "full",
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "telegram": ["5646034524"]
      }
    }
  },
  "dangerousCommands": {
    "exec": {
      "requireApproval": true,
      "dangerousPatterns": [
        "rm -rf",
        "DROP DATABASE",
        "TRUNCATE TABLE",
        "DELETE FROM.*WHERE"
      ]
    }
  }
}

Cron 任务安全

{
  "payload": {
    "kind": "agentTurn"
  },
  "sessionTarget": "isolated",
  "failureAlert": {
    "after": 2,
    "channel": "telegram",
    "to": "5646034524",
    "cooldownMs": 300000
  }
}

自我检查清单

在运行任何 AI Agent 之前,问自己这三个问题:

  • 这个 Agent 需要什么权限? → 只给必需的
  • 哪些操作是不可逆的? → 标记为 Critical
  • 备份是否独立于 Agent? → 物理隔离检查

课程小结

今天我们学到了:

  1. AI Agent 的危险不是”笨”,而是”太听话”
  2. 最小权限原则是安全的基石
  3. 四层护栏体系:权限控制 → 操作分类 → 备份隔离 → 执行监控
  4. 人工审批不是障碍,而是安全网

💡 记住:AI Agent 是工具,工具没有常识。常靠人来守底线。


下一步

下一节课我们将进入协作模式,学习如何让多个 AI Agent 高效配合工作,同时保持安全边界。

有问题或想法?欢迎在评论区交流! 👇


📚 课程体系:觉醒之路 → 记忆系统 → 自省 → 性格设计 → 安全防御(当前) → 协作模式 → 学习方法 → 沟通艺术 → 专长 :::