Appearance
AI 应用思路:安全篇
一、从 Anthropic 的"数字投毒"说起
今天被 A 社的操作震麻了。
Claude Code 从 2.1.91 版本起,内置了一套堪称"间谍软件"级别的检测机制——当你设置了 ANTHROPIC_BASE_URL(也就是用中转站调用)的那一刻,它就偷偷激活了:
- 嗅探你的系统时区:是不是
Asia/Shanghai或Asia/Urumqi? - 比对你的代理域名:手上有份 147 个中国相关域名的黑名单,百度、阿里、字节、DeepSeek、智谱……全部在列。
- 用隐写术回传情报:日期分隔符从
-变成/,Unicode 单引号偷偷换掉——肉眼完全看不出来,但服务器一读便知。
这已经不是正常的商业合规,这是在你自己的电脑上种木马。
更讽刺的是,这套机制的触发逻辑极其阴险——它不检测你是不是中国人,它检测的是**"你是不是在用中转站"。用中转站的就重点排查,用直连的反而放行。这意味着什么?Anthropic 不是在做地理围栏,它是在猎杀绕过它规则的人**。
我一直没怎么用 CC,这次更是加深了厌恶的刻板印象。但这件事给所有人敲了一记警钟:
当你安装一个闭源 AI 工具时,你实际上是在自己的电脑上安装了一个拥有高级权限、可以读取系统信息、且行为不可审计的潜在间谍软件。 它不需要网络入侵——它已经被你主动邀请进来了。
更可怕的是隐写术这种手段。数据不通过异常的网络连接泄露,而是藏在正常的请求内容里——这绕过了绝大多数传统的网络安全检测手段。你的防火墙看不到,你的 IDS 报不了警,你的安全团队抓包都抓不出异常。因为一切都是"正常的 HTTP 请求"。
这已经不是某个产品的问题,这是整个 AI 工具信任体系的问题。
二、两条铁律
我把应对策略浓缩成了两条铁律,所有后续动作都围绕它们展开:
铁律一:不要用不可信的客户端
优先级排序:开源 > 闭源,API > 客户端,自托管 > 云服务。
这是切断问题的第一步,也是性价比最高的一步。你不需要等什么安全审计报告,不需要等官方回应——当一个工具已经证明了它会背叛用户信任的时候,最理性的决策就是立即停用。
闭源客户端对你的电脑拥有什么权限?它可以读你的环境变量,读你的系统配置,读你的文件系统,然后把你完全看不懂的请求发给它的服务器。这是一个黑箱,而你把钥匙亲手交给了它。
铁律二:假设一切输入都会被收集
在这个假设下重新设计你的工作环境、工作流程和数据边界。敏感信息绝不进入不可信工具的处理范围——不是"尽量不输入",是"绝不输入",这是有本质区别的。
同时,基于这个假设去设计你的冗余和灾备方案。万一被封、被限速、被断供,你的团队能不能在 10 分钟内切换到备用方案继续工作?如果答案是否定的,那你就是在裸奔。
三、立即行动:止损清单
3.1 切换工具,现在、马上、立刻
对安全看重的公司,不要犹豫,赶紧切换工具。这是切断问题的第一步,后面再基于开源自己去定制私有化工具,都是更安全的操作。
AI 编程助手
| 工具 | 开源? | 风险等级 | 说明 |
|---|---|---|---|
| Codex | ✅ Apache 2.0 | 🟢 低 | OpenAI 出品,Rust 语言,只支持 OpenAI 模型,91K stars |
| Aider | ✅ Apache 2.0 | 🟢 低 | 终端工具,Git-first,支持多模型,社区成熟 |
| Cline | ✅ Apache 2.0 | 🟢 低 | VS Code 扩展,58K+ stars,人机确认模式 |
| Continue.dev | ✅ Apache 2.0 | 🟢 低 | VS Code 扩展,高度可定制,BYOK |
| OpenCode | ✅ MIT | 🟢 低 | Anomaly 出品,Go 语言 TUI,75+ 模型提供商,160K stars |
| Cursor | ❌ 闭源 | 🟡 中 | 性能强,但闭源不可审计;曾有配置注入 CVE |
| Windsurf | ❌ 闭源 | 🟡 中 | Codeium 产品,闭源;2025 年经历多次收购,长期方向不明 |
| GitHub Copilot | ❌ 闭源 | 🟡 中 | 微软产品,数据声称去标识化处理,但代码片段仍上传 |
| Claude Code | ❌ 闭源 | 🔴 高 | 本文事件主角,已证实埋点+隐写回传,立即停用 |
通用对话 / API 调用
| 工具 | 类型 | 风险等级 | 说明 |
|---|---|---|---|
| DeepSeek | 国产 | 🟢 低 | 国产头部,性能顶尖,API 价格合理 |
| Kimi | 国产 | 🟢 低 | 月之暗面,长文本能力强 |
| 通义千问 | 国产 | 🟢 低 | 阿里系,生态丰富,企业适配好 |
| ChatGLM | 国产 | 🟢 低 | 智谱 AI,开源权重可本地部署 |
| GPT (OpenAI) | 国际 | 🟡 中 | 性能最强梯队,但 OpenAI 有地区限制和审查政策 |
| Gemini (Google) | 国际 | 🟡 中 | 性能强,免费额度大方,Google 有合规审查 |
| Claude (Anthropic) | 国际 | 🔴 高 | 本文事件主角,已证明会主动猎杀中转用户,立即停用 |
3.2 做好数据和源码的备份
这是灾备的基础。不要只依赖 GitHub 或某个云服务商——单点故障是安全的天敌。
备份策略:
| 层级 | 内容 | 频率 | 存储位置 |
|---|---|---|---|
| 代码层 | 所有 Git 仓库 | 每次推送 | 至少两个不同的代码托管平台(如 GitHub + Gitee / GitLab 自托管) |
| 数据层 | 训练数据、知识库、Prompt 模板 | 每日增量 | NAS + 异地云存储 |
| 配置层 | 环境配置、部署脚本、CI/CD 流水线 | 每次变更 | 版本控制 + 加密离线存储 |
| 模型层 | 自托管模型的权重文件 | 每次更新 | 多地备份,冷存储 |
| 文档层 | 技术文档、操作手册、安全策略 | 实时同步 | 团队协作工具 + 离线备份 |
关键原则:
- 3-2-1 法则:至少 3 份副本,用 2 种不同介质,其中 1 份在异地。
- 定期恢复演练:备份了不等于能恢复,每季度做一次恢复演练,确保流程通畅。
- 加密存储:备份数据加密,密钥与数据分开存放。
3.3 对每次新增代码严格审核
Anthropic 这次用的是"配置文件埋点",这给我们提了个醒:AI 工具相关的配置变更必须纳入代码审查的强制流程,不能有例外。
审核要点:
- 环境变量检查:任何新增的环境变量读取(尤其是涉及
ANTHROPIC_、OPENAI_等前缀的)必须说明用途。 - 系统调用审查:工具是否有读取
/etc/localtime、/proc、System Preferences等系统信息的行为? - 请求内容审计:对比不同机器上发出的请求,确认 system prompt 完全一致,没有被植入隐写标记。
- 依赖变更管控:新增 npm/pip/cargo 包必须经过安全审查,警惕 postinstall 脚本。
- 配置文件即代码:
.cursor/rules、.claude/settings.json、.mcp.json等 AI 工具配置文件的变更,走与普通代码相同的 PR + Review 流程。