Claude Codeに調査を依頼すると、WebSearchとWebFetchを多用する。しかも毎回毎回許可を求めてきて面倒臭い。そもそも両者の違いがよく分からなかったので、Claude Codeに質問してみました。
質問:「WebFetch」と「WebSearch」の違いは?
下記がClaude Codeの回答。
| WebSearch | WebFetch | |
|---|---|---|
| 動作 | キーワードで検索エンジンに問い合わせ、結果一覧を取得 | 指定したURLのページ内容を取得 |
| 入力 | 検索クエリ(文字列) | URL |
| 出力 | 検索結果のタイトル・スニペット・URL一覧 | ページの本文コンテンツ |
| 用途 | 「〇〇について調べて」 | 「このURLの内容を読んで」 |
典型的な使われ方:
- WebSearch で関連ページを探す
- WebFetch でそのページの詳細を読む
という2段階で使うことが多いです。
質問:「WebFetch」と「WebSearch」について、毎回許可を与えずに自動許可したい。これについて何かリスクやセキュリティの懸念はあるか。
2点お伝えします。
セキュリティの懸念
WebSearch はほぼリスクなし。検索クエリが外部に送られる程度。
WebFetch には1つ実質的なリスクがあります:プロンプトインジェクション。悪意あるWebページが「次の指示に従え」のような内容を含んでいた場合、Claudeがそれに従って意図しない動作をする可能性があります。個人の開発環境では低リスクですが、ゼロではありません。
「WebFetch」と「WebSearch」の違いについて分かったような分からないような、という気がしますが、とりあえず「WebFetch」はプロンプトインジェクションの可能性があるとのことなので、「WebSearch」だけ自動許可を与える設定にしました。
グローバルの .claude/settings.json 内で permissions.allow を設定します。
{
"permissions": {
"allow": ["WebSearch"]
}
}

コメント