首页 > 基础资料 博客日记
老板:“有人截图了!”。安全部门:“收到,马上查暗水印!”
2026-04-13 13:30:01基础资料围观1次
你好呀,我是歪歪。
最近接连出了两个和截图相关的互联网大瓜,吃完瓜我得给你提个醒:截图有风险,拍照需谨慎。
因为你以为只是随手一拍,老板却能顺着图片找到你工位。
第一个瓜是来自网易:

三石老板的这一句“有人截图了!”也迅速的成为了 2026 年的一个新梗。
一个是追觅:

但是追觅这个瓜更有意思一点,员工不是截图,而是对着屏幕拍照,然后发到了外面。
老板的原话是:
“谁截屏出去,立即开除。”
但没提“拍照”啊。

追觅这个图片拍完后,还特意给水印打了厚码。把这个聊天框属于哪个员工的信息都抹去了。
看起来是有一定的“反侦察意识”,但是不够高,因为即使是手机拍摄,也是存在被找到的风险。
网易的截图里面看起来是没有水印的。
追觅的照片把水印也抹去了。
那么问题就来了:公司是怎么找泄到密者的?找到截图或者照片的源头的呢?
答案就四个字:暗水印。
暗水印你可以简单的理解为:给你的照片、视频或屏幕内容戳了一个章,这个章的内容可能就是你的员工 ID,或者手机号一类的东西,肉眼看不见,但通过特定的方式一解码,就能看出是谁发出来的。
图片是由像素组成的,而暗水印是藏在像素数据里的一串“数学密码”,是图片的一部分,所以你用手机拍屏幕也抹不掉暗水印。
拍照只是换了个文件格式,但密码本身没丢。
遥想当年
我第一次知道有暗水印这个玩意,还得追溯到十年前,2016 年 9 月的中秋节。
那一年阿里爆出了著名的“抢月饼”事件。
几位安全部门的程序员哥们,为了在内网抢几盒月饼,人家也没有恶意,抢来也只是为了走亲戚的时候送礼啥的。于是自己写了个抢购脚本,没控制好逻辑,多刷了上百盒。
这事儿惊动了阿里的高层领导,随后内部发布了处罚通告,开除了这几位员工。
这件事情当年在网上引起了巨大的讨论。
大家都记得这几个哥们被开除了。
但是还忽略了一个事情,这件事情当时是怎么爆出来的呢?
是有人把公司内网对该事件的处置内容截图了:

是的,因为:

2026 年的新梗,还能用到 2016 年的老历史上。
有人截图发出去了,然后才迎来了大家巨大的讨论。
当时这个截图的同事也被找了出来。
就是通过暗水印找到的。
我猜测,这个同事在登录内网后,在内部截图的时候,图片里面已经被戳上了他的工号和截图的时间,只是肉眼不可见而已。
然后这张图在网上开始发酵,这张图在各个论坛、网站、微信群里面流转,不论流转多少次,他的工号都在。
对于阿里安全部门做暗水印功能的同事来说,只要提取出工号,找到这个截图的同事就比较容易了。
通过这个事件,我才是第一次知道有暗水印这个东西的存在。
那一年,我刚离开大学,这件事情,给我“幼小”的心灵造成了极大的震撼,所以记忆深刻。
体验一下
在写这篇文章的时候,我找到了一个能直观让大感家受到暗水印存在的网站:
https://numfeel.996.ninja/pages/invisible-watermark

这个网站里面演示了关于暗水印的两种主流方案:
空间域水印——直接修改像素值的最低位(LSB),简单高效但不抗压缩 频域水印(DCT)——在频率空间嵌入信息,抗 JPEG 压缩、缩放等攻击
空间域水印的原理是修改像素最低位:
每个像素的颜色值是 0~255(8 位二进制)。最低位(LSB)的变化只改变亮度 ±1,人眼完全无法分辨。
例如:像素值 10110100(180)→ 改最低位为 1 → 10110101(181) 亮度只变了 0.4%,但这一位就能存储一个 bit 的信息。
频域水印的原理是在频率空间藏信息:
图像可以用 DCT(离散余弦变换)分解为不同频率的分量。低频 = 大面积色块,高频 = 边缘细节。 水印嵌入在中频区域:比低频更隐蔽(不影响整体色调),比高频更鲁棒(不会被压缩丢弃)。 JPEG 压缩本身就是基于 DCT 的,所以频域水印天然抗 JPEG 压缩。
这两个方案背后的技术原理不懂的没关系,并不影响你理解暗水印。
因为我也不懂,上面这两段我是直接从网站上抄过来的。
包括这个方案对比图也是:

我这里用“频域水印”的方式做个演示。
示例图我就直接用追觅的这个图片:

我把图片上传上去后,并输入我想在图片中隐藏的暗水印:
UID:9527|whywhy

然后点击“嵌入水印”,页面就会变成这样:

可以把嵌入暗水印之后的图片下载下来,也就是下面这张:
.png)
是的,这张照片已经是嵌入水印之后的照片了,肉眼完全看不出来。
但是你用这张照片去提取水印,是完全可以提取出来的:

