ホーム記事Claude Codeのhooksで危険な操作を自動で止める
総務

Claude Codeのhooksで危険な操作を自動で止める

結論

「AIに任せた業務は、勝手にファイルを消したり外部に送ったりしないか」——この不安が、 AI活用を一歩踏み出せない理由になっている会社は多いはずです。 Claude Codeというツールには「hooks(フック)」という仕組みがあり、 AIが操作を実行する前に、あらかじめ決めたルールで危険な操作を機械的に止められます。 人間が毎回張り付いて確認する体制から、例外だけを人間が見る体制に変えられるのが要点です。 判断が要る例外(何を「危険」とするかの線引き)は、依然として人間が決める必要があります。

AIに業務を任せるときの不安はどこから来るのか

AIに定型業務を任せたいと考える会社が最初につまずくのは、機能への不安ではなく 「何をやらかすか分からない」という不安です。具体的には次のようなケースです。

  • ファイルを整理させたら、必要なファイルまで削除した
  • 下書きを作らせたら、そのまま社外にメールを送ってしまった
  • 顧客データが入ったファイルを、確認なしに外部のサービスへアップロードした

これらは実際に起きうる操作であり、AIが「悪意」を持って行うわけではなく、 指示のあいまいさや確認不足の積み重ねで起きます。 人間の新人社員に仕事を任せるときと同じで、最初から全面的に信頼して任せるのではなく、 危険な操作だけは機械的に止まる仕組みを先に用意しておく方が安全です。

hooksとは何か(専門用語を使わずに説明する)

hooksは、日本語にすると「割り込み」に近い仕組みです。 AIが何かの操作(ファイルを消す、コマンドを実行する、外部にデータを送る等)をしようとするたびに、 その操作の直前・直後に「決めたルールに沿っているか」をチェックする関門を挟みます。

例えるなら、社内の稟議フローに似ています。 新人社員が高額な発注をしようとしたとき、金額が一定額を超えたら 上長の承認が要る、という仕組みを会社は当たり前に持っています。 hooksは、この「一定額を超えたら止める」というルールを、AIの操作に対して機械的に設定するものです。

ルールに引っかからない操作はそのまま実行され、引っかかった操作だけが止まって 人間の確認を求めます。すべての操作を人間が見るのではなく、 危険な操作だけをふるいにかける点が、この仕組みの価値です。

何を「危険な操作」として設定できるのか

hooksで止められる操作の具体例は、会社ごとの業務内容によって変わりますが、 代表的なパターンは次のとおりです。

危険な操作の例 止め方の考え方
ファイルの一括削除 削除系のコマンドが実行される前に必ず確認を挟む
外部サービスへのデータ送信 送信先が許可リストに無ければ実行させない
顧客情報が入ったファイルの読み込み パスワードや個人情報を含むファイル名・拡張子を検知したら止める
特定のシステムへの書き込み 本番環境など、間違えると取り返しがつかない対象への操作を禁止する

