Keychain Bridge Publish

🔐 钥匙串托管密钥,告别明文泄露

用 macOS 钥匙串替代明文存储密码,通过文件桥兼容 bash 脚本,解决 Tahoe 系统钥匙串访问限制

收藏
2.8k
安装
1.2k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

Keychain Bridge 是一套面向 macOS 的密钥管理方案,核心目标是用系统级 Keychain 替代明文文件存储敏感凭证。它通过"Group A/B"双轨架构平衡安全性与兼容性:

  • Group A(钥匙串直连):Python 脚本直接调用 keychain_helper.get_secret(),无磁盘残留
  • Group B(文件桥接):启动时由 Python 进程将密钥写入 chmod 600 临时文件,供 bash 脚本读取

显著优势

1. 零网络暴露:所有操作本地执行,无外发请求
2. ACL 自动修复:迁移脚本会自动为系统 Python、Homebrew Python 等多版本注入相同密钥,解决钥匙串"每二进制文件权限隔离"的痛点

3. Tahoe 兼容性:针对 macOS 26.x 的 security CLI 挂起、SSH 会话 -25308 错误等已知问题提供明确绕过方案

4. 审计透明:audit_secrets.py 可扫描未迁移的明文文件、ACL 异常项、多版本 Python 的 keyring 库安装状态

潜在局限

  • 架构复杂度高:用户需理解 Group A/B 的适用场景,错误选择会导致 LaunchAgent 挂起
  • Homebrew Python 依赖:需为每个 Python 版本单独安装 keyring,并加 --break-system-packages 参数
  • 启动时延:Group B 方案依赖 populate_secrets.sh 在开机时执行,若钥匙串未解锁会阻塞后续脚本
  • 交互式限制:SSH 会话中直接钥匙串访问会失败,必须预解锁或通过 LaunchAgent 代理

适用人群

  • 在 macOS 上运行自动化脚本(OpenClaw、Cron、LaunchAgent)的开发者
  • 受合规要求约束、需消除明文密钥文件的运维人员
  • 已升级或计划升级至 macOS Tahoe 26.x 的用户(针对性修复了系统级回归)

风险提醒

  • 升级 macOS 后需重新验证:Tahoe 的钥匙串行为变更频繁,建议每次系统更新后运行健康检查
  • 钥匙串密码遗忘:若使用 security unlock-keychain 方案,密码需安全托管;若遗忘,所有 Group A/B 密钥将无法自动读取
  • 文件桥残留:Group B 的临时文件虽为 600 权限,但仍属攻击面,建议配合全盘加密(FileVault)使用

Keychain Bridge Publish 内容

scripts文件夹
手动下载zip · 12.9 kB
audit_secrets.pytext/plain
请选择文件