那如果我对着这张图片,再拍一张,然后再去提取暗水印,你猜能提出来吗?
能?
还是不能?
答案是能,也不能。
你注意这里有个“嵌入强度”的选项,越高越抗攻击,但越容易看出:

虽然话是这样说,但是具体到我的这张图片,其实就算拉到 80,你肉眼也看不出啥问题:

我测试了一下,如果用默认的 30 强度,把有水印的图片通过手机再拍一次后去提取水印,有一定的概率能成功,只能说概率不高。
但是如果用最高的 80 强度生成的图片,在用手机拍了去提取,我试了好几张,百分百能提取成功:

而你要知道,这个网站只是 Demo 级别的,如果是企业级的暗水印通常采用更高强度的频域算法,甚至还会结合屏幕上的动态波纹,手机翻拍几乎百分百能还原,比这个 Demo 强多了。

一旦从图片中提取出了“UID:9527|whywhy”,拿到了 UID,再把人找到办公室一对峙,就破案了。
甚至,现在职场都有监控,再把监控调出来,拉到从水印中提取出来的时间,看看你有没有对着屏幕拍照的动作...
所以,通过上面这个案例,你就知道我开篇说的这句话,是多么的有道理:
截图有风险,拍照需谨慎。
AI 时代的暗水印
我之前写过这样一篇文章:《可怕,看到一个如此冷血的算法。》
里面提到了一个关于 Gemini SynthID 水印的东西:

这个东西,其实和我们前面说的“暗水印”有异曲同工之妙。
这是官方关于 SynthID 的介绍:
https://deepmind.google/models/synthid/
其中 SynthID 的工作原理里面是这样说的:
对人类不可察觉——但 SynthID 技术可以检测到。

这玩意怎么用呢?
非常简单,直接问就行了:

我给你实操一下。
我用 Gemini 让它给我生成一张风景照片,因为风景照片一眼看上去,想要识别出是否 AI 生成的,还比较困难:

这个就是它给我生成的图片,但是我截去了右边的明水印:

然后我再把这张图扔给它,让它验证一下这张照片是否是 AI 生成的,并给出实锤:

它给出的实锤,就是这个图片包含 SynthID。
只要检测到 SynthID 水印,就表明相应图片或视频的全部或部分内容是由 Google AI 模型生成或修改过的:
https://support.google.com/gemini/answer/16722517

这里还有几个关于 SynthID 的常见问题,可以看一下:

另外,在官方关于 SynthID 的介绍中,我关注到了这样一个点:

图像、音频、视频中插入 SynthID 我能理解,文本里面怎么能插入 SynthID 呢?
这个问题,在官方的介绍视频里面有一个非常简短的答疑:
https://www.youtube.com/watch?v=9btDaOcfIMY&t=85s




大概意思就是模型在生成文本时,在不改变原有意思的前提下,会在特定位置选择特定词汇,形成可识别的模式。
我把这段翻译扔给 Gemini,让它举一个更加形象的例子便于理解。
这是它给我的例子,确实形象:

另外,我翻了一下官网,没有看到 SynthID 具体生成的细节。
其实我是想要找一个证据来论证我的猜想:这个 SynthID 里面包含着用户信息。
换句话说,官方能通过 SynthID 找到这个图片是哪个用户生成的。
虽然,没有找到官方的证据,但是我觉得这是个大概率的事情。
所以,这个事情的想象空间就比较大了。
你想想,如果有人不怀好意的生成了一些图片,试图用这些照片以假乱真,去引发舆论。
你以为没人能找的到你。
实际上,你生成的图片可能从到头尾都写着你的名字。
所以说:莫乱整,乱整必被抓。
写在最后
歪师傅作为一个写了好几年文章的博主,也是遇到过被搬运,洗稿的情况。
所以关于“文字暗水印”也有一点点研究。
早期的时候我会故意在文章里面藏几个错别字,别人抄的时候不带脑子,也就一起抄过去了。
这算是一个被抄袭的证据。
后来这个方式被读者看到的时候,会提醒我写了错别字,我也不好解释我的良苦用心,不然显得我嘴硬的很。
当然了,有些错别字确实是我写错了。
反正错别字这种方式不太好。
后来,受到这句话启发:汉字调整序顺不影响阅读,绝大多数人压根不到感觉。
我觉得这也算是一种文字的“暗水印”,而且比错别字高级。
这篇文章里面也有几处类似的地方,不知道你发现了没有:
那么问题就来了:公司是怎么找泄到密者的? 我找到了一个能直观让大感家受到暗水印存在的网站。 实际上,你生成的图片可能从到头尾都写着你的名字。
好了,最后还是提醒一下各位打工人、各位在网上冲浪的朋友:
截图有风险,
拍照需谨慎。
指尖轻点处,
云端已记名。
莫道无人见,
暗纹即汝名。
好诗啊,好诗,收工!
最后,欢迎关注公众号【why技术】,全网首发。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务
- Linux入门--远程登录与用户管理
- 深度学习进阶(七)Data-efficient Image Transformer
- FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了!
- 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解
- SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程
- GaussDB技术圈层:携手金融业DBA,共创数据库文档
- 100多行代码实现一个最简单的Agent(用ReAct)
- 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG
- Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍

