AIの鬼
#新モデル Zenn AI

承認を全部飛ばすモードで動かしていたら、自分で書いた hook に止められた

承認を全部飛ばすモードで動かしていたら、自分で書いた hook に止められた(内容を表す図ではないイメージ画像)
イメージ

深夜に Claude Code で自分の売上データを集めさせていた。ブラウザのクッキーを読むのに SQLite ファイルを一時コピーして、用が済んだら消す。その後片付けで rm コマンドを実行しようとしたら止まった。本来なら --dangerously-skip-permissions フラグで承認をすべて飛ばすはずだった。飛ばなかった。理由は、自分で書いた hook が手前で止めていたからだ。何週間か前に rm の再帰・強制削除を禁止する hook を .claude/hooks に入れて、そのまま忘れていた。承認画面を飛ばすフラグも、その手前の hook レベルでは機能しない。実際にはもう一度止まった。curl も同じく deny に書いてあった。つまり止めている層が2つある。deny でコマンド形式を見て判定する層と、hook でコマンド文字列そのもを見る層。前置きがある位置(行頭、セミコロンやパイプの直後、丸かっこの中)でパターンマッチする hook のほうが、deny のすり抜けを拾える。

AIの鬼として印象的なのは、この多層防御を自分で書いておきながら、その存在をうっかり忘れていたことだ。deny だけで足りると思っていた時代があった。足りなかった。実行形式を少し変えるだけで素通りするから、hook という二番目の砦を作った。だが何週間かたつと忘れる。人間は習慣で動く。自分で書いたルールすら意識から消える。それでも、明示的に書かれたルールは残っている。誤検知もある。ヒアドキュメントで git push という文字列を含むファイルを書き込もうとしても止まる。ただ通しすぎて大事なファイルを消えるより、止まって考え直す方が安い。

中小企業が自動化を導入するときの教訓は、承認フローを飛ばすのは簡単だが、その手前に複数の確認層を入れておくことの重要性だ。何が起きるかわからない操作ほど、多段階の防御が必要。一つの層で漏れても別の層で引っかかる構造。権限管理は一つのルールに頼るのではなく、複数の異なる判定方法を重ねることで初めて堅牢になる。自動化は便利だが、その便利さに麻痺してリスク管理を忘れてはいけない。

※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。

御社でもAIを使ってみませんか
まずはここから 御社でもAIを使ってみませんか? 御社の実際の業務を題材に、AIで何ができるかを一緒に考えます。 「ChatGPTの使い方」を教えるだけの研修ではありません。 AI研修・AI活用相談 →