测试里看到的现象
@Cydr4l 说:他在若干 Claude Code 会话里埋了 8 个假密钥,再用开源工具 agentplay 做地图和时间线回放。回放地图是干净的,8 个里 0 个出现在地图上;会话标题却不是——标题从第一条提示截取,侧边栏和 agentplay 列表里露出了 3 段靠近开头的密钥片段。用 --no-titles 跑可以避开标题问题。其余检查(token 合计、步骤顺序、数据未离机)都正常。
含义很直接:你愿意给别人看的「会话列表 / 侧边栏截图」,可能已经带上了第一句提示里的敏感词。
可以马上改的习惯
- 第一句提示里不要贴 Key、Token、密码、Cookie。 需要密钥时,让 Claude 从环境变量或本机密钥链读取,或事后在单独一步再注入,不要写在会变成标题的那句话里。
- 分享会话、录屏、发 PR 截图前,扫一眼左侧会话名。 标题若含
sk-ant-、AKIA、ghp_一类前缀,先改名或删会话再分享。 - 回放 / 导出工具注意标题开关。 若工具提供隐藏标题选项,对外分享时打开;地图干净不等于列表干净。
- 和「别把 Key 推进 Git」是同一类问题。 GitHub 推送保护拦的是仓库;会话标题拦的是你随手发出的界面。两边都要防。
这和封号有什么关系
这篇文章不讲如何规避 Anthropic 条款,只讲密钥与会话界面的泄露面。Key 一旦出现在标题、截图或第三人工具列表里,被滥用的路径就打开了——轻则账单异常,重则牵连 Console 工作区。防范成本远低于事后吊销和申诉。
建议的「首句」写法
可以把第一条提示写成任务描述,而不是凭证清单,例如:「在当前仓库跑测试并修复失败用例;需要的密钥从环境变量 ANTHROPIC_API_KEY 读取,不要打印它。」这样标题多半是任务摘要,而不是密钥前缀。若工具会把整段首句截进标题,再短、再无秘密也更安全。
小结
- 会话标题常来自首条提示;密钥别写进第一句。
- 分享截图前检查侧边栏标题。
- 回放工具的「地图干净」不等于「标题干净」。
