<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Webpack | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《关于SourceMap你需要知道的一切》</title><link>https://channel.meo-ai.com/posts/658</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/658</guid><pubDate>Mon, 08 Jun 2026 02:35:51 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《关于SourceMap你需要知道的一切》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23SourceMap&quot; title=&quot;#SourceMap&quot;&gt;#SourceMap&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Vite&quot; title=&quot;#Vite&quot;&gt;#Vite&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23NextJS&quot; title=&quot;#NextJS&quot;&gt;#NextJS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Webpack&quot; title=&quot;#Webpack&quot;&gt;#Webpack&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%AE%89%E5%85%A8&quot; title=&quot;#安全&quot;&gt;#安全&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CI_CD&quot; title=&quot;#CI_CD&quot;&gt;#CI_CD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：SourceMap是前端开发中用于将压缩后的代码映射回原始代码的JSON文件，能极大提升调试体验。但文章重点警示了其安全隐患——默认配置下SourceMap会内联完整源代码，若不慎部署到生产环境，任何人都能通过浏览器或curl获取你的原始代码、目录结构甚至敏感信息。文章以Apple和Anthropic的泄露事件为例，详细说明了如何正确配置构建工具、设置服务器规则以及在CI/CD中自动化检测，防止源代码泄露。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;1. SourceMap本质上是一个JSON文件，包含sources（原始文件路径）、names（原始变量名）、mappings（位置映射）和sourcesContent（完整源代码）四个关键字段，能将压缩后的代码精准还原&lt;br /&gt;2. 构建流程通常是TypeScript编译→JS代码→压缩混淆，而SourceMap则反向执行这个流程，让浏览器DevTools能显示原始代码和变量名&lt;br /&gt;3. 最大的安全风险在于sourcesContent默认会内联完整源代码，泄露后不仅暴露目录结构和模块名，还可能泄露API密钥、端点信息和未发布的功能开关&lt;br /&gt;4. Apple在2025年11月因部署SourceMap到生产环境导致App Store前端源码泄露；Anthropic在2026年3月因npm包包含59.8MB的SourceMap文件，导致Claude Code核心代码被永久镜像传播&lt;br /&gt;5. 防护措施包括：构建工具关闭生产环境SourceMap（Vite设sourcemap:false，NextJS设productionBrowserSourceMaps:false）、使用hidden模式仅上传错误追踪平台、服务器对.map请求返回404&lt;br /&gt;6. 建议在CI/CD中添加自动化检查脚本，扫描输出目录中的.map文件，若包含sourcesContent则中断构建，从源头杜绝人为疏忽导致的泄露&lt;br /&gt;&lt;br /&gt;URL：&lt;a href=&quot;https://neciudan.dev/everything-you-need-to-know-about-sourcemaps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://neciudan.dev/everything-you-need-to-know-about-sourcemaps&quot;&gt;https://neciudan.dev/everything-you-need-to-know-about-sourcemaps&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://neciudan.dev/everything-you-need-to-know-about-sourcemaps&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Sourcemaps unlock some observability benefits but might expose your codebase. Check out how they work, and how to protect yourself.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Neciu Dan&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Everything you need to know about Sourcemaps&quot; src=&quot;/static/https://cdn4.telesco.pe/file/sU6zsOc-ES1ycmqciOnVv3o5NGokG7e4aWV9VhxjmAmjsFHliGbnIyLCLgviGS72ZJne_bG88LMLVG_TpPODtdZaT8gm1o69K-oywRYLOWkBCyVmL5_y6NNd61G84UIcNxj_WNjS7GcpvpxN6QvlqbYNfBUTReUmhJ3YRFVHrYJCNs0IdbUUQsZYHczOs-6vcCkONGD_rkro7XTNLio9dxl8b7Tl_J0LBq2ZGSxUTQgEvSeuJFR0OHRB1iDMNlYIUndndof8rfR7ROHf2eZCALu9jT-fnmk8S28ZKoYqNXnI99Csy698Qv4QctNRMSU3DeywDrxXf35Y8mjoN1QbMA.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;Everything you need to know about Sourcemaps&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Sourcemaps unlock some observability benefits but might expose your codebase. Check out how they work, and how to protect yourself.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>