担心 AI 执行命令风险大?揭秘 TRAE 的安全防护

大模型安全终端安全

picture.image

picture.image

TRAE,致力于打造安全可信的 IDE

随着大模型与 Agent 能力越来越强,AI 编程助手早已成为我们每天写代码的“副驾驶”,但一个严肃的问题也逐渐被开发者们意识到:真的能放心把代码仓库的“编辑权限”交给 AI 吗?

社区里的一些开发者也曾分享自己的“惊魂一刻”:有位网友说,在使用某 AI 产品时,自己的 AI 运行了如下命令,导致自己的 800G 文件都被删除。

picture.image

乍一看,这个命令没什么问题:AI 期望删除 C:\Users\xxx xxx\Documents\SCE 这个目录,但是实际上这个命令实际执行时,会静默删除整个 C 盘

因为在 PowerShell 中 \ 就是一个常规字符而不是转义字符,使用 PowerShell 语法高亮可以看出这个问题,在 Windows 中 \ 作为路径参数表示的是当前进程 cwd 所在盘符的根路径,这个例子中为 C:

picture.image

因此如上命令等价于使用 cmd 执行:

picture.image

如何规避这样的风险呢?最佳处理方法当然不是退回手动编码的“安全区”。实际上,AI 编码安全需要 LLM(大模型)、开发者(使用者)和 IDE(开发环境)三方的共同努力:

  • LLM 生产商需努力让模型更精准、更可控。

  • 开发者自身需提升提示工程能力和审查意识。

  • 而作为 IDE 的构建者,TRAE 团队也愿意在这条责任链上多往前走一步——打造一个“默认安全”的环境,将防护内置于工具之中。

picture.image

通过 “沙箱” 等多重安全机制,降低命令运行风险

TRAE 支持沙箱、 Shell 拦截等多重安全机制,将终端命令对文件的操作,限制在一个相对可控的范围内,从而降低文件被意外的修改或删除等风险,为开发者减少后顾之忧。

沙箱模式

最近,TRAE 正在灰度「沙箱运行模式」,这种模式即为 Agent 命令的执行提供一个沙箱环境。

picture.image

我们明确定义了文件系统的权限边界:仅对项目目录、临时目录、以及常见依赖目录赋予了读写权限。命令在沙箱环境中执行文件操作时,操作系统会根据沙箱环境配置识别该操作是否越权进而拦截。

  • 在未识别到越权错误时,则代表命令在沙箱中执行完成,TRAE 会将执行结果反馈给 AI。
  • 在识别到越权错误时,会提供给用户多个选项进行手动选择:

跳过: 如果 AI 生成的命令确实有安全问题,则用户可以取消命令运行,让 AI 尝试其他方式。

运行: 越权不代表不安全,当用户确认 AI 生成的命令无安全问题时,可以在沙箱外重新运行一次。

添加命令到白名单: 当用户认为这个命令永远不会出现安全问题,可以放心的让 AI 执行,则可以添加到白名单,后续该命令的执行将永远在沙箱外执行。

Shell 拦截

除了沙箱模式,TRAE 还增加了 Shell 拦截机制进行兜底,对 rm 等高危命令的越权操作进行检测和拦截。

例如,对于上述社区案例中的命令,在 PowerShell 中,会拦截 cmd 以及 cmd 内部 rmdir 的执行,当检测到 rmdir 的路径参数不在 Agent 允许操作的范围内时,将直接拒绝,从而避免此类问题的发生。除了 PowerShell,我们也为 bash / git-bash / zsh / fish 这几种常见 Shell 提供了安全删除的 Shell 拦截能力。

picture.image

picture.image

TRAE 中如何使用沙箱

当前,沙箱功能正在灰度中,功能可支持 macOS 系统及远程使用 Linux,Windows 系统的功能正在开发中,敬请期待。 使用 Windows 的用户建议直接使用白名单模式来保障命令执行的安全性。

对于可以使用到此功能的 macOS 用户可以发现:运行对话流中的命令行,会被切换为沙箱中自动运行模式。

picture.image

当然,用户也可以在【设置 > 对话流 > 自动运行】模块,调整命令行运行方式:

picture.image

沙箱运行(支持白名单)--默认启用,推荐使用

  • macOS 支持沙箱能力,命令在沙箱中自动运行和判定风险。可以通过设置白名单将部分可信命令逃逸出沙箱环境直接运行,请务必确认清楚再加进去。

  • Linux (通过 Remote SSH 使用)支持沙箱能力。

手动运行

  • 所有命令需手动确认后执行

自动运行--这种运行方式风险高,不推荐使用

  • 所有命令自动在沙箱外执行

picture.image

与开发者共同建设安全防线

TRAE 在带给开发者一个更安全可信的工具的时候,不是去限制 AI 的能力,而是为它铺设一条安全的轨道;不是增加开发者的负担,而是为大家配备最可靠的警报器和制动系统。

沙箱功能虽然可以在绝大多数场景下帮助我们拦截风险,但仍然可能有当前还未知以及暂时无法覆盖的特殊情况出现。对于当前还不能支持的 Windows 系统以及网络权限边界问题,我们也在积极探索中。也欢迎各位开发者在实践过程中提出自己遇到的问题,我们一同建设更安全的工具。

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大模型解决方案白皮书:社交陪伴场景全流程落地指南
随着大模型技术持续突破,AI正加速重塑社交娱乐的形态与体验。其中,陪伴式聊天因用户黏性强、互动频次高,成为大模型商业化落地的关键赛道。随着模型能力跃升至万亿参数级,AI从工具属性正迈向情感交互生态,现象级产品的诞生条件逐渐成熟。 本白皮书聚焦AI陪伴聊天应用开发,面向“从何起步、如何落地”的新手困惑,系统拆解从需求定义到产品上线的关键流程。我们结合工程化实践路径,打造模块化知识体系与渐进式开发框架,帮助开发者在30天内完成从技术认知到产品原型的跃升,快速构建具备基础交互能力的Web或App应用,迈出大模型
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论