
你平时用Telegram聊天,有没有想过:把聊天记录导出成HTML文件保存,是一件很危险的事?
安全研究人员发现,Telegram Desktop存在一个漏洞:机器人发的消息可以在聊天内容里植入隐藏的JavaScript代码。如果你把聊天记录导出成HTML文件打开,这些恶意代码就会执行——你的聊天记录可能被窃取。
很多人看到这个新闻的第一反应是:"我又不导出聊天记录,跟我有什么关系?"
但你可能不知道,很多人会习惯性地把重要聊天记录导出备份。而且这个漏洞的利用方式非常隐蔽——你收到消息的时候一切正常,只有当你导出HTML打开的时候才触发。
今天我们就来拆解一下:这个漏洞是怎么工作的?为什么导出聊天记录也会被黑?即时通讯软件到底该怎么安全使用?
一:事件复盘
根据绿盟威胁情报中心9月16日的披露:
- 漏洞产品:Telegram Desktop(Windows/macOS桌面版)
- 发现时间:2026年9月12日,ExPatch安全研究团队披露
- 漏洞原理:机器人发送的消息可以在聊天内容中植入隐藏的JavaScript代码
- 触发条件:用户将聊天记录导出为HTML文件并打开
- 后果:恶意JS可以窃取聊天内容、执行其他操作
注意关键点:漏洞不是在你正常聊天时触发,而是在你导出聊天记录为HTML并打开的时候才触发。这意味着你平时用着没事,但一旦做了"导出备份"这个操作,就可能中招。
二:技术核心拆解
1. 漏洞是怎么工作的?
先理解一个背景:Telegram导出聊天记录为HTML时,会把所有消息内容生成一个HTML文件。这个文件你用浏览器打开就能看,格式很友好。
问题出在:Telegram在导出HTML时,没有完全过滤消息内容中的HTML/JS代码。
正常情况下,聊天消息应该是纯文本。但攻击者(比如一个恶意机器人)可以发送一条消息,消息内容里藏着HTML标签和JavaScript代码。你在Telegram客户端里看到的是正常文字——因为客户端做了渲染过滤。
但当你导出成HTML文件时,这些隐藏的代码被原封不动地写进了HTML文件里。你用浏览器打开这个HTML文件时,JavaScript就执行了。
这跟以前的XSS(跨站脚本)漏洞原理一模一样——只是这次不是在网站上,而是在本地HTML文件里。
2. 为什么这很危险?
这个漏洞的阴险之处在于:
触发时机延迟。 你收到恶意消息的时候一切正常,过了几天甚至几周,你导出聊天记录备份的时候,漏洞才触发。你根本联想不到是哪条消息搞的鬼。
利用门槛低。 攻击者只需要给你发一条带恶意代码的消息——通过机器人、通过群聊,都能做到。不需要你点链接、不需要你下载文件。
后果严重。 一旦JS在本地HTML文件里执行,它可以读取这个HTML文件里的所有聊天内容,然后偷偷把数据发到攻击者的服务器。你导出备份的所有聊天记录,可能就这么泄露了。
3. Telegram做了什么修复?
这种漏洞修复思路很简单:在导出HTML的时候,把所有消息内容里的HTML标签和JavaScript代码都转义掉——就是把<变成<,让浏览器知道这是文本而不是代码。
修复后,导出的HTML文件里再危险的内容也只会显示为纯文本,不会被执行。
三:常见技术误区
误区一:"我不跟陌生人聊天就没事"
恶意消息不一定是陌生人发给你的。它可以来自群聊里的机器人、来自频道推送、甚至来自你订阅的通知机器人。
你在群里收到一条看起来正常的消息,背后可能藏着恶意代码。你根本不知道。
误区二:"导出聊天记录是安全的备份方式"
很多人觉得导出HTML就是存个纯文本,安全得很。但HTML本质上是网页文件,浏览器打开网页文件就可能执行代码。
只要导出的HTML没有彻底过滤内容,它就不是一个安全的"纯文本备份"。
误区三:"桌面版Telegram自动更新了,我就安全了"
漏洞修复后,更新到最新版本确实就安全了。但问题是:如果你之前已经导出过聊天记录,那些已经导出的HTML文件里可能还藏着恶意代码——你以后打开它,还是会中招。
所以不仅要更新软件,之前导出的旧HTML文件也要小心处理。
四:实操指引
对普通Telegram用户:
- 立刻更新Telegram Desktop到最新版本——这是最基本的
- 导出聊天记录后,不要直接用浏览器打开HTML文件——用文本编辑器看就好了
- 如果一定要打开HTML,用隔离的浏览器环境(比如隐私模式、虚拟机)
- 不要点击群聊里的可疑消息,尤其是机器人发的
对企业IT管理者:
- 如果公司在用Telegram作为沟通工具,确保所有员工的客户端都是最新版
- 不要把Telegram作为敏感信息的主要沟通渠道——端到端加密不代表导出环节也安全
- 提醒员工:导出聊天记录备份时注意安全
对安全从业者:
- 这类"导出文件型XSS"漏洞不只Telegram有——很多软件导出HTML/JSON时都可能存在类似问题
- 审计自己的产品导出功能时,记得检查用户生成内容是否被正确转义
五:结尾
Telegram这个漏洞,看起来不大——就是个导出HTML的XSS。但它提醒了我们一件事:你以为安全的操作,可能藏着你想不到的风险。
导出聊天记录备份,这是多正常的操作?谁能想到,一个本地HTML文件打开就能被偷数据?
网络安全就是这样:大漏洞大家都警惕,小漏洞往往因为"我觉得没事"而被忽视。但真正造成损失的,往往就是那些你觉得"不可能吧"的小问题。
用软件的时候,保持一点怀疑精神:这个操作真的安全吗?多问一句,可能就少踩一个坑。