Keychain Bridge Publish

🔐 Tahoe 密钥安全迁移专家

将明文密钥迁移至 macOS Keychain 安全存储,通过 A/B 双组架构兼容 Python 与 Bash 工具,深度适配 macOS Tahoe 26.x 新特性与已知缺陷。

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

使用说明

核心用法

Keychain Bridge 是专为 macOS 设计的密钥管理工具,解决明文存储凭证的安全隐患。其核心采用双组架构:Group A 直接通过 Python keyring 库读写 Keychain,适用于纯 Python 场景;Group B 则在系统启动时将 Keychain 中的密钥写入 chmod 600 的临时文件,供 Bash 脚本读取,解决 Bash 子进程调用 Python 时因 SecurityAgent 会话丢失导致的挂起问题。

工具提供完整的密钥生命周期管理:批量迁移脚本自动检测系统所有 Python 版本并注入 ACL 条目;审计脚本扫描明文泄露与 ACL 配置异常;健康检查验证读写删闭环。特别针对 macOS Tahoe 26.x 的 security CLI 全面失效(hang 或 exit 36)、SSH 会话无 GUI 上下文(errSecInteractionNotAllowed -25308)等回归缺陷,提供了基于 ctypes 直接调用 Security Framework C API 的解锁方案,并明确标注了各 Python 版本间的 ACL 隔离限制。

显著优点

1. 深度适配最新 macOS:针对 Tahoe 26.x 的 security CLI 崩溃、LaunchAgent 子进程挂起等已知问题提供详尽诊断与绕过方案
2. 多 Python 版本兼容:自动处理 Apple 系统 Python 与 Homebrew Python 的 ACL 隔离,确保跨版本可访问

3. 零网络依赖:完全本地操作,无外部 API、无遥测、无数据出境

4. 迁移友好:支持 --dry-run 预演,自动验证 round-trip 读回,可选删除原明文文件

5. 架构清晰:Group A/B 设计明确区分使用场景,兼顾安全性与 Bash 生态兼容

潜在缺点与局限

  • Tahoe 26.x 特有复杂性:SSH 写入需 ctypes 解锁,且解锁作用域仅限单进程;Homebrew Python 在 ctypes 解锁后仍可能失败,必须使用系统 Python 写入后注入
  • Bash 直接调用限制python3 get_secret.py 从 LaunchAgent 的 bash 脚本中调用会无限挂起,必须依赖 Group B 文件桥接
  • 密钥轮换成本:多 Python 版本环境需为每个版本安装 keyring 并注入 ACL,维护成本随 Python 版本数线性增长
  • GUI 上下文依赖:除文件桥接外,多数操作需要图形会话(SecurityAgent),纯 SSH 环境受限

适合人群

  • 运行 macOS Tahoe 26.x 且依赖 API 密钥自动化脚本的开发者
  • 使用 OpenClaw 或其他自动化框架、需将明文密钥迁移至 Keychain 的运维人员
  • 多 Python 版本共存(系统 + Homebrew)环境的 macOS 用户
  • 对密钥安全有硬性合规要求、需消除明文存储的个人或小团队

常规风险

| 风险类型 | 说明 |
|---------|------|
| ACL 配置遗漏 | 未从所有目标 Python 版本注入,导致后续读取失败 |
| ctypes 解锁误用 | 误以为解锁持久化,跨进程调用仍报 -25308 |
| 文件桥接权限漂移 | Group B 的 `chmod 600` 文件若被其他进程修改权限,可能意外暴露 |
| 系统升级回归 | macOS 后续版本可能再次破坏 `keyring` 或 Security Framework 行为 |
| 密码输入泄露 | ctypes 解锁示例代码中的明文密码可能残留于 shell history |

Keychain Bridge Publish 内容

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