工具
开源工具 watermarks-remover v0.3.2 上线:尝试剥离多厂商 AI 内容溯源标记
一个 Python 开源工具分层处理 Claude、SynthID、OpenAI 等的文本与文件水印,但作者承认对统计型…
2026.08.13 · 周四约 5 分钟阅读
watermarks-remover 是一个面向 AI Agent 的技能包与 Python 脚本集合,最新版本为 v0.3.2,定位为「剥离多厂商 AI 内容溯源标记」。其官方描述强调用于清理「用户自有内容」上的隐式水印与元数据,覆盖文本、图像与多种文档格式。
分层处理思路
工具将 AI 内容溯源标记按攻击难度分为两层,并辅以独立的文件元数据清理通道:
- Layer A(编辑型):针对不可见 Unicode 字符、罕见空格、双向控制符、标签字符等「显式注入」手段,使用确定性 Python 脚本直接清洗。
- Layer B(统计型):针对隐藏在「token 采样分布」中的生成式水印,通过 Agent 重写或调用外部模型改写实现「尽力消除」,是当前文献中的主流规避思路(如释义、回译)。
- 文件通道:处理 PNG、JPEG、SVG、PDF、DOCX、ODT、HTML、Markdown 等容器中的 C2PA、EXIF、XMP 及文档属性信息。
作者明确指出,统计型水印信号嵌在措辞本身,"在厂商公开检测器与密钥之前,没有任何工具能诚实地声称『这段文字通不过官方检测』",因此报告必须区分「可验证的清洗」与「best-effort 工作」。
覆盖矩阵
下表汇总该工具对四类生态系统的支持情况(仅以作者公布的能力为准):
| 通道 | Claude | Gemini / SynthID | OpenAI | Open-LLM |
|---|---|---|---|---|
| 文本编辑型水印 | Layer A | Layer A | Layer A | Layer A |
| 统计采样水印 | Layer B best-effort | Layer B best-effort | 如有则处理 | Layer B best-effort |
| C2PA / 文件元数据 | 支持(列出格式) | 存在即清理 | 存在即清理 | 存在即清理 |
| 图像像素域水印 | 不在范围 | 可选 SynthID 评分(外部) | 不在范围 | 不在范围 |
| 训练后门 | 不在范围 | 不在范围 | 不在范围 | 不在范围 |
工具本身不打包逆向 SynthID 的评分代码,而是运行时从用户本地克隆的 aloshdenny/reverse-SynthID 加载,且该上游项目采用非商用研究许可。
使用方式
核心脚本仅依赖 Python 3.10+ 标准库,常用命令示例如下:
- 统一检查与清洗:
python3 inspect_file.py draft.md、python3 clean_file.py photo.png -o photo.cleaned.png。 - 文本层 A:
inspect_text.py/clean_text.py --stats。 - 文本层 B(默认仅打印 prompt):
rewrite_text.py --backend print-prompt --strength paraphrase;可配合本地 Ollama(如 llama3.2),默认仅监听 loopback,远程端点需显式开启WATERMARKS_REWRITE_ALLOW_REMOTE=1。 - 图像评分:
setup_synthid.sh一键克隆上游并创建 venv,或通过make docker-synthid-build本地构建 Docker 镜像;评分仅做「检测/打分」,并不移除像素水印。
在 Agent 中可通过 /remove-ai-marks 调用(兼容旧别名 /remove-claude-marks),项目支持 Grok 的项目级与用户全局安装路径。
局限与提醒
作者在说明中给出了若干值得注意的限制:
- 文本水印的代价是「措辞本身」,Layer B 重写会改变原文表达,建议使用非来源厂商模型进行重写,以避免在同一家系统上被重新打标。
- 文件层面依赖各容器格式对元数据的支持,PDF 推荐配合
exiftool进一步清理残留属性。 - 工具不处理训练后门,也不对像素域水印做移除;图像侧只提供 SynthID 评分能力,V4 评分需使用上游约 220 MB 的谱码本
artifacts/spectral_codebook_v4.npz。 - 由于缺乏公开检测器与密钥,所有「水印已清除」的结论目前都只能是 best-effort,不能作为对外的合规凭据。
总体而言,watermarks-remover 反映了 AI 生成内容生态中「溯源标记—清理工具」的攻防一隅:编辑型与文件元数据型水印可被确定性剥离,而基于 token 采样的统计型水印尚无可靠的官方检测接口,攻防双方都仍在博弈中。
