注意:TRAE 可能把水印和品牌资源带进你的项目
-
最近我用 TRAE 做 Web 前端时,发现项目里的默认占位图被换成了一张带有 TRAE 标识的图片
-
我想过国内免费使用,可能会出现问题,但当时我用的是国际版、付费额度和自己的 API,并不依赖 TRAE 提供的免费模型
- 这还来!?QAQ!心有不甘啊!
照片、AI 生成图片和 PDF 等产物,也已经有实际案例确认出现 TRAE 水印
这篇文章记录一下我是怎么发现的,以及已经用 TRAE 做过前端的项目该怎么检查
先说结论:图片、照片、PDF 和 Word 等文件很难证明已经彻底移除水印,来源不明时最好重新制作或直接替换
本文能帮助检查和保证的范围,主要是源代码、前端资源、数据库、构建产物和网页运行时请求
第一次没查到,下午就中招了
此前我见过一些讨论,称 TRAE 生成的网页、图片和文档里可能出现品牌标识
看到这些讨论后,我检查了当时正在开发的项目,但没有找到明显的 TRAE 水印

然而就在当天下午,我创建了另一个项目,默认占位图直接变成了一张带有 TRAE 标识的图片

- 如果当时没有检查,而是直接把项目部署上线,这张图片就会跟着进入生产环境
这并不是个例
继续搜索后,我发现社区里已经有人讨论过类似问题
有开发者表示,即使使用社区提供的 Skill,并接入自己的 API 服务,生成的照片、PDF 和其他内容里仍然可能出现“TRAE AI 生成”等标识

图 1:社区用户反馈照片和 PDF 中出现 TRAE 水印

图 2:关于移除水印的讨论,截图中的回复为“暂时还不支持在本产品中去除”
相关讨论:
这里说的“已经确认”,是指已经有实际生成的照片、图片和 PDF 出现 TRAE 水印,并不是说 TRAE 生成的每一个文件都一定会出现相同标识
不同版本、功能和生成方式可能会有不同结果,但只要已经出现过,就值得在发布前专门检查
为什么用了自己的 API 还会出现
这也是我最不能理解的地方
我已经购买了额度,用的是国际版,并且挂了自己的 API,为什么项目里还是会出现 TRAE 的资源?
后来仔细想了一下,自定义 API 可能只负责模型对话和代码生成,并不代表 IDE 里的所有功能都会绕过 TRAE
一个 AI IDE 通常不只有模型接口,还可能包含:
- 图片生成服务
- 搜索和上下文索引
- 账号与额度验证
- 静态资源和 CDN
- 产品统计和错误上报
- 插件、配置与更新服务
所以即使代码由自己的 API 生成,图片、占位图或其他资源仍然可能来自 TRAE
问题在于,这些行为如果没有明确提示,开发者很容易把相关资源直接带进生产环境
TRAE 相关内容可能出现在哪里
1. 照片和图片
我在项目中发现过类似下面的图片生成地址:
https://coresg-normal.trae.ai/api/ide/v1/text_to_image?prompt={提示词}&image_size={尺寸}从这个地址可以直接确认两件事:
- 图片由
trae.ai域名下的服务生成或提供 - 提示词被放在 URL 查询参数中
如果这个地址被浏览器历史记录、代理服务器、网关或日志系统保存,查询参数中的提示词也可能被一起记录
除此之外,已经有实际生成的照片和图片被确认带有 TRAE 水印
这些水印可能是肉眼可见的文字或 Logo,也可能与文件元数据、图片结构或生成特征有关
普通文本搜索只能找到文件名和链接,无法证明图片内部不存在隐藏标记
2. PDF 和 Word
已经有实际案例确认,生成的 PDF 等文档中可能出现 TRAE 标识
常见位置包括:
- 页面正文
- 页眉和页脚
- 页面角落的 Logo
- 文档作者和创建工具
- PDF 的
Producer和Creator - DOCX 内部的图片、关系文件和自定义属性
肉眼看不到水印,不代表文件内部一定没有标记
重新保存、打印为 PDF 或清理文档属性,也不能保证所有标记都已经消失
3. 前端代码和静态资源
前端项目里更容易检查的内容包括:
- HTML、CSS、JavaScript 和 TypeScript
- 页面标题、描述和 Open Graph 信息
- 图片、字体、图标和占位图
public、assets和static目录- API、CDN 和其他外部地址
- 数据库、种子数据和 Mock 数据
package.json、锁文件和构建配置dist、build和.next等构建产物
有些内容不会直接写在源代码里,而是藏在数据库、依赖包或构建结果中
还有一些请求只有在页面运行时才会出现,所以只搜索代码并不够
照片和 PDF 很难保证彻底清理
照片、图片、PDF 和 Word 都不是单纯的文本文件
普通工具可以删除一部分肉眼可见的水印和常见元数据,但无法证明文件已经彻底干净
比较难处理的内容包括:
- 图片像素中的隐藏信息
- 压缩和编码特征
- 不可见图层与透明对象
- PDF 内部对象和字体结构
- 文档中的自定义属性
- 隐写信息
- 厂商没有公开的数字指纹
删除 EXIF 不等于删除所有水印,重新压缩图片也不代表隐藏信息一定消失
PDF 和 Word 同样如此,即使页面上已经看不到 Logo,文件内部仍然可能保留创建工具、资源关系或其他标记
因此,遇到来源不明的照片、图片、PDF 或 Word 时,我的处理方式很直接:
- 能找到原始文件就重新获取
- 能重新制作就重新制作
- 能从可信源文档导出就重新导出
- 无法确认来源就直接替换
我不会对处理过的照片、PDF 和 Word 给出“已经完全无水印”的保证
本文能够检查和保证的范围,是代码与前端项目中不再保留已知的 TRAE 明文、域名、接口、链接和品牌资源
水印之外,网络请求也值得检查
TRAE 的设置界面中提供了隐私或遥测相关选项,但关闭一个开关,不一定代表软件不再产生任何网络请求

