今回のアップデートで何が変わったのか
Claude Codeにはコマンドを安全に自動実行するための「サンドボックス化」という仕組みがあります。今回のv2.1.221では、そのサンドボックスの中で扱う「認証情報ファイル」の守り方に新しい選択肢が追加されました。Linux版とWSL(Windows上でLinuxを動かす仕組み)向けに、mode: "mask"という設定が使えるようになったのです。
認証情報ファイルというのは、APIキーやパスワード、トークンなどが書かれた設定ファイルのことです。たとえばAWSやクラウドサービスにアクセスするための鍵情報が入ったファイルを想像してください。Claude Codeがコマンドを自動実行するとき、こうした機密情報が誤って外部に漏れたり、意図しない使われ方をしたりすると困ります。
「マスク」とはどういう仕組みか
今までは、こうした機密ファイルへのアクセスを許可するか、丸ごと拒否する(deny)かという単純な選択肢が中心でした。今回追加されたmaskモードは、その中間にあたる新しい考え方です。
サンドボックスの中で動いているコマンドからファイルを読むと、本物の値ではなく「ダミーの見張り役」のような文字列(センチネル)が入ったコピーが見えます。ファイル全体をダミーにすることもできますし、extractという正規表現の指定によって、ファイルの中の特定の部分だけをダミーに置き換えることもできます。
そして、そのコマンドが実際に外部(たとえばクラウドのAPIサーバーなど)へ通信しようとしたタイミングで、Claude Codeの「サンドボックスプロキシ」という中継役が、ダミー文字列を本物の値に差し替えてから送信します。つまり、コマンド自身やその実行結果としてClaudeが目にする内容には本物の秘密情報が一切現れず、実際に必要な通信のときだけ裏側で本物の値が使われる、というイメージです。
| モード | 挙動 |
|---|---|
| 許可(通常) | ファイルの内容がそのまま見える |
| deny | ファイルへのアクセス自体を拒否 |
| mask(今回追加) | ダミー文字列を見せ、実際の通信時だけ本物に差し替え |
なぜこれが嬉しいのか
Claudeがコマンドの実行結果を読んで次の判断をする都合上、機密情報がそのままClaudeの目に入ってしまうケースがこれまでありました。Claude自身は悪意を持って情報を漏らすわけではありませんが、会話ログやコンテキストウィンドウに秘密情報がそのまま残ってしまうのはあまり気持ちのいいものではありません。
maskモードを使うと、コマンドは正常に動作するために必要な「本物の値を使った通信」はできる一方で、Claude自身やその周辺の記録には本物の値が残らないようにできます。「動くけれど、中身は見せない」という状態を作れるのがポイントです。
macOSでは少し違う
このmaskモードは、今のところLinuxとWSLだけの対応です。macOSでファイルのマスキングを設定しようとすると、自動的にdeny(アクセス拒否)にフォールバックする、と説明されています。macOSでも安全性自体は保たれますが、maskの「読めるけど中身はダミー」という細かい挙動までは今のところ再現されない点に注意してください。
このページは役に立ちましたか?