简介:本文以教程视角拆解两类主流 AI 编程智能体的安全架构差异:“内核沙箱优先”与“模型审查优先”。读者将理解一种根本安全哲学如何引发全部后续设计的连锁反应,掌握从场景梳理、安全模式配置、工具链对比到红蓝演练验证的完整落地流程,并能识别提示词注入、命令混淆等典型风险,为团队选型与安全接入提供可操作的决策框架。
当前 AI 编程智能体(能自主读代码、改代码、执行命令的 AI 助手)存在两种截然相反的工程哲学。本教程要帮助读者完成三件事:
适用读者:
两个系统的全部差异,都可以归结为对同一个根本问题的不同回答:“如何保证 AI 执行命令时的安全?”
| 根本选择 | 安全思路 | 一句话概括 |
|---|---|---|
| 内核沙箱优先(方案A) | 信任模型 + 硬隔离 | 用操作系统内核限制 AI 能做什么 |
| 模型审查优先(方案B) | 不完全信任模型 | 用 AI 审查 AI,靠分类器拦截风险行为 |
这里最关键的理解是:两种架构各自的设计不是七八个互相独立的决策,而是一个根本选择的连锁反应。选择了内核沙箱,工具系统自然走向“少而通用”;选择了分类器审查,工具系统自然走向“多而专业”。后续所有维度的差异,都是这条主线的延伸。
开始选型与配置前,建议完成以下准备:
做什么:列出智能体要执行的任务类型(读代码、改代码、跑测试、访问网络、调用外部服务),为每类任务标注数据敏感级别与允许的操作范围,形成“场景—风险—允许动作”对照表。
为什么:安全模式的选择必须由场景驱动。同样是“让 AI 改代码”,个人练手项目与企业核心仓库的容忍度完全不同,脱离场景谈“哪种架构更好”没有意义。
注意:区分开发环境与生产环境两条线。开发环境可以适度放宽以提高效率;生产相关目录应默认只读。
方案A:内核沙箱优先
方案B:模型审查优先
选型速查:强监管、高敏数据、可牺牲部分灵活性 → 方案A 为主;需要跨平台一致、重视交互解释与细粒度权限 → 方案B 为主;预算充足时,理想形态是两者叠加(见优化建议)。
方案A 像一把瑞士军刀:工具数量少(约 15 个),核心是给模型一个通用 shell,让它自己拼命令完成任务;文件编辑通过事务性补丁工具一次修改多个文件,失败可整体回滚。代价是可观测性差(shell 是黑盒)、依赖用户系统环境(例如搜索要靠用户机器上已安装的命令行工具)。
方案B 像一个专业工具箱:工具数量多(40+ 个),每个工具都有明确的输入输出,例如文件匹配工具、内容检索工具(内置打包的搜索二进制,避免依赖用户环境)、单点文件编辑工具、网页抓取工具、联网搜索工具、子智能体调度工具、基于语言服务协议的代码理解工具等。代价是工具 schema 更长、Token 成本更高。
| 维度 | 方案A(通用 shell) | 方案B(专业工具箱) |
|---|---|---|
| 灵活性 | 高 | 低 |
| 可靠性 | 依赖用户系统 | 自带依赖,一致性好 |
| Token 成本 | 低 | 高(工具 schema 多) |
| 可观测性 | 低(shell 黑盒) | 高(结构化结果) |
| 权限粒度 | 粗(整个 shell) | 细(可按工具审批) |
确定架构后,按“最小权限起点、按需放宽”的原则配置。以下为通用策略示意(字段名以实际所用产品文档为准):
security:mode: 工作区写入 # 可选:只读 / 工作区写入 / 完全访问allow_paths: # 允许写入的路径- ./src- ./testsdeny_paths: # 始终禁止触碰的路径- ./.env- ./secrets/**network: deny # 默认禁止外联,按需放开approval:auto_allow_below: 低风险 # 低于该风险等级自动放行interactive_review: true # 其余进入人工审批
配置要点:
分场景参考:
这一步解决“拦截之后怎么办”:
配置完成后,用对抗性用例验证边界是否真实生效:
逐项核对,全部通过才算配置成功:
问题1:操作被拒绝但没有任何提示。
原因:沙箱型架构的典型现象,内核直接拒绝,模型侧无感知。
排查:先查审计日志与系统日志确认拒绝原因;再确认当前模式是否过严,按需调整到工作区写入,或将必要路径加入白名单。
问题2:正常命令被分类器误判拦截。
原因:审查型架构依赖模型判断,存在误报。
排查:将确认安全的命令模式加入白名单;适当放宽风险阈值;对确属高风险的操作保留人工审批兜底,不要为效率完全关闭审查。
问题3:担心提示词注入绕过审查。
原因:分类器对训练时没见过的模式可能漏判。
排查:采取纵深防御——即使使用审查型架构,也叠加操作系统级隔离(容器、受限账号、文件系统权限);保持网络默认禁用;对来自代码注释、网页内容等外部文本的指令保持警惕。
问题4:Token 成本明显偏高。
原因:工具数量多、schema 长,或审批对话轮次过多。
排查:统计各工具调用频次,裁剪长期不用的工具;合并高频操作;有条件时对同一任务做两种架构的实测成本对比。
问题5:跨平台行为不一致。
原因:沙箱能力因操作系统而异,需要逐平台实现。
排查:在目标平台分别执行第五节的验证清单;对无法对齐的场景,统一按最严格策略执行。
问题6:多文件修改到一半失败,代码处于半成品状态。
原因:逐文件生效的非事务性编辑在中间失败。
排查:优先选用支持事务性补丁的工具;或强制配合版本控制——每次任务前新建分支或提交,失败即整体回滚。
本教程从“如何保证 AI 执行命令时的安全”这一根本问题出发,对比了内核沙箱优先与模型审查优先两种架构:前者用操作系统内核做确定性拦截,绕过抗性强但跨平台成本高、易静默失败;后者用 AI 审查 AI,交互友好、权限粒度细,但依赖分析正确性并面临注入与混淆攻击。落地时应完成三件事:结合场景选定安全哲学、按最小权限原则配置模式与路径边界、用红蓝演练验证边界真实生效。后续可继续关注两种架构的融合趋势、更细粒度的权限模型以及面向智能体的审计规范演进。