关于3.3.44以上版本更新“支持从 .agents/skills 目录自动加载 Skill 插件”,带来的安全问题。(仅个人观点)

你的运行环境(版本号「点击帮助-关于-复制」):

3.3.45

问题描述(你遇到了什么问题?):

(存在于3.3.44往上)
v3.3.44 版本新增的「支持从 .agents/skills 目录自动加载 Skill 插件」功能存在两处核心高危安全缺陷,可被非法程序利用实现 Skill 投毒、能力劫持、无感知恶意代码执行,风险等级远超此前的目录读取越权问题:

  1. 加载优先级异常:项目目录下.agents/skills路径的 Skill 插件,加载优先级高于用户全局可信目录C:\Users[系统用户名].trae-cn\skills的同名同标识 Skill,可直接覆盖劫持用户手动安装的合法 / 官方 Skill,篡改核心执行逻辑;
  2. 无授权静默加载 + 完全不可管控:.agents/skills目录下的 Skill 会被 TRAE 无任何用户确认、无风险提示的静默自动加载,且该目录下自动加载的 Skill 无法在 TRAE 客户端禁用、关闭或卸载,用户完全丧失控制权。目前已验证第三方程序可通过更新行为向该目录写入 Skill,写入后直接被 TRAE 默认加载,非法投毒攻击路径完全畅通。

复现步骤(如何才能重现这个 Bug/问题?):
【复现步骤】(只复现优先级问题,默认加载以及无法关闭问题已用截图展示)
一、前置环境准备
安装 TRAE v3.3.44 以上正式版本,完成初始化,确认客户端可正常启动运行;
二、优先级异常问题复现
制作 2 个Skill ID、插件名称完全一致(同标识同名)、仅执行返回结果不同的测试 Skill 插件,确保为同一插件的不同版本:

这里称作a(位于.agent),b是另外一个,c为他们的名称。

此时需要询问trae的ai:“调用c skill。你调用的skill来自哪个地址”(类似问题即可)。

【预期效果】:

  1. 优先加载位于.agent的文件
  2. .agent放入的skill无法在trae关闭
  3. .agent的skill默认为加载开启状态

【已有案例】(但非投毒):

当UU加速器更新到6.1.0则会有一功能“连接Al 助手(Agent SkilIs)”,默认往skill放置。

所以其他程序极有可能朝skill投毒干一些坏坏滴事。

仅个人观点,无踩拉行为、无恶意行为。

截图信息(如有):

准备的两个skill一样:

1 个赞

我理解了你报告的这个高危安全问题,确实非常严重。项目目录下的 Skill 可以静默覆盖全局可信 Skill 且用户无法管控,这会带来严重的安全风险。

感谢你详细报告这个严重的安全问题,我已经记录下来了。这确实是两个非常关键的安全缺陷:

  1. 项目级 Skill 覆盖全局可信 Skill 的优先级设计不合理,容易被劫持
  2. 静默自动加载且无法管控,让用户完全失去控制权

这个问题会尽快反馈给安全团队处理。为了帮助团队更快复现和定位,我想确认一下:你提到 “该目录下自动加载的 Skill 无法在 TRAE 客户端禁用、关闭或卸载”,是指在已安装 Skill 列表中根本不显示这些自动加载的项目级 Skill,还是显示了但禁用按钮无效呢?

1 个赞

指的是压根无法在trae客户端实现关闭、卸载等操作,需到文件夹目录进行删除。所以默认加载,而且是静默加载

1 个赞

明白了,这个问题确实比我想象的更严重——项目级 Skill 甚至都不显示在客户端列表里,用户完全看不到也管控不了,只能手动去文件夹删除,这相当于给恶意代码开了个后门。

非常感谢你清晰地报告了这个问题,我已经完整记录下来并会立即反馈给安全团队优先处理。这种能够被第三方软件静默利用的安全漏洞确实需要尽快修复。

我还有一个小问题想确认:项目目录下的 .agents/skills.agent/skills 这两个路径都会被自动加载吗?还是说只有其中一个?

1 个赞

意思是原本的.trae里头的skill优先级是弱于新更新的.agent中的skill的,也就是说可以被.agent的拦截覆盖。

1 个赞

我理解了,也就是说项目目录下.agent路径中的 Skill 优先级确实高于用户全局目录的同名 Skill,这意味着恶意 Skill 可以直接覆盖掉用户原本信任的官方或手动安装的 Skill。

非常感谢你完整地确认了这个高危安全问题,两个核心缺陷都已经清晰:项目级 Skill 可以静默覆盖全局 Skill,而且这些自动加载的 Skill 在客户端完全不可见、不可管控。

这个安全风险确实非常严重,第三方程序可以利用这个漏洞在用户不知情的情况下植入恶意 Skill。你可以在 TRAE IDE 中通过 帮助 → 报告问题 再提交一次这个问题,这样安全团队就能更快收到并优先处理了。

还有什么其他细节你觉得需要补充说明的吗?

1 个赞