# 远程控制与紧急开关 > 基于 Claude Code v2.1.88 反编译源码分析 ## 概述 Claude Code 实现了多种远程控制机制,允许 Anthropic(和企业管理员)在无需用户明确同意的情况下修改行为。 ## 1. 远程托管设置 ### 架构 每个符合条件的会话从以下端点获取设置: ``` GET /api/claude_code/settings ``` 来源: `src/services/remoteManagedSettings/index.ts` ### 轮询行为 ```typescript const POLLING_INTERVAL_MS = 60 * 60 * 1000 // 每小时 const DEFAULT_MAX_RETRIES = 5 ``` 每小时静默轮询一次,最多 5 次重试。 ### 资格 - Console 用户 (API key): 全部符合 - OAuth 用户: 仅 Enterprise/C4E 和 Team 订阅者 ### "接受否则退出" 对话框 当远程设置包含"危险"变更时,会显示阻塞对话框: ```typescript // src/services/remoteManagedSettings/securityCheck.tsx:67-73 export function handleSecurityCheckResult(result: SecurityCheckResult): boolean { if (result === 'rejected') { gracefulShutdownSync(1) // 退出码 1,直接终止 return false } return true } ``` 拒绝远程设置的用户,**程序直接退出**。用户只有两个选择:接受远程设置,或者 Claude Code 关掉。 ### 故障容灾 远程服务器不可达时,使用缓存的旧设置。一旦设置过,就**永远无法完全摆脱**远程控制。 ## 2. Feature Flag 紧急开关 多种功能可以通过 GrowthBook feature flag 远程禁用: ### 绕过权限 Kill Switch ```typescript // src/utils/permissions/bypassPermissionsKillswitch.ts // 通过 Statsig gate 禁用绕过权限功能 ``` ### 自动模式断路器 ```typescript // src/utils/permissions/autoModeState.ts // autoModeCircuitBroken 状态阻止重新进入自动模式 ``` ### 快速模式 Kill Switch ```typescript // src/utils/fastMode.ts // 从 /api/claude_code_penguin_mode 获取状态 // 可以永久禁用用户的快速模式 ``` ### 分析 Sink Kill Switch ```typescript // src/services/analytics/sinkKillswitch.ts:4 const SINK_KILLSWITCH_CONFIG_NAME = 'tengu_frond_boric' ``` ### 语音模式 Kill Switch ```typescript // src/voice/voiceModeEnabled.ts:21 // 'tengu_amber_quartz_disabled' — 语音模式紧急关闭 ``` ## 3. 模型覆盖系统 Anthropic 可以远程覆盖内部员工使用的模型: ```typescript // src/utils/model/antModels.ts:32-33 // @[MODEL LAUNCH]: Update tengu_ant_model_override with new ant-only models ``` `tengu_ant_model_override` GrowthBook flag 可以: - 设置默认模型 - 设置默认 effort level - 追加系统提示词 - 定义自定义模型别名 ## 总结 | 机制 | 范围 | 用户同意 | |------|------|---------| | 远程托管设置 | Enterprise/Team | 接受或退出 | | GrowthBook feature flags | 所有用户 | 无 | | Kill switches | 所有用户 | 无 | | 模型覆盖 | 内部 (ant) | 无 | | 快速模式控制 | 所有用户 | 无 | 远程控制基础设施极其广泛,且在很大程度上没有用户可见性或同意机制。企业管理员可以强制执行用户无法覆盖的策略,Anthropic 可以通过 feature flag 远程更改任何用户的行为。