SmartPerfetto安全与隐私设计指南:Trace敏感数据、私有代码脱敏与AI服务边界如何做到可控

发布时间:2026/10/30 15:33:14
SmartPerfetto安全与隐私设计指南:Trace敏感数据、私有代码脱敏与AI服务边界如何做到可控

【免费下载链接】SmartPerfetto

AI-assisted Perfetto analysis with Web UI, CLI, evidence workflows, reports, and portable runtimes.

项目地址:https://gitcode.com/gh_mirrors/sm/SmartPerfetto
点击查看免费下载

SmartPerfetto 是一款 AI 辅助的 Perfetto 性能分析工具,支持 Web UI、CLI、证据工作流与报告输出。它的安全与隐私设计围绕三类敏感数据展开:Trace 文件(可能包含应用名、包名、设备与网络信息)、私有源码(业务代码与凭据)和AI 服务边界(哪些内容允许发送给大模型)。本文带你用几分钟看懂它的分层防护思路,即使是新手也能快速判断哪些内容会离开你的机器。🔒

为什么 AI 性能分析需要安全设计?

传统 Trace 分析只是"打开文件看图",而 AI 分析意味着数据要离开本地交给模型服务。这带来三个新风险:

风险场景
数据泄露源码中的 API Key、私有接口被发给第三方模型
越权访问未选中的代码库/知识库被隐式注入分析上下文
会话失控分析进行中授权被修改,旧会话继续携带失效的私有上下文

SmartPerfetto 的应对策略是:把三类数据视为三个独立数据域,任何私有数据必须"显式选择 + 授权有效 + 范围校验"三重通过才能进入分析(见 private-analysis-context.md)。

三大数据域:默认不互通,显式才进入

SmartPerfetto 将Trace 证据、用户源码、文档知识库严格隔离,任何一类都不会被公共 RAG 语料、历史会话或跨会话学习"顺带"带入分析:

你本次选择实际行为
什么都没选普通 Trace 分析,不开放任何私有检索工具
只选源码库精确按 ID 授权;metadata_only只给引用,provider_send还需注册级同意
只选知识库通过search_knowledge/read_knowledge_section读取,仅作背景,不冒充 Trace 证据
两者都选两套 allowlist 独立校验,共享同一套私有投影与报告边界

💡 一句话原则:没选 = 不存在。隐藏的代码库 ID 不授权任何访问,也不会误报错误。

Trace 敏感数据如何受控

Trace 文件本身往往携带包名、进程、设备标识等敏感信息,SmartPerfetto 对它的处理遵循两条主线:

  1. 本地优先解析:Trace 由后端在本地交给 trace processor 处理,加载阶段只发送纯只读 SQL(元数据查询),文件内容不主动外传(见 technical-architecture.md)。
  2. 结果分层投影:分析产出区分两类出口——
    • 用户结果投影(本地历史、HTML 报告、CLI 产物):保留分析正文与源码相对引用;
    • 严格投影(日志、公开材料):剔除原始源码、知识库正文、凭据与授权信息。

流式对象在创建时就固定受众范围,显示策略不会"逃逸"到日志回调里,避免敏感内容混入不该出现的通道。

私有代码脱敏:metadata_only 与 provider_send 双档

这是整个设计中粒度最细的一层,核心规则记录在 code-aware-analysis.md:

第一档:仅定位(metadata_only)

模型可以搜索代码,但只看到相对路径、行号和引用 ID,读不到任何源码正文。适合只想让 AI 定位调用栈、不涉及代码内容的场景。

第二档:发送正文(provider_send)

需要两层授权才能生效:

  • 注册级同意:通过"添加并用于分析"或 CLI 的smp codebase authorize-content审阅服务端披露的具体路径范围与语言后确认;
  • 逐轮显式选择:本轮分析明确声明provider_send并选中对应代码库。

即使授权通过,工具调用仍受多重约束:注册 path filter、排除 glob、文件类型、单文件大小、读取行数、结果容量。绝对根目录始终留在后端信任边界内,不会进入工具结果、模型上下文、报告或导出。

凭据自动脱敏

读取源码正文时,SmartPerfetto 会按整份文件语法识别凭据,只替换凭据的值、保留键名与行号,覆盖:

  • Bearer/Basic令牌、已知前缀令牌、JWT、PEM 私钥
  • 凭据命名的键与赋值、getter 返回值
  • 启发式识别的无键随机串

.git、.hg、.svn、.repo与证书/密钥文件始终排除在源码枚举之外;node_modules、build等噪声目录除非显式指向否则不进入候选集。

