下午用 Claude Code 做 Flutter 项目安全加固审查时,遇到一个比较吓人的问题:Claude 多次把我没有说过的话当成我的输入,并基于这些“输入”继续分析、写文件。 先说结论:目前没有证据表明本机被黑,也没有证据表明是代理/MITM/某个 App 在篡改内容。更像是 Claude Code 的 harness / transcript / tool result / user turn 边界在长会话里混乱,加上模型归因漂移。 环境大概是: macOS Claude Code 2.1.177 Opus 4.8 acceptEdits 当时是开启的 会话较长,包含大量工具调用、interrupt 、截图、resume 、hooks 、插件上下文 最典型的现象有两个。 第一个:Claude 说“你上一条原话是:8.0.10+8010 我已经发布了,刚刚构建的,那他 symbol 不就被覆盖了?”。 但我查了本地 JSONL transcript ,这句话根本不是我的用户消息。8.0.10+8010 最早来自一次 shell 工具输出里的 pubspec version ...