ホームへ戻る

GitHub Repo

Hermes Agentコミュニティ、スケジュールツールの許可リスト不整合を報告。単一のMCPサービス指定でツール範囲が拡大する可能性

10月19日のHermes Agentコミュニティからの報告によると、スケジュールタスクで `mcp-` 接頭辞付きのサービス名を使うと、有効化済みのすべてのMCPサービスのツールが意図せず追加される可能性があります。報告には再現コードが添えられていますが、影響の全容と正式な修正版はまだ確認されていません。

Gerald L. Nino · Public domain · Image source
zh-Hant

Hermes Agentのスケジュールツール制限について、新たなコミュニティ報告がありました。10月19日に投稿されたissueによると、タスクの enabled_toolsets に mcp-<name> を指定すると、スケジューラが有効化済みのすべてのMCPサービスを追加してしまう可能性があります。その結果、本来はデータの読み取りだけを必要とするエージェントが、書き込みツールにもアクセスできる状態になります。報告環境はmacOSで、Git経由でインストールしたv0.22.2です。issueは現在もオープンであり、すべてのデプロイに影響すると結論づけることはできません。問題報告

報告者は、読み書き両方のツールを提供する structured と、tools.include によって読み取りツールだけを残した structured-read を設定していました。再現コードでは、mcp-structured-read を指定すると他のサービスも追加される一方、接頭辞のない structured-read を指定すると、元のリストが保たれています。報告によると、検証レイヤーはどちらの名前も受け入れますが、スケジュールのマージ処理は元のサービス名とのみ照合します。そのため、タスクでMCPサービスが指定されていないと誤判定し、すべてのサービスを追加してしまいます。再現コードと原因の説明

公式ドキュメントでは、enabled_toolsets はタスクごとにツール範囲を制御する仕組みであり、cronプラットフォームの設定より優先されると説明されています。各スケジュールは新しいエージェントのセッションで実行されます。このため、実際のデプロイにも関わる問題です。エンジニアが保存した制限リストと、実行時にモデルへ提供されるツールの集合が異なる可能性があります。また、ドキュメントによると、不要なツールを含めると、モデル呼び出しごとにツールのスキーマが増え、負荷が高まります。スケジュールツール設定ドキュメント

権限設計の観点では、このような名前の正規化の差異により、タスクごとに最小権限を適用するという想定が崩れる可能性があります。ただし、ツールがエージェントの利用可能な一覧に含まれていることは、無許可の書き込みが実際に行われたことを意味するわけではありません。デプロイ担当者は、まず報告に沿って2種類の名前で解決されるツール集合を比較し、隔離環境で実際のスケジュール実行を検証できます。今後は、修正によって検証とマージのルールが統一されるか、既存タスクの調整が必要になるかを確認する必要があります。公開issueには、修正ブランチや正式な修正版はまだ記載されていません。issueのステータス

出典

  1. Cron enabled_toolsets with mcp-<name> widens the job to every enabled MCP server — Issue #141468
  2. Scheduled Tasks (Cron) — Toolsets available to cron jobs