2025年11月,安全机构watchTowr Labs发布了一份报告,在我关注的所有安全邮件列表中引发震动。研究人员从JSONFormatter.org和CodeBeautify.org这两个主流在线开发者格式化工具中,抓取了8万份被保存的文件,数据总量超过5GB,时间跨度长达五年。

这些暴露的数据不是理论上的漏洞,而是对攻击者来说拿起来就能用的东西:实时可用的AWS凭证、生产环境数据库密码、Active Directory登录信息、OAuth令牌和SSH会话记录、银行的KYC记录、医疗机构的个人身份信息。涉及方包括政府机构、电信公司、关键基础设施提供商和金融机构,无一幸免。

打开网易新闻 查看精彩图片

但整件事的真正焦点不在于那两个网站。它指向的是大多数开发者从未质疑过的一个默认思维:在线工具必须依赖服务器才能运行。事实上它们不需要。理解这一点,会改变你审视每一款工具的方式。

整个泄露机制简单到令人尴尬。JSONFormatter和CodeBeautify都提供了一个“保存”或“分享”功能。当开发者点击它,格式化后的输出结果就被存储在远程服务器上,生成一个可预测、可遍历的URL。这两个网站还有“最近链接”页面,实时展示全球任何人刚刚保存的代码片段。watchTowr的团队不需要“黑”进任何系统,他们只需要爬取就行了。

在研究报告发布后,两个平台都关闭了保存功能,但这完全没触及问题的本质。麻烦不是两个特定工具有一个糟糕的功能,而是其底层的默认假设:处理你的数据,就得把数据发到别处。这个假设,在2025年,已经完全不成立了。

现代浏览器内置了一套原生API,功能强大得惊人。大部分开发者知道fetch和localStorage。但鲜有人了解那些完全在客户端运行、无需服务器、无需上传、无需网络往返的能力。以下是你现在使用的浏览器内置的标准化功能,无需任何额外库。

第一项是JSON.parse()和JSON.stringify()。这太基础了,以至于被人完全忽视。浏览器完全可以在内存中完成JSON的解析、验证、格式化和序列化。所谓“美化一个JSON字符串”的整个操作,就是一行代码的事。Chrome浏览器的V8引擎处理JSON的速度可以达到每秒数百兆字节。从技术上讲,这类操作没有任何理由需要离开你的机器。

第二项是用于解析XML的DOMParser。浏览器内置了一个完全符合标准的XML解析器,零依赖。你可以用它将XML字符串解析为DOM文档,然后在本地遍历DOM树、提取节点、转换成CSV。这是W3C标准API,在所有现代浏览器中均可使用。

这不是在号召谁去自己造轮子。恰恰相反:你应该使用现成工具,只不过要挑那些算力在本地、数据不离开你设备的工具。每当你准备把数据粘贴到一个网页文本框里时,先想三秒钟:这个操作为什么需要一台远程服务器?如果不是明确要求协作共享或云端持久化,那么答案很可能就是不需要。