AI Agent 安全红线:我的生产环境检查清单
目录
AI Agent 安全为什么重要
AI Agent 的能力越强,安全风险越大。
# 如果 AI Agent 能执行命令:
task = "帮我清理一下日志文件"
# 它执行了:
rm -rf /var/log/*
# 或者更糟:
task = "帮我看看这个文件"
# 文件是 /etc/shadow这篇文章是生产环境 AI Agent 的安全检查清单。
权限控制
1. 最小权限原则
# 不要给 AI Agent 管理员权限
# 只给完成任务的最小权限
# 错误:
admin_agent = Agent(
role="admin",
permissions=["read", "write", "execute", "delete"]
)
# 正确:
limited_agent = Agent(
role="code_reviewer",
permissions=["read", "comment"]
)2. 危险操作二次确认
# 执行危险命令前,需要人工确认
dangerous_operations = [
"rm",
"drop table",
"delete",
"sudo",
"chmod",
"curl http", # 防止 SSRF
]
def check_dangerous(command):
for op in dangerous_operations:
if op in command:
return require_human_approval(command)
return execute(command)3. 网络访问限制
# AI Agent 的网络访问应该被限制
允许的域名:
- github.com
- api.slack.com
- 公司内部 API
不允许的:
- 任意外部 API
- 内网数据库
- metadata 服务 (169.254.169.254)数据安全
1. 敏感数据不进 Agent
# 不要把敏感数据放进 Agent 的 context
# API keys、密码、Token 应该通过安全通道传递
# 错误:
task = "帮我调用这个 API: https://api.example.com
Headers: Authorization: Bearer sk-xxxxx"
# 正确:
# API key 存在 secret manager
# Agent 只拿 token,不接触明文 key2. 数据分类
AI Agent 能访问的数据:
绿色(无风险):
- 公开代码
- README
- 文档
黄色(需审批):
- 内部代码
- 用户非敏感数据
- 配置(无密钥)
红色(禁止):
- 数据库密码
- 用户敏感信息
- 支付信息
- 密钥/Token3. 日志和审计
# 所有 Agent 操作必须记录
class SecureAgent:
def execute(self, command, context):
# 记录操作
audit_log.info({
"agent": self.name,
"command": command,
"context_hash": hash(context), # 不记录具体内容
"timestamp": now(),
"user": current_user()
})
# 执行
return self.run(command)MCP Server 安全
MCP Server 权限隔离
# 每个 MCP Server 用不同的 token
mcp_servers:
github_readonly:
token: read_only_github_token
permissions: [read]
github_write:
token: write_github_token
permissions: [read, write]
database:
token: db_readonly_token
permissions: [select] # 只能 SELECT,不能 DDL/DMLMCP Server 最小暴露
# MCP Server 只暴露必要的工具
class SecureGitHubServer:
# 只暴露安全的工具
allowed_tools = [
"get_file", # ✅ 读文件
"list_files", # ✅ 列表
"create_pr", # ⚠️ 需要审批
]
# 隐藏危险工具
hidden_tools = [
"delete_file", # ❌
"delete_repo", # ❌
"admin_api", # ❌
]生产环境检查清单
权限:
□ Agent 没有管理员权限
□ 危险操作需要审批
□ 每个 MCP Server 用独立 token
□ 数据库只能读,不能写
网络:
□ 白名单域名
□ 禁止访问 metadata
□ SSRF 防护
数据:
□ 敏感数据不进 context
□ 数据分类标识
□ 日志记录操作
审计:
□ 所有操作可追溯
□ 定期审计日志
□ 异常操作告警结论
AI Agent 安全不是可选项,是必选项。
能力越强,风险越大。生产环境部署 Agent 之前,把检查清单过一遍。
安全设计要从一开始就做,不是后期打补丁。