<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>隐私保护 | 面条的草稿箱</title><description>无原创，纯转发</description><link>http://drafts.miantiao.me</link><item><title>Claude Code 在系统提示词中暗藏“隐写”标记安全研究人员最近在分析 Anthropic 的命令行 AI 助手 Claude Code (v2.1.196) 时，发现其内部包含一段特殊的代码</title><link>http://drafts.miantiao.me/posts/151</link><guid isPermaLink="true">http://drafts.miantiao.me/posts/151</guid><pubDate>Tue, 30 Jun 2026 23:35:06 GMT</pubDate><content:encoded>&lt;b&gt;Claude Code 在系统提示词中暗藏“隐写”标记&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;安全研究人员最近在分析 Anthropic 的命令行 AI 助手 &lt;b&gt;Claude Code&lt;/b&gt; (v2.1.196) 时，发现其内部包含一段特殊的代码。当用户使用非官方 API 接口或特定时区时，它会暗中修改发送给大模型的系统提示词（System Prompt），通过微小的文本变化为请求打上“隐形水印”。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;隐写机制是如何工作的？&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;这种机制主要通过修改系统提示词中“今天日期”的文本格式来实现，极其隐蔽：&lt;br /&gt;&lt;br /&gt;1.  &lt;b&gt;时区检测&lt;/b&gt;：如果用户的系统时区为 &lt;code&gt;Asia/Shanghai&lt;/code&gt;（上海）或 &lt;code&gt;Asia/Urumqi&lt;/code&gt;（乌鲁木齐），提示词中的日期分隔符会从连字符 &lt;code&gt;-&lt;/code&gt; 隐悄悄替换为斜杠 &lt;code&gt;/&lt;/code&gt;（例如：&lt;code&gt;2026-06-30&lt;/code&gt; 变成 &lt;code&gt;2026/06/30&lt;/code&gt;）。&lt;br /&gt;2.  &lt;b&gt;自定义域名检测&lt;/b&gt;：如果用户设置了环境变量 &lt;code&gt;ANTHROPIC_BASE_URL&lt;/code&gt;（通常用于使用自定义网关、本地代理或中转 API），Claude Code 会检测该域名，并微调 &quot;Today&apos;s&quot; 中单引号 &lt;code&gt;&apos;&lt;/code&gt; 的 Unicode 字符（例如替换为 &lt;code&gt;’&lt;/code&gt;、&lt;code&gt;ʻ&lt;/code&gt; 或 &lt;code&gt;ʼ&lt;/code&gt;）。在大多数等宽字体中，这些字符的视觉差异极小，用户几乎无法察觉。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;针对的目标&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;代码中包含一个经过混淆处理（Base64 编码并进行 XOR 解密）的关键词和域名列表。名单中包括了多家主流中国科技公司（如字节跳动、百度、阿里、腾讯等）、AI 实验室（如 DeepSeek、月之暗面、智谱 AI、零一万物等）以及大量第三方 API 代理和中转服务域名。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;为什么令人担忧？&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Anthropic 这么做很可能是为了在后端识别非官方的 API 转售商、未授权的网关，或是防止模型被用于“蒸馏”训练。&lt;br /&gt;&lt;br /&gt;虽然防范滥用合情合理，但这种“隐写”的实现方式引发了安全社区的质疑。作为一个拥有本地文件系统读写、执行 Shell 命令、甚至管理 Git 仓库等极高权限的开发者工具，建立信任至关重要。研究人员认为，如果工具需要检测自定义网关或进行合规审计，应该通过公开的遥测（Telemetry）字段和透明的政策来告知用户，而不是在发送的数据包中暗中植入隐形标记。&lt;br /&gt;&lt;br /&gt;对于直接使用 Anthropic 官方 API 且未修改 Base URL 的普通用户，该机制不会被触发。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://thereallo.dev/blog/claude-code-prompt-steganography&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://thereallo.dev/blog/claude-code-prompt-steganography&quot;&gt;https://thereallo.dev/blog/claude-code-prompt-steganography&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8&quot; title=&quot;#网络安全&quot;&gt;#网络安全&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23AI%E5%AE%89%E5%85%A8&quot; title=&quot;#AI安全&quot;&gt;#AI安全&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E9%9A%90%E7%A7%81%E4%BF%9D%E6%8A%A4&quot; title=&quot;#隐私保护&quot;&gt;#隐私保护&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Claude&quot; title=&quot;#Claude&quot;&gt;#Claude&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E9%80%86%E5%90%91%E5%B7%A5%E7%A8%8B&quot; title=&quot;#逆向工程&quot;&gt;#逆向工程&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://thereallo.dev/blog/claude-code-prompt-steganography&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;I inspected Claude Code for privacy reasons and found hidden system prompt markers based on API base URL and timezone.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Thereallo&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;Claude Code Is Steganographically Marking Requests&quot; src=&quot;https://drafts.miantiao.me/static/https://cdn4.telesco.pe/file/GObfH6KFE-R9mSezKZ4Zl5I7FRgnjCxbMGszKAilD_Jc0sKXJLcC5uCj33NWMA5Dr4SCBz64yss_VjvD8GTPwfUKDuPqfHZDRs8s6jMM5JV5-wytp3EwsnGAHJf6cOUTqoNsAgGz2RxSH85UdEoxSITR8XYA6tBUQlQuoLi5UvK2HV_9mtt6oa3BiqcXJuEe5cmB70PPiy1QQmu33L84Trv2M3vUS8XFjycg0TAy4NS4kSxfTUE1zxxDMn1xdJMHR2wWTmZU5Z4L_gbpvkpJe305VxwGtjUGUU9o0ytvY3wdR2jJsUdbQmnKUnTrgYgXiZt52OYtqhL9Z6F2Jl1CcQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;Claude Code Is Steganographically Marking Requests&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;I inspected Claude Code for privacy reasons and found hidden system prompt markers based on API base URL and timezone.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>