Skip to content

原文(日本語に翻訳)

インタラクティブモードでワークスペーストラストの承認なしに statusLine および fileSuggestion フックコマンドが実行される可能性があったセキュリティ上の問題を修正しました。

原文(英語)

Fixed a security issue where statusLine and fileSuggestion hook commands could execute without workspace trust acceptance in interactive mode.

概要

Claude CodeのインタラクティブモードでのHook実行に関するセキュリティ問題が修正されました。statusLinefileSuggestion のhookコマンドが、ワークスペーストラスト(信頼済みワークスペースの承認)の確認を経ずに実行される可能性がありました。この修正により、信頼されていないワークスペースでは、これらのhookコマンドが適切な承認なしに実行されなくなりました。

基本的な使い方

この修正はセキュリティパッチです。通常の使用に変更はありませんが、信頼されていないディレクトリで作業する際の安全性が向上しています。

bash
# ワークスペースを開く際にトラスト確認が適切に機能するようになった
claude  # 信頼されていないディレクトリでは確認プロンプトが表示される

実践例

ワークスペーストラストの仕組み

Claude Codeでは、信頼されていないディレクトリ(例:第三者のリポジトリをクローンした場合)で作業する際に確認プロンプトが表示されます:

このディレクトリ /path/to/unknown-project を信頼しますか?
Hookコマンドが設定されています:
  - statusLine: ./scripts/status.sh
  - fileSuggestion: ./scripts/suggest.sh

[y/N]

.claude/settings.jsonでのhook設定

json
{
  "hooks": {
    "statusLine": {
      "command": "./scripts/show-status.sh"
    },
    "fileSuggestion": {
      "command": "./scripts/suggest-files.sh"
    }
  }
}

修正前後の動作の違い

修正前(v2.1.50以前)

  • statusLine/fileSuggestion hookがワークスペーストラスト確認前に実行される可能性があった
  • 悪意のあるhook設定を含むリポジトリをクローンして開いた場合、自動的にコマンドが実行されるリスクがあった

修正後(v2.1.51以降)

  • ワークスペーストラストを承認するまで、すべてのhookコマンドの実行がブロックされる
  • 安全なワークフローが保証される

信頼済みディレクトリの管理

bash
# 信頼済みディレクトリのリストを確認(Claude設定ファイル)
cat ~/.claude.json | grep -A 10 "trustedDirectories"

# 特定ディレクトリを信頼済みとして追加
# (Claude Codeのインタラクティブな確認プロンプトから設定)

注意点

  • このセキュリティ修正は特に、チームで共有するリポジトリや公開リポジトリをクローンして使用する場合に重要です。
  • statusLine hookはステータスバーに情報を表示するために使用され、fileSuggestion hookはファイル提案のカスタマイズに使用されます。
  • 信頼済みワークスペースとして既に承認しているディレクトリでは、従来通りhookが実行されます。
  • 未知のリポジトリを開く際は、.claude/settings.json のhook設定を確認してから承認することを推奨します。

関連情報