授权指纹:变更即失效的"熔断器"

每个分析运行在创建会话前都会生成一个授权指纹,覆盖租户/工作区/用户、有效源码模式、排序后的 allowlist、选择范围、授权 revision 与同意状态。

它的妙处在于持续复核:

  • 工具调用、运行边界、每次模型请求前都会重新计算指纹;
  • 一旦授权范围、代码库选择或同意状态变化,当前运行立即以analysis_context_changed_restart_required结束并 fail closed,要求新会话;
  • 而重复提交相同授权、修改未选中的代码库,则不会打断分析。

这意味着你不用担心"分析跑到一半,我撤了授权,旧会话还在用旧权限"——机制层面直接杜绝。

AI 服务边界:数据去向透明可控

命中授权范围的源码片段、知识库摘录会发送给当前配置的 AI 服务(可以是公司内部服务),因此 SmartPerfetto 采取如下边界控制:

  • 数据去向可见:Web 输入框旁的"本轮分析上下文"弹层会说明哪些内容会发给哪个 AI 服务,支持"全部关闭"一键关闭源码与知识库(详见 code-aware-analysis.md)。
  • 不做零留存承诺但做边界透明:第三方服务是否留存内容取决于其自身政策,SmartPerfetto 明确不承诺零留存,但确保只有授权范围内的最小片段离开本机。
  • 原始载荷不落地:原始 query、工具参数和完整检索载荷不会额外写入日志或 provider transcript;私有分析只允许进程内的受限多轮连续性,不恢复持久化的 provider 会话。
  • 删除可重试且 fail-closed:删除源码库会先撤销检索与 provider 授权、再清理全部索引代际;注册项进入deleting状态时立即撤销 provider 同意并阻断一切检索。

⚠️ 需要注意:已经发送给 provider 的历史内容无法由本地删除操作撤回——这也是选择"公司内部服务"或本地模型时的关键考量。

部署层安全:Origin 策略、密钥派生与鉴权

面向多人或外网部署时,configuration.md 定义了完整的运维安全边界:

机制说明
Origin 严格校验带 Session Cookie 的写请求必须携带可信 Origin,同站兄弟子域名、本机其他端口一律返回 403(实现见 requestOriginPolicy.ts)
服务端密钥派生SMARTPERFETTO_SERVER_SECRET是独立签名根(至少 32 字节),Session、WebSocket 凭证等按用途通过 HMAC 派生(实现见 serverSecret.ts);企业模式缺少持久密钥拒绝启动,不会静默退回弱根
API 鉴权多人/外网部署建议设置SMARTPERFETTO_API_KEY,以Authorization: Bearer头访问受保护接口
OIDC 登录门禁启用后 Web UI 变为登录门禁:校验 PKCE、nonce、JWT 签名与 issuer/audience,Session 固定 8 小时、SameSite=Lax,写请求附带 CSRF Token
SSRF 防护URL Trace 下载默认拒绝私有与保留网段;可信 fake-IP 主机白名单仅管理员可配置,普通用户无法修改

新手自查清单:5 个问题判断你的部署是否安全

  1. 是否只在本机单人使用?是 → 默认配置已足够,Origin 与密钥都有进程内保护。
  2. 要不要让 AI 看源码正文?不确定时保持默认"仅定位"模式,安全损失最小。
  3. 选了哪些知识库?没勾选的库不会被隐式注入;"数据去向"弹层可复核。
  4. AI 服务是第三方还是内部?涉密代码建议走内部/本地模型,或停留在仅定位模式。
  5. 多人访问后端了吗?是 → 必须设置SMARTPERFETTO_API_KEY,企业场景进一步接入 OIDC。

小结

SmartPerfetto 的隐私设计可以浓缩为一句话:Trace 本地解析、代码最小披露、AI 边界显式授权。它不承诺"永不离开本机"的绝对隔离,而是通过三数据域隔离、双档源码授权、凭据自动脱敏、授权指纹熔断和 Origin/密钥/SSRF 部署防护,把"哪些数据、在什么授权下、流向哪里"变成可见、可审计、可撤销的显式行为。配合 private-knowledge.md 与 private-analysis-context.md 的详细文档,你可以在享受 AI 分析便利的同时,牢牢握住数据边界的主动权。

【免费下载链接】SmartPerfetto

AI-assisted Perfetto analysis with Web UI, CLI, evidence workflows, reports, and portable runtimes.

项目地址:https://gitcode.com/gh_mirrors/sm/SmartPerfetto
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考