どの操作を「危険」とみなすかは、あらかじめ会社側でルールとして決める必要があります。 Claude Codeでは、設定ファイル(プロジェクトごと、または全プロジェクト共通の場所に置ける)に JSON形式でルールを書き、操作の前後どちらでチェックするかを指定して、 条件に一致した操作を止める、という形で設定します (出典: Claude Code公式ドキュメント https://code.claude.com/docs/en/hooks)。 重要なのは、機能の細部より「何を止めたいか」を先に社内で洗い出すことです。

導入で人の確認時間はどれだけ減るか(試算)

AIに業務を任せ始めたばかりの会社では、AIが行った操作をすべて人間が ログで確認する運用になりがちです。これは安全ではありますが、時間がかかります。

一般的な業務量から試算すると、次のようになります。

業務 いまの時間 hooks導入後
AIの操作ログを全件確認する 30分/日 5分/日(止まった操作だけ確認) 25分/日
月換算(20営業日) 10時間/月 約1.7時間/月 約8.3時間/月

試算の前提

  • 対象は、AIに定型業務(ファイル整理・下書き作成・データ集計等)を任せている担当者1名
  • 「いまの時間」は、AIが行った操作を1件ずつ目視で確認する運用を想定
  • 「hooks導入後」は、危険な操作だけが自動で止まり通知されるため、 それ以外の操作は確認不要になるという前提
  • 実際の削減時間は、AIに任せる業務の量とルールの精度によって変わります

この試算は業務量からの見積もりであり、特定の企業の実績ではありません。 自社の場合にどうなるかは、AIに任せている業務の種類と量によって変わります。

hooksを入れても解決しないこと

hooksは万能ではありません。次の点は誤解しやすいので明記します。

  • ルールに書いていない危険は止まりません。 hooksはあらかじめ決めたルールでしか動かないため、 想定していなかった種類のミスは素通りします
  • 判断が要る操作は人間に戻ってきます。 「本当にこのファイルを削除していいか」といった 最終判断は、hooksが自動で下すのではなく、人間に確認を求める形になります
  • ルール自体を作る作業は人間の仕事です。 何を止めるかの洗い出しと設定は、 導入時に一度、社内の業務を知る人が行う必要があります

つまりhooksは「AIを完全放置できるようにする仕組み」ではなく、 「人間の確認作業を、本当に必要な場面だけに絞り込む仕組み」です。

自社に導入する価値があるかの判断基準

次のいずれかに当てはまる会社は、検討する価値があります。

  • AIに定型業務を任せているが、操作の確認に毎日時間を取られている
  • 顧客データや取引先情報を扱う業務にAIを使う予定がある
  • 過去にAIやRPA(決まった手順を機械に繰り返させる仕組み)で誤操作が起きたことがある

逆に、AIをまだ試験的にしか使っていない、あるいは扱う業務に重要なデータが 含まれない場合は、優先度は高くありません。まずは危険度の低い業務から AI活用を始め、業務範囲が広がった段階でhooksのようなルール設定を検討する順序が現実的です。

導入までの進め方

  1. AIに任せている(または任せたい)業務を洗い出す — どのファイル・どのシステムに触れるかを一覧にする
  2. 「これだけは自動で起きてはいけないこと」を挙げる — 削除・送信・書き込みの3種類で考えると洗い出しやすい
  3. ルールとして設定する — 設定ファイルにJSON形式で条件と止め方を書く方法です。 具体的な書き方はClaude Code公式ドキュメント(https://code.claude.com/docs/en/hooks)に サンプルがあります
  4. 止まった操作の記録を定期的に見直す — 止まりすぎている場合はルールが厳しすぎる可能性があり、 止まるべき場面で止まっていない場合はルールの見直しが必要です

よくある質問

Q. hooksを設定すれば、AIに全部任せて放置してよくなりますか。 いいえ。hooksが止めるのは事前に決めたルールに該当する操作だけです。 ルールに無い種類のミスは止まらないため、定期的な確認は引き続き必要です。

Q. hooksの設定には、プログラムの知識が要りますか。 多少必要です。設定ファイルをJSON形式で書く知識と、条件に応じて止めるかどうかを 判定する簡単なスクリプトの知識が最低限要ります (出典: Claude Code公式ドキュメント https://code.claude.com/docs/en/hooks)。 既存のサンプルを流用すれば、ゼロから書く必要はありません。 ただし「何を止めたいか」を決める部分は業務を知っている人でなければ判断できず、 そこは技術知識より業務理解が要る作業です。

Q. 危険な操作を止めた後、実際にどう対応すればいいですか。 止まった操作の内容を確認し、問題なければ人間が実行を許可し、 問題があれば実行させずに終える、という運用が基本になります。 この確認作業自体は残るため、「確認がゼロになる」わけではない点に注意してください。

Q. すでにAIを使っているが、hooksを後から追加できますか。 できます。設定ファイルは全プロジェクト共通の場所とプロジェクトごとの場所に分けて置け、 これらは上書きではなく合算されるため、既存の運用に追加する形で導入できます (出典: Claude Code公式ドキュメント https://code.claude.com/docs/en/hooks)。

Q. 中小企業の場合、どの業務から始めるのが安全ですか。 顧客データや取引先情報を扱わない、社内向けの定型作業(資料整理など)から始め、 問題が起きないことを確認したうえで、外部送信やデータ処理を伴う業務に 範囲を広げる進め方が現実的です。

理解度チェック

読んだ内容の確認に3問だけ。押すと答えが開きます。

Q1. hooksは、AIが操作を実行する前に、あらかじめ決めたルールでその操作をチェックする仕組みである。

— 本文で説明したとおり、hooksはAIの操作の前後に割り込んで、決めたルールに沿っているか確認する仕組みです。

Q2. hooksを設定すれば、AIに任せた作業を人間が確認する必要は完全になくなる。

× — hooksが止めるのはルールに定義した危険な操作だけで、ルールに無いミスは止まりません。人間の確認はゼロにはなりません。

Q3. hooksでどの操作を「危険」とみなすかは、会社ごとに自由に設定できる。

— 本文で触れたとおり、止めるルールは自社の業務内容に合わせて決めるものです。