Skip to content

Security: Bububuger/spanory

Security

docs/SECURITY.md

type file
summary 安全策略:转录/capture 脱敏、秘钥管理、发布安全与输入边界验证
created 2026-03-13 22:00:00 +0800
modified 2026-03-28 15:05:00 +0800
tags
security
secrets
ci-cd

安全策略

数据安全

维度 策略
Transcript 内容 本地解析;默认仅导出结构化 span,显式开启 capture 时只保留脱敏后的请求/响应片段
Capture payload 默认关闭;落盘前先脱敏、截断、可按策略丢弃二进制内容
Statusline probe 仅采集 token/context 统计与运行态元信息,不采集用户正文
OTLP 凭证 环境变量注入,不硬编码
Hook 脚本 不传递敏感参数,通过环境变量读取配置
二进制分发 GitHub Release 附带 SHA256SUMS.txt

秘钥管理

秘钥 用途 存储
OTEL_EXPORTER_OTLP_ENDPOINT OTLP Trace 上报地址 用户环境变量
OTEL_EXPORTER_OTLP_HEADERS OTLP 请求头(如 Langfuse Basic Auth) 用户环境变量
NPM_TOKEN npm 发布 GitHub Actions release environment secret

如果接入 Langfuse,建议在本地 shell 中由 public_key:secret_key 临时生成 OTEL_EXPORTER_OTLP_HEADERS,不要把原始秘钥写入仓库脚本或配置文件。

CI/CD 安全

  • release.yml 使用 environment: release 保护发布秘钥
  • 发布需 tag 触发,不接受 branch push
  • 内部发布仅通过维护者执行 npm run publish:internal
  • 二进制 smoke test 与插件 loadable 检查防止损坏产物进入发布链路

边界验证

  • OTLP payload: 结构化 schema 验证后发送
  • Capture payload: 落盘前执行 redaction + maxPayloadBytes / dropBinary 策略
  • Hook / statusline probe input: 解析前验证 JSON 格式
  • CLI input: 参数校验 + 路径规范化

There aren’t any published security advisories