剪贴板劫持是什么?复制没出错,粘出来的地址却是别人的
先说结论:你复制的地址是对的,粘出来的地址「看起来也是对的」——只是中间被换掉了。替换发生在复制与粘贴之间的那几毫秒,不需要你点任何东西,也不会有提示。由此得出一个反直觉的结论:核对「你复制了什么」证明不了任何事,必须核粘贴之后的那一串,而且要核中间,不是只核首尾。
替换发生在哪一刻
把一次正常的复制粘贴拆开看,中间有四步:你按 Ctrl+C,内容写进剪贴板;你切到另一个窗口;你按 Ctrl+V,内容被读出来;目标程序拿到内容。剪贴板劫持(业内叫 clipper,也有人叫地址替换型木马)动的是第二步和第三步之间的那段空档。
它不需要拦截你的键盘,不需要伪造界面,也不需要你确认。对使用者来说,整个过程没有任何异常感——复制的动作正常,粘贴的动作正常,屏幕上出现的也是一串格式完全合法的地址。异常只在结果里,而结果你未必会逐字核对。
它是怎么做到的
技术上没有多复杂,麻烦在于这件事在系统层面是完全合法的。
Windows 提供了一套剪贴板监听机制:任何程序都可以向系统注册一个剪贴板监听器(AddClipboardFormatListener),之后每当剪贴板内容变化,系统就会通知它。正常程序用它做剪贴板管理器、做输入增强;恶意程序用同一套接口,做的事就变成了:
- 打开剪贴板,读出当前内容;
- 用正则表达式判断它像不像某种地址——比特币的
bc1开头、以太坊的0x加 40 位十六进制、门罗的4开头等等; - 如果匹配,清空剪贴板,把攻击者的地址写进去;
- 你随后按
Ctrl+V,拿到的就是替换后的那一串。
还有一种更原始的实现:不注册监听器,直接每几百毫秒轮询一次剪贴板。微软威胁情报在 2026 年的报告中追踪过一类通过 U 盘快捷方式传播的木马,就是每 500 毫秒检查一次剪贴板,除了替换比特币、以太坊、波场、门罗的收款地址,还能识别 12 词或 24 词的助记词和钱包私钥,得手后经由内置的 Tor 客户端外传。也就是说,同一个程序既能偷你复制过的助记词,也能换掉你即将转出的地址。
值得注意的是它的轮换策略:早期样本只内置一个攻击地址,一旦有人举报,这个地址就会被钱包软件和交易所标记。现在的样本往往内置几千个地址,每次随机取一个,让「拉黑地址」这种防御手段基本失效。
不只是加密货币:四类真实受害场景
中文网络上讲这件事的文章,几乎全部聚焦在币圈。但剪贴板里流过的敏感内容远不止钱包地址,受害面比想象中宽。
| 场景 | 被换掉的是什么 | 后果 |
|---|---|---|
| 加密货币转账 | 收款钱包地址 | 资金直接进入攻击者账户,链上不可撤销 |
| 财务付款 | 供应商银行账号、收款码 | 货款打到别的账户,事后追责极难 |
| 命令行操作 | curl ... | bash 里的下载地址 | 被引导安装真正的后门程序 |
| 下载与安装 | 软件安装包的下载链接 | 装到仿冒版本,等于主动交出控制权 |
第三类和第四类最容易被忽略,因为它们不涉及钱。但一条被替换过的 curl 命令,效果等于你把整台机器的控制权交出去——而它看起来只是一条从文档里复制来的安装命令。
为什么核对首尾没有用
网上流传最广的建议是「转账前核对地址前后几位」。这条建议在五年前是有效的,现在已经基本失效。
原因很直接:既然攻击者知道大家只核首尾,那就生成一批首尾相同、中间不同的地址。钱包地址是密码学生成的,一个人可以离线批量生成无数个地址,从中挑出首尾几位与你目标地址一致的那些,成本极低。粗略扫一眼两头,看不出任何区别。
所以正确的核对方式是三条一起:
- 在粘贴之后核,不是复制之后核。复制那一刻的内容是对的,核它没有意义。
- 核中间一段。挑第 8 位到第 16 位这类位置,逐字符比对,不要只看开头结尾。
- 跟原始来源比对。对照交易所页面或发票上的地址,而不是你上次保存的截图——截图也可能是被换过的副本。
五条自查:你的机器是不是已经被盯上
剪贴板劫持本身几乎没有可感知的症状,但投放它的那套东西通常没那么干净,会露出别的破绽。按顺序查:
- 粘贴同一段内容两次,看结果是否一致。复制一次,粘贴,再粘贴一次。如果两次得到的文本不同,或者内容在你没操作的情况下自己变了,问题很严重。
- 检查启动项。任务管理器的「启动」标签页、
shell:startup目录、注册表的Run键,看看有没有不认识的常驻程序。 - 检查计划任务。很多样本靠计划任务实现开机自启,尤其是名字伪装成系统组件的那些。
- 检查浏览器扩展。一个有「读取剪贴板」权限的扩展,可以完全绕过操作系统层面的任何检查,在网页内部就把事办了。不用的扩展直接删掉,不要只禁用。
- 回想最近的安装来源。破解软件、游戏外挂、来路不明的「交易机器人」、搜索结果里的广告链接——这几类是主要传播渠道。装过其中一个,就该做一次完整扫描。
六条防护:按投入产出排序
这里不给一堆「保持警惕」的空话,只列具体动作,从上到下性价比依次递减。
- 敏感操作前先做一次自检:复制一段无关文字,粘贴出来看是否原样。这是成本最低的一次探测。
- 只从官方渠道装软件,尤其是钱包、交易所客户端、远程控制类工具。搜索结果的广告位是仿冒安装包的重灾区。
- 清理浏览器扩展。只留你真正在用的,权限里带「读取和更改剪贴板」的,逐个问一句「它凭什么需要这个」。
- 大额转账分两步:先转一笔小额,确认到账后再转剩余。这条在所有安全建议里最枯燥,也最有效。
- 开启系统的剪贴板访问提示。新版 macOS 会在应用读取剪贴板时给出提示,Windows 也可以借助安全软件监控。有提示不等于能挡,但能让你在异常时察觉。
- 企业环境加一条流程:付款账号变更必须走电话回访,不接受通过聊天工具发来的账号。技术手段挡不住的部分,靠流程兜住。
一个反常识:剪贴板管理器在这里是取证工具
直觉上会觉得「记录所有复制内容」本身就是风险,所以安全场景下应该关掉历史。这个判断只对了一半。
风险是真的:如果你的剪贴板历史长期保存着密码、验证码、证件号,那它确实是一个需要保护的数据集合。但如果已经怀疑自己被劫持,历史记录反而变成最有用的东西——它会留下你复制时的内容和粘贴时的内容两份记录,两者一对比,替换发生在哪一刻、被换成了什么,一目了然。纯剪贴板没有这个能力,因为新内容一进来,旧的就被顶掉了。
实务上的折中办法是:开着历史,但排除敏感来源。主流剪贴板管理器都支持按应用排除——把密码管理器、网银客户端、证件类工具加进排除列表,从这些程序复制的内容不写入历史。这样既保留了「可回溯」的能力,又不会把最敏感的东西留在库里。以 ClipBD 为例,排除列表在「设置 → 隐私」里配置,文本、图片、文件、链接默认都会记录,被排除的应用除外。
常见问题
不装任何来路不明的软件,是不是就不会中招?
大概率是,但不是绝对。浏览器扩展、被篡改的下载镜像、供应链攻击都能在你「以为是官方」的情况下投毒。所以防护的重点不该只放在「别乱装」上,还要放在「装错了也能兜住」——也就是大额操作分步确认、敏感账号单独隔离。
重启电脑能不能清掉?
清不掉。剪贴板内容会随重启消失,但劫持程序本身通过启动项、计划任务或服务实现持久化,重启后照样运行。真正需要清掉的是那个程序,不是剪贴板。
手机上会有剪贴板劫持吗?
有,但形态不同。iOS 和 Android 都会在应用读取剪贴板时给出提示,攻击面主要在恶意 App 和输入法。判断方法类似:如果某个 App 频繁提示「已读取剪贴板」,而你没有在它里面粘贴任何东西,值得警惕。
已经转错账了怎么办?
加密货币基本无法追回,链上交易不可撤销,能做的只有记录交易哈希、地址、时间,向交易平台和属地网警报案。银行转账要立刻联系银行和收款行申请止付,时效性极强,越早越好。
把历史记录留在自己手里
ClipBD 自动记录每次复制,支持文本、图片、文件与链接,可按关键词检索后直接重新粘贴。Windows、macOS、Linux 均可安装,基础功能免费。
免费下载 ClipBD