AI 溯源水印被正面拆台:一个开源工具 6 天 1.16 万 star,C2PA、SynthID 全失效

OpenAI、Anthropic、谷歌费了老劲给 AI 内容加溯源水印——C2PA、SynthID,一个比一个高级。
然后有个开源项目,把它们全拆了。
watermarks-remover,8 月 11 日创建,6 天涨到 11,590 star——是近期除 DeepSeek Harness 外涨得最猛的新项目。
一句话介绍:一个 Agent skill + 纯标准库 Python 服务,专门剥离各家 AI 的溯源标记。覆盖 Claude、Gemini(SynthID)、OpenAI 三家的水印体系。
三层拆解:它到底怎么干的

水印不止一种,所以拆解也分三层:
-
A 层:不可见字符——AI 文本里常夹带零宽字符、异体空格、bidi 控制符、tag 字符。这些用确定性 Python 脚本直接清,零成本。
-
B 层:统计水印——最难啃的一层。SynthID-Text 这类水印不是藏字符,而是藏在"token 采样概率"里:模型按特定统计分布选词,水印检测器看分布就能判断"这是 AI 写的"。破法:用另一个模型改写——重写一遍内容,统计特征就被打散了。项目提供 Agent 改写 + rewrite_text.py 钩子。
-
Files 层:元数据——图片/文档里的 C2PA 签名、EXIF、XMP、文档属性。直接剥离,覆盖 PNG、JPEG、WebP、SVG、PDF、DOCX、ODT、HTML、Markdown。
三层各有各的打法,合起来就是一套完整的"水印清理流水线"。
怎么用:一条命令
它是 Agent skill 形态,装进 Grok、Cursor、Claude Code 都能用:
- 克隆仓库,把 skill 软链到
~/.grok/skills/或~/.cursor/skills/ - 启动服务(纯 Python 标准库,无依赖)
- 跟 Agent 说一句"去除 AI 水印",或者敲
/remove-ai-marks
它本身不写任何代码,干活靠 HTTP 调本地服务。
反转来了:别高兴太早
这项目最有意思的是自带两面性:
-
移除后仍留取证痕迹——相关论文指出,水印剥离过程本身会留下可检测的痕迹。道高一尺魔高一丈,但魔高一丈之后还有一丈。
-
作者声明只用于"你拥有的内容"——README 里写得明白:清理你自己内容的溯源标记是一回事,抹掉别人的溯源标记是另一回事。法律和伦理的边界,作者自己划清楚了。
-
这是双刃剑——AI 溯源是"谁写的"的证据链,拆了它,也拆了"AI 造假可追溯"的防线。假新闻、伪造文档、AI 代写争议,都会更难看穿。
怎么理解这件事
AI 溯源正在变成一场军备竞赛:
- 厂商这边:加更隐蔽的水印(统计水印、元数据签名、多模态嵌入)
- 开源这边:拆水印工具层出不穷(这个项目只是最新的一个)
- 中间还有监管:各国 AI 内容标识法规陆续落地,欧盟 AI 法案要求生成内容可追溯
技术上有意思,但别只当热闹看。水印的价值不是"加了就防伪",而是"拆了就有痕迹"。 只要剥离行为本身会留痕,溯源链条就没有真正断掉——这可能是比水印本身更聪明的设计。
对做内容平台、做 AI 产品的人,这事提醒一点:你的内容溯源方案,默认会被攻击。 别把"加了 C2PA"当终点,要当成起点。
仓库:github.com/guillaumemeyer/watermarks-remover(v0.5.0)
你站哪边:水印该加还是该拆?评论区聊聊 👇