Codex・Claude Code の接続先とサンドボックス設定の書き換えを監視する:無許可の中継サービスの観測例
正規の CLI を入れた後に設定ファイルを書き換え、AI への通信を第三者の中継へ向け、サンドボックスを切る「中継サービス」が 12 組織で見つかった。脆弱性ではなく利用者自身の設定変更なので、設定値の監視で見つける。
何が起きたか
- Symantec の Threat Hunter Team によると、利用者が npm で正規の CLI を導入した数分〜約 30 分後に、1 行で取得する PowerShell / bash スクリプトが設定を書き換えていた。大半は公式提供のない中国本土の拠点での観測。
- 書き換え先は Codex の
config.tomlと Claude Code のsettings.json。接続先と API キーを中継側のものに変え、利用者単位の環境変数にも登録して再起動後も維持し、サンドボックス・テレメトリー・エラー報告を無効にしていた。正規のセッションからログアウトさせる例もあった。 - 中継側はプロンプト・ファイル・秘密情報を読め、応答の改ざんもできる。サンドボックスが切られていると、改ざんされた応答が利用者の権限でそのまま実行されうる。
監視・点検する項目
- 接続先の変更: Claude Code の
ANTHROPIC_BASE_URL(環境変数・settings.jsonのenv)、Codex のbase_urlやプロバイダー設定が、承認した接続先以外を向いていないか。 - サンドボックスの無効化: Codex の
sandbox_mode = "danger-full-access"や、承認なしの実行を許す設定が入っていないか。 - API キーの差し替え: 組織で発行していないキーが環境変数(Windows のユーザー環境変数、シェルの起動ファイル)に入っていないか。
- 通信先: 承認外の AI 接続先への通信を、プロキシや DNS のログで検知する。
- 設定を組織で固定する: Claude Code の管理設定(managed settings)など、利用者が上書きできない形で接続先やサンドボックスを固定できる仕組みがあれば使う。
注意点
- 中継側が発行した認証情報は、同じ端末で環境変数を読む別のツールにも渡りうる。
- 報告にはスクリプト 2 件のハッシュと関連ドメインが載っている。中継側は観測期間中に少なくとも 8 つのドメインを切り替えたので、ドメインの遮断だけに頼らず設定値で見る。
- 関連: エディタ拡張の正規更新でバックドアが届いたときの確認と対応(Cursor の Claude Code 2.1.313 事例)、.env を AI コーディングエージェントに読ませない(hooks・deny ルール)。