チュートリアル9: セキュリティ設定
Tutorial 9: Security Settings — easy-to-understand guide based on official docs
チュートリアル9: セキュリティ設定
おかえりなさい!このチュートリアルでは、Hermes Agent で最も重要なトピックのひとつ、セキュリティについて深掘りしていきます。これまでのチュートリアルを追ってきたなら、Hermes がどれほど強力かお分かりでしょう。しかし、大きな力には大きな責任が伴います——そして Hermes は多層防御セキュリティモデルでしっかりカバーしてくれています。
城に複数の壁があるイメージです。たとえ1つの層が突破されても、他の層が安全を守ってくれます。8つの層を見ていき、その後で最も実用的な危険コマンド承認に焦点を当てましょう。
8つのセキュリティ層
Hermes は8つの面であなたを保護します:
- ユーザー認可 — エージェントと会話できる人を制御
- 危険コマンド承認 — 破壊的操作に対するヒューマン・イン・ザ・ループ
- ファイル書き込み安全性 — ファイル書き込みの拒否リストとオプションのサンドボックス
- コンテナ分離 — Docker/Singularity/Modal によるサンドボックス化
- MCP 認証情報フィルタリング — MCP サブプロセス用の環境変数を分離
- コンテキストファイルスキャン — プロジェクトファイル内のプロンプトインジェクションを検出
- セッション間分離 — セッションは互いのデータにアクセス不可
- 入力サニタイズ — 作業ディレクトリパラメータを検証してシェルインジェクションを防止
これだけの保護機能があります!でも、実際に一番触れる機会が多いのはコマンド承認です。
危険コマンド承認の仕組み
コマンドを実行する前に、Hermes は危険パターンのリストと照合します。一致した場合は承認が必要になります。シンプルですよね?
設定は ~/.hermes/config.yaml で行います:
approvals:
mode: smart # smart | manual | off
timeout: 300 # 承認を待つ秒数
cron_mode: deny # deny | approve
single_query_mode: deny # deny | approve
mcp_reload_confirm: true # MCP ツールのリロード前に確認
destructive_slash_confirm: true # /clear、/new などの前に確認
3つの承認モード
**スマートモード(デフォルト)**は最適なバランスです。補助 LLM を使用してリスクを評価します:
- 低リスクのコマンド(
python -c "print('hello')"など)は自動承認 - 本当に危険なコマンドは自動拒否
- 判断が難しいケースは手動プロンプトにエスカレーション
マニュアルモードは常に確認を求めます。自動承認も例外もありません。
オフモードはすべてのチェックを無効化します——--yolo で実行するのと同じです。CI/CD コンテナなどの信頼できる環境でのみ使用してください。
⚠️ 警告:
approvals.mode: offに設定すると、すべての安全プロンプトが無効になります。信頼できる環境でのみ使用してください!
YOLO モード:高速レーン(注意して使用)
YOLO モードは現在のセッションで全ての承認プロンプトをバイパスします。3つの方法で有効化できます:
- CLI フラグ:
hermes --yoloまたはhermes chat --yolo - スラッシュコマンド: セッション中に
/yoloと入力 - 環境変数:
HERMES_YOLO_MODE=1を設定
/yolo コマンドはトグルです:
> /yolo
⚡ YOLO モード ON — すべてのコマンドが自動承認されます。注意して使用してください。
> /yolo
⚠ YOLO モード OFF — 危険コマンドは承認が必要になります。
YOLO が有効な間、Hermes は2つの視覚的リマインダーを表示します:
- セッション開始時の赤いバナー:
⚠ YOLO モード — すべての承認プロンプトをバイパス中 - ステータスバーにリアルタイム表示される
⚠ YOLOフラグメント
⚠️ 危険: YOLO モードは、ハードラインのブロックリストを除くすべての危険コマンドチェックを無効化します。生成されるコマンドを完全に信頼できる場合にのみ使用してください。
このバージョンの新機能
2つの新しい設定に注目です:
mcp_reload_confirm(デフォルト true): /reload-mcp を実行すると、MCP ツールセットを再構築する前に確認を求められます。なぜか?再構築するとプロバイダーのプロンプトキャッシュが無効になり、次のメッセージで入力トークンがフル送信されるためです。常に承認をクリックすると、この設定は false に切り替わります。
destructive_slash_confirm(デフォルト true): /clear、/new、/reset、/undo などの破壊的コマンドは、会話状態を破棄する前に確認を求められます。1回だけ承認 / 常に承認 / キャンセルの3択ダイアログが表示されます。Telegram、Discord、Slack では、ネイティブのはい/いいえボタンとして表示されます。
重要なポイント
- スマートモードは頼れる味方——安全性とスピードのバランスが取れています
- YOLO モードはトグルであり、一方通行のドアではありません
- Cron および単一クエリセッションは危険コマンドに対してデフォルトで
deny——エージェントは別の方法を見つける必要があります - 視覚的インジケーターを常に確認して、YOLO が有効かどうかを把握しましょう
セキュリティとは偏執的になることではなく、備えることです。Hermes の多層的アプローチにより、自信を持って自動化を進められます。安全に、そして楽しい自動化ライフを!
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/security