首页/文章/Claude Code 读过 Key 之后:在新加坡 Mac mini 上扫一遍会话日志再轮换

Claude Code 读过 Key 之后:在新加坡 Mac mini 上扫一遍会话日志再轮换

· Zumac.Ai

密钥进过对话,不等于对话结束就消失

很多人在新加坡 Mac mini 上常开 Claude Code:MCP、脚本、过夜任务都挂在这台整机上。排障时偶尔会把 API Key、PAT 或临时令牌贴进会话,好让代理立刻帮你测通。

社区里有人提醒:代理一旦读过密钥,明文片段有可能留在 Claude Code 的本机会话日志里(常见落点在用户目录下的 ~/.claude/projects)。你关了窗口、甚至删了聊天记录,磁盘上的项目日志未必同步清干净。

这不是要吓停使用,而是把「密钥生命周期」从「我记得删了聊天」改成「机器上能复查」。本文给出一套可复现的步骤:只读扫描 → 确认命中 → 轮换密钥 → 改掉明文习惯。Claude 账号由你自己开通;机器提供的是稳定合规的使用环境。

说明:路径与文件名随 Claude Code 版本可能微调。下列命令以只读为主;发现命中后先轮换密钥,再决定是否归档或删除旧日志。不要把扫描结果全文贴进公开渠道。

第一步:先分清三类「密钥可能出现的地方」

在常开 Mac mini 上,密钥常见落点不止一处:

  1. 会话 / 项目日志:~/.claude/projects 下按项目或会话拆分的历史,可能含你粘贴过的字符串。
  2. 配置与 MCP 文件:~/.claude.json、仓库 .mcp.json 等;明文 Key 本就不该长期放这里(见钥匙串中介做法)。
  3. Shell 历史与脚本:~/.zsh_history、临时 .env、一次性 curl 命令。

今天先盯第 1 类——很多人最容易漏的就是「对话里贴过一次」。第 2、3 类扫完日志后顺手做。

第二步:只读摸清本机 Claude 目录

用 SSH 或 UU 远程连接登入新加坡 Mac mini:

whoami
ls -ld ~/.claude ~/.claude/projects 2>/dev/null
du -sh ~/.claude ~/.claude/projects 2>/dev/null
find ~/.claude/projects -maxdepth 3 -type d 2>/dev/null | head -40

记下:projects 是否存在、体积大概多大、有哪些项目目录。体积突然膨胀,往往意味着长会话或多次重试被完整留下。

第三步:扫描疑似密钥形态(只读)

API 类字符串形态很多,先用保守模式找常见前缀,避免误伤:

# 只读:列出含疑似前缀的文件路径(不打印匹配全文到终端历史之外的笔记)
rg -l -e 'sk-[A-Za-z0-9]' -e 'sk-ant-' -e 'ghp_' -e 'github_pat_' -e 'xox[baprs]-' \
  ~/.claude/projects 2>/dev/null | head -50

若本机没有 rg,可用:

grep -RIl -E 'sk-[A-Za-z0-9]|sk-ant-|ghp_|github_pat_|xox[baprs]-' \
  ~/.claude/projects 2>/dev/null | head -50

原则:

  • 先看路径列表,再按需打开单个文件核对。
  • 命中不一定是「仍有效的生产 Key」,也可能是示例、已作废串或截断片段——但只要像真 Key,就按「可能泄露」处理。
  • 扫描命令本身会进 Shell 历史;敏感排查可开一次性无历史会话,或事后清理对应 history 行。

第四步:命中之后怎么处理

  1. 立刻在签发方轮换 / 吊销对应 Key(Anthropic、GitHub、Slack 等控制台以你实际用到的为准)。旧串作废优先于「先删日志」。
  2. 更新本机注入方式:改用钥匙串中介、短时环境变量,或仅进程可见的注入;不要写回 MCP 明文配置。
  3. 再决定日志:确认新 Key 可用后,对明确含旧串的会话文件做归档加密或删除;不要在未轮换前只删文件假装没事。
  4. 复查同机其它落点:
rg -l -e 'sk-[A-Za-z0-9]' -e 'sk-ant-' ~/.claude.json ~/.mcp.json .mcp.json 2>/dev/null
rg -l -e 'sk-[A-Za-z0-9]' -e 'sk-ant-' ~/.zsh_history ~/.bash_history 2>/dev/null | head

第五步:改掉「把 Key 贴进对话」的默认

技术扫描解决存量;习惯解决增量:

  • 需要代理调用外部 API 时,优先让工具从钥匙串 / 环境注入取作用域令牌,而不是把完整 Key 贴进提示词。
  • 演示用 Key 与生产 Key 分开;演示串也要可吊销。
  • 长任务、过夜会话开跑前,确认权限规则不会在无人值守时把密钥写进新文件。
  • 团队协作时,不要把「会话导出」当普通日志分享;导出前先跑同上扫描。

一套最小约定可以写成项目内 docs/secrets-hygiene.md(只写流程,不写任何真实密钥)。

第六步:十五分钟验收清单

  • [ ] ~/.claude/projects 已做一次只读扫描,命中文件有清单
  • [ ] 凡像真 Key 的串,已在控制台轮换或确认本就是假示例
  • [ ] MCP / ~/.claude.json 无长期明文 Key
  • [ ] Shell 历史抽查无新增明文粘贴
  • [ ] 新会话用钥匙串或环境注入跑通一次真实调用
  • [ ] 扫描输出与旧 Key 未发到公开聊天或工单

和 Claude Code 怎么拼在一台新加坡 Mac mini 上

推荐顺序:钥匙串中介配好 MCP → 日常禁止把 Key 贴进对话 → 每周(或大排障后)扫一遍 ~/.claude/projects → 命中则先轮换再清理。终端版 Claude Code 适合脚本与 SSH;桌面版利于看 diff。权威运行环境只放一台整机独享的新加坡 Mac mini,会话日志与密钥卫生才能「扫一次覆盖主路径」,避免笔记本、云端虚机、家里另一台电脑各留一份历史。

为什么放在新加坡的常开 Mac mini 上做

  • 日志落点集中:会话目录、MCP 配置、Shell 历史都在同一台整机,排查不用在多台设备间猜。
  • 整机独享:密钥卫生与会话归档边界清晰;退租抹机时日志与本地凭据一并结束。
  • 真 macOS 环境:钥匙串、Claude Code、开发工具链同一套 Darwin,减少「这边扫了、那边还在跑旧配置」。
  • 远程可复查:SSH 跑扫描与轮换;需要 GUI 时用 UU 远程连接打开桌面版核对。实际延迟取决于你本地的网络线路。

Zumac.Ai 提供位于新加坡的实体 Mac mini M6,整机独享,支持 SSH 与 UU 远程连接,FileVault 全盘加密,退租时抹机重装。新客户整机租用 ¥999/月起,季付 ¥2,697.30,半年付 6 送 1 为 ¥5,994,年付 12 送 2 为 ¥11,988;已购买客户续费保持原价。新客户首单自审核开通当天起租,续费及老客户新订单自付款当天起租。建议先租一个月,把「扫描会话日志 → 轮换 Key → 钥匙串注入」跑成固定节奏。

小结

  • 密钥进过 Claude Code 对话后,检查 ~/.claude/projects,不要默认「关窗即消失」。
  • 发现疑似串:先轮换,再清理日志与其它落点。
  • 增量靠习惯:钥匙串 / 环境注入,禁止把生产 Key 当提示词。
  • 把权威环境固定在新加坡常开 Mac mini,密钥卫生才能持续复查。

有问题可以在 Telegram 联系 @singatao,或直接看 价格与付款周期。

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服