dev.to | 📄 原文链接 | 2026-08-24 收录

我写了隐私规则、强制了它、注释了它,却还是把泄露送上了线

来源:dev.to — 2026-08-23

📋 概述

作者维护本地优先的健身追踪应用 WhyRep,在接入 Sentry 之前就写好脱敏策略,用 beforeSend 钩子强制清除被禁止的字段,还写了单元测试,并在那句最敏感、写着"绝不能发送 payload"的代码上方加了注释。然而他用 Puppeteer 截获浏览器实际发出的字节时,发现一位陌生人的肩部伤病数据仍然泄露了——因为 payload 藏在 URL 片段里,而 Sentry 浏览器 SDK 会自行把 location.href 附加到每个事件上,与作者代码无关。更糟的是同一 grep 又发现第二个泄露:用户邮箱作为 Firestore 文档 id 出现在请求路径里,被 Sentry 自动收集的 fetch breadcrumb 原样记录。作者最终意识到,SDK 有错误、事务、面包屑三条不同的出口路径,只堵住 beforeSend 一条等于只保护了你恰好想到的那扇门。

🔑 核心要点

💡 金句

一个只覆盖三条出口之一隐私控制,不是隐私控制——它只是保护了你恰好想到的那扇门。
← 返回 dev.to 首页