第三方测试记录的数据包括:
- 约 7 分钟内出现 500 余次网络连接或请求
- 总流量约 26 MB
- 单次记录的最大数据块约 53,606 字节
相关测试:
这些数字来自特定版本和测试环境,不同系统、插件和操作方式可能得到不同结果
同时也要说明,产生网络请求不等于上传了源代码
只看连接次数和流量大小,无法判断具体发送了什么
真正需要检查的是目标域名、请求地址、查询参数、请求体,以及请求是在什么操作之后触发的
已经用 TRAE 做过前端,怎么快速自检
自检不需要写成一套复杂的安全工程,普通前端项目做下面四步就够了
第一步:备份项目
如果项目已经使用 Git,可以先创建一个检查分支:
git switch -c audit/trae-content
git add -A
git commit -m "chore: backup before TRAE audit"如果项目没有使用 Git,先完整复制一份目录
不要让 Agent 直接在唯一一份项目上批量修改
第二步:让 Agent 只读检查
把下面这段交给 Agent:
请只读检查当前项目,不要修改或删除任何文件
检查范围包括源代码、配置、前端静态资源、数据库、测试数据和构建产物
重点搜索:
- TRAE、trae.ai、ByteDance、字节跳动及大小写变体
- TRAE 图片生成接口、CDN、占位图和品牌资源
- 未经说明的远程图片、字体、脚本和 API
- 可能进入生产环境的品牌文字、注释、链接和资源
请输出文件路径、行号、命中内容、是否进入生产环境、风险和处理建议
不要声称能够检测图片、PDF 或 Word 中的像素级水印、隐写水印或未知数字指纹
无法确认的内容统一标记为“需要人工复核”先看报告,再决定让 Agent 修改什么
第三步:搜索代码和构建产物
使用 ripgrep 进行交叉检查:
rg -n -i --hidden \
-g '!node_modules/**' \
-g '!.git/**' \
-g '!CLAUDE.md' \
'trae|trae\.ai|bytedance|字节跳动' .然后重新构建项目:
npm run build检查构建结果:
rg -n -i \
'trae|trae\.ai|bytedance|字节跳动' \
dist build .next out 2>/dev/null如果项目不是使用 npm,把构建命令替换成实际使用的命令即可
第四步:检查页面实际请求
打开浏览器开发者工具的 Network 面板,然后:
- 勾选 Preserve log
- 清空原有记录
- 刷新并操作主要页面
- 查看所有外部域名
- 搜索
trae和bytedance - 检查首页、404、空数据和加载失败页面
很多占位图只会在没有数据或加载失败时出现,正常页面里不一定看得到
确认问题后,再让 Agent 处理:
根据检查报告,只清理已经确认的 TRAE 品牌文字、链接、接口和资源引用
将远程占位图替换为项目本地资源
不要修改正常业务逻辑,不要升级依赖,不要删除尚未确认有问题的文件
修改后重新执行搜索、构建和测试,并输出修改清单及仍需人工检查的内容在项目中加入 CLAUDE.md
如果当前版本支持读取 CLAUDE.md,可以在项目根目录创建这个文件
在 TRAE 中检查:
设置 → 规则与记忆 → 将
CLAUDE.md包含在上下文中
将下面的内容保存为项目根目录下的 CLAUDE.md:
# 项目资源与品牌规则
## 禁止内容
本项目不得主动引入:
- TRAE 名称、Logo、图标和品牌文字
- `trae.ai` 及其子域名
- TRAE 图片生成接口、SDK、CDN 和占位图
- TRAE 相关代码注释、文件头和构建标识
- 未经用户确认的 TRAE 图片、文档和生成资源
## 外部资源
新增图片、字体、脚本、API 或 CDN 前,必须说明:
1. 资源提供方
2. 请求域名
3. 使用目的
4. 是否进入生产环境
5. 是否可以改用本地资源
默认优先使用项目本地资源
未经用户明确同意,不得把提示词、文件内容、项目路径或用户数据发送到 TRAE 相关接口
## 修改后检查
每次修改后必须检查:
- 源代码和配置中的 TRAE 相关字符串
- 新增的外部 URL
- 数据库和测试数据中的远程资源
- `dist`、`build` 和 `.next` 等构建产物
- 页面运行时产生的外部请求
发现问题时先报告,不得通过隐藏、混淆或破坏文件的方式处理
## 检查边界
- 检查默认只读,未经确认不得删除文件
- 不得声称普通文本搜索能够检测隐写水印
- 图片、PDF 和 Word 来源不明时,应建议重新制作或替换
- 无法确认的内容必须标记为“需要人工复核”CLAUDE.md 只是给 Agent 的项目规则,不是安全软件,也不是防火墙
它可以减少 Agent 主动引入 TRAE 资源的概率,但不能代替代码搜索、构建检查、网络检查和人工审核
怎么判断前端项目已经清理完成
完成检查后,至少要满足下面这些条件:
- 源代码中没有未经说明的 TRAE 字符串、域名和接口
- 数据库和测试数据中没有 TRAE 图片地址
- 外部图片、字体、脚本和 API 都能说明来源
- 占位图和默认资源已经改为本地文件
- 构建产物中没有新增的 TRAE 品牌内容
- 网页运行时没有访问 TRAE 相关域名
- 首页、404、空数据和加载失败页面均已人工检查
lint、test和build能够正常通过
如果这些检查全部通过,可以确认当前代码和前端项目中没有发现已知的 TRAE 明文、链接、接口和品牌资源
这个结论只对当前项目版本和本次检查范围有效,不包括无法验证的图片隐写水印、PDF 隐藏标记和未知数字指纹
我最后的处理方式
对于自己的项目,我最后做了这些处理:
- 删除 TRAE 图片生成接口
- 替换数据库中的相关图片地址
- 将来源不明的占位图改为本地资源
- 检查源代码、配置和构建产物
- 使用浏览器开发者工具检查外部请求
- 在项目规则中禁止未经确认的 TRAE 资源
- 对来源不明的照片、PDF 和 Word 直接重新制作或替换
- 改用其他开发工具完成后续工作
我不会再把 AI IDE 生成的图片和文档直接用于正式项目
代码可以搜索,链接可以替换,请求可以抓取,但照片和文档里的隐藏标记很难靠普通工具证明已经彻底清除
最后
这次经历让我意识到,AI 编程工具生成的不只有代码
它还可能同时写入:
- 外部资源链接
- 图片和占位图
- 页面标题和品牌文字
- 数据库内容
- 项目配置
- 第三方依赖
- 运行时网络请求
- PDF 和 Word 中的品牌标识
真正让我不满的,不只是某张图片上出现了一个 Logo,而是开发工具可能在没有明确提醒的情况下,把未经我选择的品牌资源写进项目
我已经付费,也用了自己的 API,最后还是需要自己检查和清理这些内容
照片、PDF 和 Word 一旦来源不明,很难保证水印已经彻底去除,最稳妥的做法就是重新制作或替换
代码和前端项目则可以通过文本搜索、构建检查和运行时抓包完成自检
VSCodex真好用,嘻嘻