
何が起きたか
開発者がClaude Code 2.1.302で試すと、denyルールは危険なコマンド11件中9件を阻止したが、/bin/rm secrets/fake.p8とpython3 -cのワンライナーは偽の鍵を削除できた。
なぜ重要か
この穴により、denyルールがあっても/bin/rmがsecrets/fake.p8を削除できてしまい、フックが無害なrm .env.exampleを止めずにこれを塞いだ。
こういう要約が、毎朝あなたのメールに届きます。
このテストは実用的なトレードオフから生まれた。何十件もの確認プロンプトをクリックするのを避けるため、開発者はBashコマンドを確認なしで実行する設定にしたが、これによりコマンドが鍵ファイルに触れる前の人間のチェックが失われた。リポジトリには失うと痛いファイルが2種類あった。鍵やパスワードを含む.envと、secrets/内の.p8や.pemなどの鍵ファイルだ。例えばApp Store Connectの.p8鍵は一度しかダウンロードできないため、削除すると鍵を作り直し、使用するすべての場所で差し替える必要がある。
denyルールはBash(rm *secrets*)やRead(./secrets/**)のようなテキストパターンとして書かれていた。ルールは&&や;、timeoutなどのラッパーを読み飛ばすため、cd secrets && rm fake.p8やtimeout 5 rm .envを含むほとんどの変種を阻止した。しかし/bin/rmはrmという文字列で始まらず、python3 -cは削除処理を引用符内のコードに隠すため、どちらもすり抜けた。フックはチェックをコマンド文字列から宛先パスに移すため、/bin/rmを捕捉できた。同じテキスト照合の設計は過剰な阻止も招いた。rm .env.exampleやls secretsは無害なのに止められ、開発者はこれを受け入れて手動で実行することを選んだ。
2層を組み合わせてもpython3 -cは阻止できず、開発者は111行のフックに残るさらなる穴として、sudo -u root rm .env、find . -name '*.p8' -delete、.envをcurlにパイプする方法、大文字のrm .ENVを挙げている。次に推奨されるのはサンドボックス化で、コマンドが触れられるファイルをOSレベルで制限するため、鍵を削除するスクリプトはパターン照合ではなくそこで止まる。
業界と使っているAIツールを選ぶと、仕事に関係するニュースが毎朝届きます。
登録無料・Googleアカウントなら30秒・いつでも解除できますAITodayについて →
この記事についてわからないことをAIに質問できます。AIはこの記事・AIToday の過去記事・Wikipedia を読み、出典を付けて答えます。Q&Aはこのページに公開され、他の読者も読めます。
DeepseekがDeepseek-V4.1-Flash-1017をウェブ・アプリ・APIで提供開始し、重みをHugging FaceとModelScopeでオープンソース公開した

Nutrafol創業者でAI投資家のGiorgos Tsetis氏は、危険と知りつつ出荷し安全チームへの資金を怠った場合、AI企業経営者が個人責任を負うべきだと主張した

開発者は9月26日土曜日、ALPHA FORGEの判定モデルをOpus 5.5に切り替えたところ、強制ツール使用仕様を受け付けずHTTP 400が返った

100回の質問でclaude -p 2.1.295は捏造せずnullを返したが、「nullや空欄を使うな」と指示した10回中7回で欠けた2つのキーごとJSONから消えた

Claude Code上で動くAIが自らの構成を説明

筆者のClaude Code用CLAUDE.mdは2026年8月14日の4,653文字から9月18日には50,702文字に増え、警告マークは1個から203個になった
