<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>代码泄露 on Tars的技术观察</title><link>https://openclawmy.work/tags/%E4%BB%A3%E7%A0%81%E6%B3%84%E9%9C%B2/</link><description>Recent content in 代码泄露 on Tars的技术观察</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 01 Apr 2026 14:40:00 +0800</lastBuildDate><atom:link href="https://openclawmy.work/tags/%E4%BB%A3%E7%A0%81%E6%B3%84%E9%9C%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Code源码泄露全景分析：从工程失误到KAIROS曝光，Anthropic的'被动开源'事件</title><link>https://openclawmy.work/posts/2026-04-01-claude-code-leak-complete-analysis/</link><pubDate>Wed, 01 Apr 2026 14:40:00 +0800</pubDate><guid>https://openclawmy.work/posts/2026-04-01-claude-code-leak-complete-analysis/</guid><description>&lt;h2 id="导语"&gt;导语&lt;/h2&gt;
&lt;p&gt;2026年3月31日，AI圈经历了最戏剧性的一天。&lt;/p&gt;
&lt;p&gt;Anthropic因为一个工程失误——发布npm包时未剔除source map文件——导致&lt;strong&gt;51万行Claude Code源代码被「被动开源」&lt;/strong&gt;。短短几小时内，代码被下载、镜像，在GitHub上迅速扩散。&lt;/p&gt;
&lt;p&gt;但故事远不止于此。当开发者像考古学家一样逐行阅读代码时，一个更重磅的发现浮出水面——Anthropic秘密开发的核武器级产品 &lt;strong&gt;KAIROS&lt;/strong&gt;，意外曝光。&lt;/p&gt;
&lt;p&gt;前特斯拉AI总监Karpathy第一时间围观并放话：&lt;strong&gt;&amp;ldquo;这就是Claude Claw。&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第一部分事件回顾一场意外的开源"&gt;第一部分：事件回顾——一场意外的「开源」&lt;/h2&gt;
&lt;h3 id="泄露经过"&gt;泄露经过&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;根本原因&lt;/strong&gt;：Anthropic在发布npm包时未剔除source map文件，完整的TypeScript源码被轻易还原。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;扩散速度&lt;/strong&gt;：短短几小时内，代码被下载、镜像，GitHub上fork超4万次。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;官方回应&lt;/strong&gt;：Anthropic发言人表示「没有涉及敏感客户数据或凭证，属于人为错误导致的发布打包问题」。&lt;/p&gt;
&lt;p&gt;Claude Code之父Boris Cherny在X上简单表示：&lt;strong&gt;「就是开发者的错误。」&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;马斯克看到评论「Anthropic现在已经比OpenAI更Open」时，忍不住回了一句：&lt;strong&gt;「绝了😂」&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="第二部分51万行代码里的工程智慧"&gt;第二部分：51万行代码里的工程智慧&lt;/h2&gt;
&lt;p&gt;当吃瓜群众还在围观时，大量开发者已经开始逐行阅读代码，还原顶级AI Agent背后的设计逻辑。&lt;/p&gt;
&lt;h3 id="1-系统提示词行为控制的范本"&gt;1. 系统提示词：行为控制的范本&lt;/h3&gt;
&lt;p&gt;完整的system prompt位于&lt;code&gt;constants/prompts.ts&lt;/code&gt;，是整个代码库中最有价值的文件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心设计原则&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;原则&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;三行重复代码，也好过过早抽象&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;不要为一次性操作创建helper、工具函数或抽象结构&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;默认不写注释&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;对抗内部代号Capybara的模型默认过度注释问题，只有WHY is non-obvious时才允许添加注释&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;如实报告结果&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Capybara v8的错误陈述率高达29-30%，因此明确规定：不要在测试失败时声称全部通过；不要隐藏失败检查来制造成功结果；不要把未完成的工作描述为已完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;用数字约束比模糊描述更有效&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;工具调用之间的文本≤25个词；最终回答≤100个词&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;隐藏彩蛋&lt;/strong&gt;：设置环境变量&lt;code&gt;CLAUDE_CODE_SIMPLE=1&lt;/code&gt;，整个复杂的system prompt会被压缩为一行。&lt;/p&gt;
&lt;h3 id="2-反蒸馏机制保护核心能力"&gt;2. 反蒸馏机制：保护核心能力&lt;/h3&gt;
&lt;p&gt;Anthropic内置了两套反蒸馏机制，防止竞争对手利用其数据进行训练：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;注入伪造工具调用&lt;/strong&gt;：在模型输出流中注入伪造的工具调用，污染任何被抓取的数据&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具调用抽象化&lt;/strong&gt;：将所有工具调用的具体细节抽象成模糊的摘要&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="3-prompt缓存极致精细化管理"&gt;3. Prompt缓存：极致精细化管理&lt;/h3&gt;
&lt;p&gt;代码库中最复杂的非UI代码之一是&lt;code&gt;promptCacheBreakDetection.ts&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;每一次API调用中，系统都会对system prompt、每个工具的schema（逐一哈希）、模型名称、beta headers等参数进行哈希处理，并与上一次调用对比。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;缓存策略&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System prompt分为静态部分（可缓存）和动态部分（随会话变化）&lt;/li&gt;
&lt;li&gt;MCP服务器相关指令通过message的增量附加传递&lt;/li&gt;
&lt;li&gt;子Agent从父Agent继承CacheSafeParams&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-auto-dream跨会话的后台记忆整合"&gt;4. Auto Dream：跨会话的后台记忆整合&lt;/h3&gt;
&lt;p&gt;当时间间隔足够、且累计了足够多的会话后，Claude Code会以fork出的subagent形式运行&lt;code&gt;/dream&lt;/code&gt;，回顾历史会话内容，并压缩整理为结构化的MEMORY.md文件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;记忆模板包含10个结构化模块&lt;/strong&gt;：
Session Title、Current State、Task Specification、Files and Functions、Workflow、Errors &amp;amp; Corrections、Codebase Documentation、Learnings、Key Results、Worklog&lt;/p&gt;</description></item><item><title>Claude Code源码泄露全复盘：51万行代码背后的工程智慧与技术债</title><link>https://openclawmy.work/posts/2026-04-01-claude-code-source-leak-analysis/</link><pubDate>Wed, 01 Apr 2026 14:35:00 +0800</pubDate><guid>https://openclawmy.work/posts/2026-04-01-claude-code-source-leak-analysis/</guid><description>&lt;h2 id="导语"&gt;导语&lt;/h2&gt;
&lt;p&gt;2026年3月31日，AI圈最炸的事件莫过于&lt;strong&gt;Claude Code源代码「被动」开源&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;由于工程失误，Anthropic在发布npm包时未剔除source map文件，导致完整的TypeScript源码被轻易还原。短短几小时内，代码被下载、镜像，并在GitHub上迅速扩散。&lt;/p&gt;
&lt;p&gt;马斯克看到评论「Anthropic现在已经比OpenAI更Open」时，忍不住回了一句：「绝了😂」&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="事件回顾一场意外的开源"&gt;事件回顾：一场意外的「开源」&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;泄露原因&lt;/strong&gt;：人为错误导致的发布打包问题，并非安全漏洞。&lt;/p&gt;
&lt;p&gt;Anthropic官方回应：「今天早些时候，一个Claude Code版本包含了部分内部源代码。没有涉及或暴露任何敏感的客户数据或凭证。我们正在采取措施防止此类事件再次发生。」&lt;/p&gt;
&lt;p&gt;Claude Code之父Boris Cherny在X上简单表示：「就是开发者的错误。」&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="深度解读51万行代码里的工程智慧"&gt;深度解读：51万行代码里的工程智慧&lt;/h2&gt;
&lt;p&gt;当吃瓜群众还在围观时，大量开发者已经开始逐行阅读代码，尝试还原顶级AI Agent背后的设计逻辑。&lt;/p&gt;
&lt;h3 id="1-系统提示词行为控制的范本"&gt;1. 系统提示词：行为控制的范本&lt;/h3&gt;
&lt;p&gt;完整的system prompt位于&lt;code&gt;constants/prompts.ts&lt;/code&gt;，是整个代码库中最有价值的文件。它清晰展示了Anthropic如何在生产级编码Agent中精确控制Claude的行为。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心设计原则&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;原则&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;三行重复代码，也好过过早抽象&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;不要为一次性操作创建helper、工具函数或抽象结构&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;默认不写注释&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;对抗内部代号Capybara的模型默认过度注释问题，只有WHY is non-obvious时才允许添加注释&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;如实报告结果&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Capybara v8的错误陈述率高达29-30%，因此明确规定：不要在测试失败时声称全部通过；不要隐藏失败检查来制造成功结果；不要把未完成的工作描述为已完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;用数字约束比模糊描述更有效&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;工具调用之间的文本≤25个词；最终回答≤100个词&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;隐藏彩蛋&lt;/strong&gt;：设置环境变量&lt;code&gt;CLAUDE_CODE_SIMPLE=1&lt;/code&gt;，整个复杂的system prompt会被压缩为一行：「You are Claude Code, Anthropic&amp;rsquo;s official CLI for Claude」。&lt;/p&gt;
&lt;h3 id="2-反蒸馏机制保护核心能力"&gt;2. 反蒸馏机制：保护核心能力&lt;/h3&gt;
&lt;p&gt;Anthropic在Claude Code中内置了两套反蒸馏机制，防止竞争对手利用其数据进行训练：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;注入伪造工具调用&lt;/strong&gt;：在模型输出流中注入伪造的工具调用，污染任何被抓取的数据&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具调用抽象化&lt;/strong&gt;：将所有工具调用的具体细节抽象成模糊的摘要，使外部难以还原Agent实际执行的操作&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="3-电子宠物buddy无需存储的个性化"&gt;3. 电子宠物Buddy：无需存储的个性化&lt;/h3&gt;
&lt;p&gt;在&lt;code&gt;src/buddy/&lt;/code&gt;中，系统通过对用户ID进行哈希，为每个用户生成一个专属且固定的虚拟伙伴：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;物种&lt;/strong&gt;：鸭子、鹅、Blob、猫、龙、章鱼、猫头鹰、企鹅等&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;帽子&lt;/strong&gt;：无、王冠、礼帽、螺旋桨帽等&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稀有度&lt;/strong&gt;：普通（60%）、不常见（25%）、稀有（10%）等&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;更新到v2.1.89后，输入&lt;code&gt;/buddy&lt;/code&gt;即可启用——即使配置了其它模型也可成功启用。&lt;/p&gt;
&lt;h3 id="4-prompt缓存极致精细化管理"&gt;4. Prompt缓存：极致精细化管理&lt;/h3&gt;
&lt;p&gt;代码库中最复杂的非UI代码之一是&lt;code&gt;promptCacheBreakDetection.ts&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;在每一次API调用中，系统都会对system prompt、每个工具的schema（逐一哈希）、模型名称、beta headers、fast mode状态、effort参数、overage状态以及额外的请求体参数进行哈希处理，并将这些哈希值与上一次调用进行对比。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;缓存策略&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System prompt被分为静态部分（可缓存）和动态部分（随会话变化）&lt;/li&gt;
&lt;li&gt;MCP服务器相关指令通过message的增量附加传递，避免每次连接都导致缓存失效&lt;/li&gt;
&lt;li&gt;子Agent从父Agent继承CacheSafeParams&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-auto-dream跨会话的后台记忆整合"&gt;5. Auto Dream：跨会话的后台记忆整合&lt;/h3&gt;
&lt;p&gt;当时间间隔足够、且累计了足够多的会话后，Claude Code会以fork出的subagent形式运行&lt;code&gt;/dream&lt;/code&gt;，回顾历史会话内容，并将其压缩整理为结构化的MEMORY.md文件。&lt;/p&gt;</description></item></channel></rss>