首页/农村程序员/大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随

2025 年 11 月,科技圈发生了一件让人啼笑皆非的事情——苹果把 App Store 的前端源码泄漏了。

没错,就是那个市值 3 万亿美元、对隐私和安全念念叨叨的苹果公司,犯了一个连初级前端都不会犯的低级错误。

事情是这样的

11 月 4 日,苹果上线了全新的网页版 App Store (apps.apple.com)。

页面很酷炫,用了时髦的 Svelte 框架,看起来一切都很美好。

但是,苹果的工程师们在部署的时候,忘记了一件事——关闭 sourcemaps

什么是 sourcemaps?简单说,就是把压缩混淆后的代码映射回原始代码的工具,方便开发时调试用的。

sourcemaps示意

这玩意儿在开发环境用用就行了,上生产环境必须关掉,不然就等于把源代码公开展示给全世界。

苹果偏偏就忘了关。

于是乎,任何一个懂点技术的人,打开浏览器开发者工具,就能直接下载苹果 App Store 的完整前端源代码。

开发者们乐了

消息很快在 Reddit 和 Hacker News 上炸开了锅。

程序员们就像发现了新大陆,纷纷跑去下载源码,研究苹果的代码写得怎么样。

有人直接把代码上传到 GitHub,短短一两天时间,就出现了几千个仓库和 fork。

大家研究得不亦乐乎:

  • “原来苹果用的是 Svelte 啊”
  • “这命名规范不错,可以学习一下”
  • “这个组件封装挺有意思的”

还有人做视频分析,写文章科普,一时间,苹果的前端代码成了全网的学习资料。

苹果慌了

11 月 5-6 日,苹果终于反应过来了。

赶紧联系 GitHub,发了一堆 DMCA(数字千年版权法案)通知,要求删除相关仓库。

GitHub 也够配合,一口气删掉了超过 8270 个仓库和 fork。

同时,苹果火速修复了网站,把 sourcemaps 关掉了。

整个操作下来,虽然速度挺快,但该看的人都看了,该下载的代码也都下载了。

GitHub删库

这事儿其实挺常见

说实话,这种事情在前端开发中并不罕见。

很多公司都犯过类似的错误,只不过苹果的体量太大,所以格外引人注目。

泄漏的代码虽然是前端的,但不包含 API 密钥、后端逻辑或用户数据,所以对安全的影响其实有限。

但对苹果的品牌形象来说,这就有点尴尬了。

毕竟,你平时对隐私和安全要求那么高,结果自己犯了这么低级的错误。

新手级错误

网友们纷纷调侃:

  • “苹果也有实习生吗?”
  • “这波操作,让初级前端看了都直摇头”
  • “sourcemaps 都不关,建议回炉重造”

给我们的启示

这件事其实给所有前端开发者提了个醒:

上生产环境前,一定要检查 sourcemaps 是否关闭。

很多现代前端构建工具,比如 Webpack、Vite、Rollup 等,都可以配置自动移除 sourcemaps。

// Vite 配置示例
export default {
    build: {
        sourcemap: false // 生产环境关闭 sourcemaps
    }
};
// Webpack 配置示例
module.exports = {
    mode: "production",
    devtool: false // 生产环境不生成 sourcemaps
};

另外,建议在 CI/CD 流程中加入自动检查,防止人为疏忽。

毕竟,连苹果都能犯错,咱们更得小心点。

写在最后

这次苹果 App Store 前端源码泄漏事件,虽然很快就被处理了,但还是给整个行业上了一课。

科技再牛,细节不注意,照样翻车。

作为前端开发者,我们要从中吸取教训,把部署流程做得更严谨,把代码保护做得更到位。

不然哪天自己也来个源码泄漏,那可就真的社死了。

最后,如果你也是前端开发者,欢迎在评论区分享一下,你有没有遇到过类似的低级错误?

咱们一起交流学习,共同进步。


参考资料: