沙箱
沙箱(Sandbox)为智能体生成的指令提供隔离且受限的执行空间。通过严格的权限管控,确保命令在安全隔离的环境内运行,有效阻断对未经授权资源(文件、网络等)的访问或者高风险命令(权限修改等)。对于被拦截的命令,智能体会在对话流中发出风险提示,经由用户二次确认后,命令才会在沙箱外被执行。
使用沙箱具备如下优势:
- 构建数据泄露防线:基于沙箱技术实施系统级与用户级敏感目录的隔离,从源头阻断密钥泄露风险,全面保障核心资产安全。
- 防止高危命令直接执行:通过沙箱运行,提前识别并拦截潜在高危命令(例如删除D盘所有文件、修改用户权限等),并在对话流中发出提示,由用户决策。
- 助力企业合规准入:严格满足金融、医疗、政务等行业对开发环境文件隔离的严苛合规要求,降低安全顾虑,加速企业客户的采购决策流程。
约束与限制
| 限制类别 | 具体说明 |
|---|---|
| 功能限制 | 当前仅支持在华为云码道IDE工具中使用。 |
| 操作系统 | 仅支持Windows操作系统,推荐使用Windows 11 (x64);如果使用Windows 10 (x64),系统版本需为2019年及以上,建议升级至最新稳定版本。 |
| 管控对象 | 只管控Bash命令和PowerShell命令。 |
文件访问控制
启用沙箱后,华为云码道对文件目录的访问权限配置如下:
| 权限类型 | 目录类型 | 目录列表 |
|---|---|---|
| 只读 | - | 除Windows系统关键目录及用户敏感目录外,其余所有目录均开放读权限。 |
| 读写 | 项目目录及其子目录 | - |
| 不可读不可写 | Windows系统关键目录 |
|
| 用户敏感目录 |
|
启用沙箱
- 切换智能体模式。
- 参考快速启动操作,登录华为云码道。
- 打开华为云码道聊天窗口。
- 华为云码道IDE:单击IDE顶部菜单栏中的展开AI侧栏图标
,打开华为云码道聊天窗口。 - Visual Studio Code:单击Visual Studio Code侧边栏图标
,打开华为云码道聊天窗口。 - JetBrains:以IntelliJ IDEA为例,单击IntelliJ IDEA侧边栏图标
,打开华为云码道聊天窗口。
不同工具中华为云码道的界面风格有所差异,本章以其在IDE工具中的界面为例进行介绍,实际操作请以所用工具的显示为准。
- 华为云码道IDE:单击IDE顶部菜单栏中的展开AI侧栏图标
- 在聊天界面的输入框下方选择“智能体”,切换到智能体模式。右侧显示当前选用的模型,您可在下拉框中切换不同大语言模型。
- 单击华为云码道聊天界面右上角的设置图标
,进入华为云码道设置页面。 - 启用沙箱运行模式。
- 在设置页面的左侧导航栏中,选择“智能体”。
- 在“智能体 > 运行模式”右侧的下拉框中,选择“沙箱运行”。 图1 选择沙箱运行
- 配置命令白名单。
根据实际需求将特定命令的前缀添加到白名单。被加入白名单的命令将绕过沙箱机制,直接在沙箱外执行。
- 配置网络访问策略。
表3 网络访问策略说明 参数
说明
全网访问
允许访问所有内部及外部网络资源。
本地访问
仅允许访问本地服务网络(局域网/内网),禁止访问外部互联网。
禁止网络访问
阻断所有网络连接,禁止访问任何内部或外部资源。
- 单击返回图标
,退出当前设置界面,完成沙箱模式的启用。
高风险命令执行策略
当智能体检测到高风险命令时,AI将会在对话流中发出提示。请评估风险后,按需选择执行方式。
- 跳过所有未运行工具:跳过该命令,不执行。
- 添加XXX到白名单:将该命令的前缀添加到白名单。此后,所有以该前缀开头的命令将直接在沙箱环境外执行。
- 运行本次:允许在当前会话的沙箱环境外继续执行此命令。