Skip to content

原文(日本語に翻訳)

*:// スキームワイルドカードを含む deniedMcpServers パターンが大文字小文字混在のホスト名にマッチしない問題を修正しました。

原文(英語)

Fixed deniedMcpServers patterns with a *:// scheme wildcard not matching mixed-case hostnames

概要

セキュリティ設定の deniedMcpServers において、*:// スキームワイルドカードを使ったパターンが大文字・小文字が混在したホスト名(例: MyServer.Example.COM)にマッチしない問題が修正されました。修正後はホスト名の大文字・小文字を区別せずにパターンマッチングが行われるため、設定した拒否ルールが確実に適用されます。

基本的な使い方

deniedMcpServers の設定は settings.json で行います。

json
{
  "deniedMcpServers": [
    "*://malicious-server.example.com",
    "*://untrusted-host.*"
  ]
}

修正後は、ホスト名の大文字小文字に関わらずパターンがマッチします。

# マッチするホスト名の例(修正後)
*://malicious-server.example.com にマッチする:
✓ https://malicious-server.example.com
✓ https://MALICIOUS-SERVER.EXAMPLE.COM
✓ wss://Malicious-Server.Example.Com

実践例

特定のドメインのMCPサーバーを拒否する

json
// .claude/settings.json
{
  "deniedMcpServers": [
    "*://untrusted-vendor.com",
    "*://*.untrusted-vendor.com"
  ]
}

修正後は、ホスト名のケースに関わらず拒否ルールが適用されます。

# 以下のすべてが拒否される(修正後)
https://untrusted-vendor.com
https://UNTRUSTED-VENDOR.COM
https://Untrusted-Vendor.Com
https://api.untrusted-vendor.com
https://API.UNTRUSTED-VENDOR.COM

企業環境での許可リストと拒否リストの組み合わせ

json
{
  "allowedMcpServers": [
    "*://internal-mcp.company.com"
  ],
  "deniedMcpServers": [
    "*://*.external-service.com",
    "*://public-mcp-server.*"
  ]
}

セキュリティ設定の検証

bash
# 現在の MCP サーバー設定を確認
cat ~/.claude/settings.json | grep -A 5 "deniedMcpServers"

# MCP 設定の確認
claude --mcp-config ./mcp-config.json

注意点

  • この修正はセキュリティに関わる重要な修正です。deniedMcpServers を設定してMCPサーバーへのアクセスを制限している環境では、以前のバージョンでは大文字小文字が混在したホスト名を持つサーバーへのアクセスが意図せず許可されていた可能性があります。
  • DNS はホスト名を大文字小文字区別なく扱うため、修正後の動作(ケースインセンシティブ)がセキュリティ的に正しい動作です。
  • パターンのスキーム部分(https://wss:// など)はワイルドカード *:// で統一して指定することを推奨します。
  • deniedMcpServers の設定内容を定期的に見直し、必要なサーバーのみを許可するようにしてください。

関連情報