展示 HN:笔记本电脑是您的秘密仍以明文形式存在的最后地方
jitpass - 及时密码 针对您的开发机器的及时凭证。文档 · 快速入门 · 支持的工具 · 命令参考 · 安全状态:仅限 macOS(Apple Silicon),仍在开发中。 jit 是什么(30秒) 您的秘密以明文形式存储在您的机器上的各个地方:.env 文件,~/.aws/credentials,~/.zshrc 导出,.npmrc 令牌,MCP 配置。任何以您的身份运行的程序都可以读取它们。一个不良的 curl | sh,一个可疑的 npm install,或现在在您的编辑器中以您完全权限运行的 AI 代理之一。 jit 将每个秘密移动到一个由 Touch ID 保护的本地加密保险箱中,并重写文件,让您的工具继续正常工作。在硬盘上,现在有一个诱饵。真实值仅在特定请求了它的进程的内存中出现,经过生物识别提示后。结果是:您解锁一次,jit 在将凭证交给工具(或代理)之前会询问,并且其余时间硬盘上都有一个诱饵。 由 Code 启动 由 claude 启动 安装 brew install jitpass/tap/jitpass 或不通过 Homebrew: curl -sL https://dl.jitpass.com/jitpass/jit/releases/latest/download/jitpass_darwin_arm64.tar.gz | tar -xz jit sudo mv jit /usr/local/bin/ 仅适用于 Apple Silicon — 在 Intel Mac 上,使用 go install github.com/jitpass/jit/cmd/jit@latest 从源代码构建。 选择一条路径。如果您之前从压缩包安装并且现在切换到 Homebrew,请在 brew install 后删除旧副本(sudo rm /usr/local/bin/jit);否则,两个 jit 将并排存在于 PATH 中分别升级,而 jit doctor 会标记它。 发布版由开发者 ID 签名并经过苹果验证,因此两个路径都不会出现 Gatekeeper 提示:Homebrew 将其下载放入隔离区,而 Gatekeeper 会根据证明票清除它们,同时 curl(和 go install)根本无法设置隔离标志。 要检查您获得的内容而不是仅仅相信我们的说法,请运行 jit doctor — 它的 jit 行报告签名 CZC6BH93GJ,使用与 jit upgrade 在安装前运行的相同检查。 升级:brew upgrade jitpass,或 jit upgrade — 一个经过验证的自我更新(在交换前检查开发者 ID 签名和校验和,重启服务)。无论哪种方式,您的保险箱都不会受到影响。 Homebrew 与二进制文件一起安装 shell 补全,因此 jit <TAB> 能够自动补全子命令、标志、保险箱路径和可包装工具名称。无论是从压缩包还是从源代码安装,您都可以自己添加: echo ' source <(jit completion zsh) ' >> ~/.zshrc && exec zsh 无论如何,jit doctor 都会告诉您如果补全未能到达您的 shell。 您将如何实际使用它 jit scan # 只读。不会更改它扫描的任何文件,打印没有实际值。 jit vault init # 创建保险箱(主密钥在您的登录钥匙串中) jit migrate --dry-run # 预览整个机器范围的修复计划 jit migrate # 应用它:显示计划,询问 [y/N],一次 Touch ID jit migrate ~/code/myapp # 或仅修复一个项目 jit run -- npm run dev # 运行您的工具;真实值仅注入到该进程中 jit scan 如果没有路径将扫描您的整个主目录,因此在大目录上请给它一点时间。要直接定位到一个地方,请指向一个路径: jit scan ~/.aws 日常用法主要是 jit run -- <cmd> 。对于携带自己登录令牌的 CLIs(gh,glab,stripe 等),您只需 jit wrap gh 一次,然后保持正常地输入 gh。 不确定某个东西是否需要 jit wrap、jit migrate 或什么都不用?您不必知道。jit scan 将它找到的所有内容分为 jit 将保护的内容(一个命令 - 包括包装)和只有您可以修复的内容,bare jit migrate 运行整个计划: $ jit scan 您当前的秘密:7 — 由 jit 保护 0(0%) ▱▱▱▱▱▱▱▱▱▱ 到 100%:一个命令 +71% · 仅您可以修复的 2 个秘密 +29% jit 将保护这些 — 5 个秘密在 4 个文件中,0% → 71% → jit migrate ~/.zshrc STRIPE_API_KEY, DB_PASSWORD ~/.config/gh/hosts.yml GitHub CLI token · wraps gh ... 只有您可以保护这些 — 2 个秘密,71% → 100% [轮换,然后删除每个副本] ! 一个生产数据库密码在 2 个文件中 → 现在轮换它,然后删除每个副本(jit scan --full 仍然提供经典的按类别清单,包含严重程度,包括可包装 CLI 令牌部分。) 您的日常工具 凭证迁移一次,然后继续按您一直使用的方式使用工具。# AWS(和 Terraform,以及每个 AWS SDK) jit migrate ~/.aws/credentials # 密钥移动到保险箱;没有明文文件 aws s3 ls # 根据需要从保险箱解析。没有前缀,没有标志。 terraform apply # 相同的凭证,相同的命令 # GCP 应用默认凭证(机器范围的凭证) jit migrate ~/.config/gcloud/application_default_credentials.json terraform apply # google 提供商读取 ADC;在 Touch ID 提示后工作 # Docker / docker-compose jit migrate ~/.docker/config.json # 注册表登录转移到保险箱 jit run -- docker compose up # jit 在此运行中注入它们 docker login ghcr.io # 仍然有效;助理存储在保险箱 # 先前位于 ~/.zshrc 的 Shell 导出 jit migrate ~/.zshrc # 留下一个钩子的单行;新 shell
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