默认本地,分享是另一回事
HiJSON 的解析、格式化、树、JSONPath 在浏览器里完成,不会把 JSON 传到我们的服务器。这一点写在 隐私政策。
两条例外是你自己打开的:
- JSONBin 分享:生成链接等于把内容交给 JSONBin。链接能打开的人都能看到原文。
- AI 对话:上下文会发到你填的 API 地址。公司密钥、用户 PII 不要当「示例」丢进去。
给同事看结构,优先复制一段打码后的 JSON,或只发路径:$.data.user.phone 有值,而不是整包响应。
先扫一眼再转发
贴进树之后,用搜索或 $..token、$..password、$..authorization 扫一遍。列表接口用 $.data.list[*].{id,mobile} 看有没有不该出现的列。树和对比的用法见 树视图、API 调试。
日志平台导出的 JSONL 同样对待,见 JSON Lines。
不要把不可信 JSON 当 HTML 插进去
字段里出现 <script> 或事件处理属性,若你 innerHTML = obj.comment,就是 XSS。展示用户可控字段用文本节点或框架的转义插值。调试工具里看到尖括号,说明数据脏,不要复制到管理后台的「富文本」里图省事。
原型污染(主要在 JS)
不可信对象里若带 __proto__、constructor,浅合并进普通对象可能改到原型。自己写 for (k in payload) target[k] = payload[k] 时要过滤这些键,或用 Object.create(null)。HiJSON 只是展示解析结果;你在业务代码里合并 webhook 时,这个坑还在。
{
"__proto__": { "admin": true }
}
树上能看见这个键。看见了就不要当普通业务字段合并。
JWT 和「看起来像 JSON 的中间段」
JWT 中间一段是 Base64URL 的 JSON。解码后能看到 sub、exp。这不表示令牌可以公开。截图、分享链接、聊天记录里出现完整 JWT,等于泄露会话。只讨论结构时用假 payload。
eval 和「把 JSON 当 JS 跑」
有人用 eval("(" + text + ")") 兼容尾逗号。这会执行任意脚本。只用 JSON.parse。不合法就修文本,见 语法错误排查,不要用 eval 放水。
本机工具也不是保险箱
浏览器扩展、同步的剪贴板、录屏、公司 DLP 都可能留下副本。敏感调试在隔离环境做,用完关标签。大文件占内存,用完刷新,见 大 JSON。
常见问题
- 解析在本地,为什么还要提安全?
- 本地只保证我们没存。你的下一步(微信、邮件、AI、分享)才是泄露点。页面本身也阻止不了你粘贴机密。
- 发现站点问题怎么说?
- 发 联系页 上的邮箱,不要附带真实用户数据。