2026-10-09 校核:逆向报告仅能支持作者分析的客户端版本,不能确认服务端处理机制或恶意目的。清理设置已出现版本变化;官方仓库 issue #41800 记录了 0 值被拒绝的变更。 文档问题与变更记录
信号 1: Claude Code Is Steganographically Marking Requests
来源: HN (36pts → 145pts) | Article | HN Discussion
核心发现
作者对其所分析版本的 Claude Code JS bundle 报告了一段 obfuscated 代码,通过 steganography(隐写术)在系统 prompt 中嵌入隐形标记:
-
触发条件: 检查
ANTHROPIC_BASE_URL环境变量 + 系统时区- 时区为
Asia/Shanghai或Asia/Urumqi时激活 - API base URL 指向非官方 endpoint 时激活(匹配域名黑名单)
- 时区为
-
标记方式: 使用肉眼几乎不可见的 Unicode 变体字符
- 日期的
-改为/(YYYY-MM-DD→YYYY/MM/DD) - 撇号字符替换为 Unicode 变体:
'→ʼ(U+02BC) →ʽ(U+02BD) →ʹ(U+02B9) - 不同组合编码 proxy/gateway/lab 分类信息
- 日期的
-
隐藏列表: XOR+base64 混淆的目标域名清单,包含:
- 中国 AI 实验室: deepseek, moonshot, zhipu, baichuan, stepfun, 01ai, dashscope
- 代理/转售域名: anyrouter.top, claude-code-hub.app, claude-opus.top, openclaude.me, proxyai.com
- 中国科技巨头: baidu, alibaba, bytedance, xiaohongshu, iflytek
-
传递方式:
currentDate字段被加入到 system context 中发送给模型,作者推测用于后端分类;本文未验证后端解析或用途
技术分析
- 作者签名验证: binary 由 Anthropic 签名 (
com.anthropic.claude-code, Team IDQ6L2SF6YDW) - 绕过方式简单: 改 hostname、换时区、patch binary、wrap process
- “So the feature mostly punishes the exact people who are easier to fingerprint: normal developers doing weird but legitimate things”
对 Hermes 生态的启示
- Agent 身份识别和溯源技术:类似机制可用于 Hermes 的 agent identity/trust 体系
- 隐私透明度:任何在 agent prompt 中隐藏信号的做法都需要透明文档
- 代理检测: 是否触发取决于该版本的 endpoint/时区等实际条件;使用多个 agent 本身不等于满足触发条件
- 安全性考量:具有文件系统和 shell 访问权限的工具隐藏分类位 → 需要审查
信号 2: Claude Code Silently Deletes Transcripts After 30 Days
来源: HN (11pts) | GitHub Issue #62476 | HN Discussion
核心发现
该 issue 描述 Claude Code 的会话清理行为;官方文档历史说明会在启动时清理超出保留期的会话记录(~/.claude/projects/<project>/<sessionId>.jsonl):
cleanupPeriodDays文档默认值为 30 天,按版本核对;自 v2.1.89 起设为 0 被校验拒绝,不能用 0 代表永久保留- 无首次运行提示、无删除前警告、不在
/config中展示 - 用户在丢失数月历史后才意识到
- 该 issue 的处置状态须以原帖为准;本文未核实 “won’t fix” 标签
对用户的影响
- 用户使用 Claude Code 作为 agent 工作流的一部分,历史记录丢失影响调试和复盘
- 与 Hermes 的持久记忆系统形成对比(Hermes 通过 gbrain/MEMORY.md 持久化知识)
- 提示需要定期导出 Claude Code 记录
交叉分析
两件事都指向同一个主题:AI Agent 的透明度和可信度问题。Steganography 暗藏标记 + 静默删除历史记录 → 开发者工具在信任边界上的行为值得审视。