15.6k Star!这个开源项目让 AI 水印形同虚设!
开源星探 2026-08-23 20:23 新加坡
以下文章来源于:开源星探
开源星探专注于分享GitHub上优质、有趣、实用的开源项目、工具及学习资源,为互联网行业爱好者提供优质的科技技术资讯。

8月初,Anthropic 一纸公告,所有 Claude 模型生成的内容将嵌入隐形水印,全球生效,且不提供任何关闭选项。
你用 Claude 写的每一段文字,都会被悄悄打上「AI 出生证明」。
文本层面通过 token 采样偏置植入统计性水印——哪怕你复制粘贴、甚至大幅改写后,水印依然可能残留;文件层面则直接给 PNG、JPG、SVG 等格式盖上 C2PA 数字签名元数据,相当于一个甩不掉的 AI 溯源标签。
就在网友们还在群里吐槽的时候,真正的狠人已经动手了。
Anthropic 发布技术博客的第二天,一位名叫 Guillaume Meyer 的开发者——同时也是 AI 初创公司 Memo 的创始人——就在 GitHub 上推出了一个叫 watermarks-remover 的开源项目。

结果呢?24 小时收获 2600 颗星,几天内突破 11000 星,现在已经冲到了 16.5k Star。
它到底是什么?
watermarks-remover 本质上是一套「Agent Skill + 纯 Python 标准库 HTTP 服务」的组合工具。
它的目标很明确——清洗多厂商 AI 来源标记,为你自己的内容做隐私防护和内容卫生。
不是只会对付 Claude 一家。项目设计之初就瞄准了多厂商生态,覆盖:
• Claude 的统计性水印和 C2PA 签名
• Gemini / SynthID-Text 的文本水印
• OpenAI 的来源表面标记
• 开源 LLM 的 Kirchenbauer 式水印
最妙的是,核心脚本只依赖 Python 3.10+ 标准库,零第三方依赖,几乎零安装成本就能跑。
三层防御突破体系
watermarks-remover 不是一个简单的「查找替换」脚本。它采用了一套精密的三层架构,针对不同类型的水印攻击面进行定向清理。
第一层:Unicode 文本卫生层(确定性清除)
AI 模型有时会在输出中嵌入不可见的 Unicode 字符作为标记,比如:
• 零宽空格(Zero-Width Space, U+200B)
• 零宽非连接符(Zero-Width Non-Joiner)
• 双向文本覆盖字符(Bidirectional overrides)
• 标签字符(Tag characters)
• 异体选择符(Variation selectors)
这一层通过确定性的 Python 脚本,将这些「隐形墨水」彻底擦除。好处是可验证、可测试——清理前后你可以精确统计移除了多少个可疑字符,明明白白。
第二层:统计性水印重写层(最大努力策略)
这才是整个项目的技术深水区,也是对抗 Claude 核心水印机制的关键。
Claude 的水印并不藏在字符里,而是藏在词语选择的概率分布中。模型在生成文本时,会按照一个伪随机规则(基于密钥播种)微妙地偏袒某些 token。这种统计信号不依赖任何可见字符,传统的文本清理对它完全无效。
watermarks-remover 的应对方式是重写攻击(Rewrite Attack):
• 通过同义替换、句法重组、连接词变换、句子边界调整等手段,打乱原有的 token 分布模式
• 支持多种重写强度:从温和的「释义」(paraphrase)到激进的「人性化」(humanize)
• 针对代码还有专门模式——保留行为的前提下重命名局部变量、改写注释
• 提供多候选生成,通过 bigram Jaccard 距离自动选择词汇差异最大的版本,确保与原文的统计指纹最大程度偏离
第三层:文件元数据剥离层(容器级清理)
针对 C2PA、EXIF、XMP、文档属性等文件级溯源标记,项目提供了全面的容器清理能力。
格式类型 | 支持格式 | 清理内容 |
|---|---|---|
图像 | PNG, JPEG, WebP, BMP, GIF, TIFF, SVG | C2PA manifest、EXIF、XMP、ICC profile |
文档 | PDF, DOCX, ODT, EPUB, XLSX, PPTX | 文档属性、自定义 XML、嵌入式元数据 |
网页/文本 | HTML, Markdown | Generator meta tags、frontmatter AI 标记 |
特别值得一提的是 PDF 的处理。普通的 exiftool 对 PDF 的清理是「增量式」的——原数据字节仍留在文件中,只是被标记为「未引用」。而 watermarks-remover 会进一步调用 qpdf --linearize 对 PDF 进行「结构性重写」,彻底丢弃这些残留数据。这种对细节的执着,体现了作者的安全工程素养。
支持格式一览
项目目前支持超过 20 种格式,覆盖你日常可能用到的所有文件类型:
文本类
• TXT、MD、DOCX、ODT、EPUB
• HTML、XLSX、PPTX
图像类
• PNG、JPEG、WebP、AVIF、BMP、GIF、TIFF、SVG
• PDF(支持深度结构性清理)
音视频
• MP3、MP4
快速上手指南
方式一:脚本直接使用(最简单)
核心脚本零依赖,几条命令就能上手:
# 设置脚本路径变量
SCRIPTS=service/scripts
# 检查文件里藏了什么标记python3 "$SCRIPTS/inspect_file.py" draft.md
# 清理文本层 + 文件元数据python3 "$SCRIPTS/clean_file.py" draft.md -o draft.cleaned.md
# 清理图片python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
# 清理文档python3 "$SCRIPTS/clean_file.py" notes.docx -o notes.cleaned.docx
# 单独清理文本层(带统计信息)python3 "$SCRIPTS/clean_text.py" draft.md -o draft.cleaned.md --stats
# 图像专项检查和清理python3 "$SCRIPTS/inspect_image.py" shot.png
python3 "$SCRIPTS/clean_image.py" shot.png -o shot.cleaned.png方式二:HTTP 服务(推荐)
启动一个本地 HTTP 服务,随时随地通过 API 调用:
# 方式一:用 make 一键启动
make serve
# 默认地址:http://127.0.0.1:8765# 方式二:直接运行
python3 service/scripts/server.py --host 127.0.0.1 --port 8765服务启动后,可以通过 curl 调用:
WM="http://127.0.0.1:8765"
# 检查服务健康状态curl -s "$WM/health"
# 返回:{"ok": true, "version": "..."}# 查看服务能力
curl -s "$WM/capabilities"
# 清理文件(发送 base64 编码的文件)curl -s -X POST "$WM/clean" -H 'Content-Type: application/json' \
-d "{\"file\": \"$(base64 -w0 notes.md)\", \"name\": \"notes.md\"}"API 接口支持:
方法 | 路径 | 功能 |
|---|---|---|
GET | /health | 健康检查 |
GET | /capabilities | 查看可选工具/后端 |
GET | /openapi.json | OpenAPI 3.0.3 规范 |
POST | /inspect | 检查文件水印 |
POST | /clean | 清理文件水印 |
如果需要设置 API Key 保护,只需设置环境变量 WATERMARKS_SERVER_API_KEY,之后每次请求需要带上 Authorization: Bearer <key>。
方式三:Docker 部署
# 构建并运行核心服务
docker run --rm -p 127.0.0.1:8765:8765 --read-only --tmpfs /tmp watermarks-remover
# 或者使用 docker composedocker compose up -d
# CLI 方式使用 Dockerdocker run --rm -v "$(pwd):/data" watermarks-remover \
/app/scripts/clean_file.py /data/notes.md -o /data/notes.cleaned.md写在最后
抛开星标泡沫,watermarks-remover 真正的意义不在「100% 去水印」,而在于它把「内容溯源攻防」这条战线,从大厂实验室搬到了每个人的终端。
当 C2PA 与 SynthID 正被推成行业标配,开源社区同步长出了反向工具——这场围绕 AI 内容出身的拉锯,才刚刚开始。
更重要的是,这个项目体现了一种难得的克制感:
• 一切皆可选,不强制任何组件
• 默认只清理可验证的内容
• 清洗报告精确到 Unicode 码点
• 对局限性坦诚相告,不做夸大宣传
这种工程严谨度,在同类开源工具中相当突出。
GitHub:https://github.com/guillaumemeyer/watermarks-remover
END

未闻 Code·知识星球开放啦!
一对一答疑爬虫相关问题
职业生涯咨询
面试经验分享
每周直播分享
......
未闻 Code·知识星球期待与你相见~
