概要
Claude Codeがライブラリを勝手に追加・更新するのを防ぐため、事前に脆弱性やライセンスを調査させ、ユーザーの承認を必須にするBashベースのHookの仕組みを紹介しています。
詳細内容
Claude Codeを用いた開発において、AIが意図せずライブラリを追加することによるサプライチェーン攻撃のリスクを軽減するための実装ガイドです。
主な仕組みは、Claude Codeの`PreToolUse`フックを利用して、`npm`、`pip`、`brew`といったパッケージ管理コマンドの実行を監視することです。具体的には、コマンド実行前にAIに対して対象パッケージの「必要性・メンテナンス状況・ライセンス・脆弱性情報(OSV/GitHub Advisories等)」を調査し、Markdown形式のログに記録するよう促します。有効な調査記録がない場合は実行を拒否(deny)し、記録がある場合のみ人間へ承認(ask)を求め、調査結果のサマリをダイアログに表示します。
付録として提供されているBashスクリプトは、複雑なコマンドライン引数を解析するために`awk`による字句解析を行っており、`npx`による一時的なパッケージ実行も対象に含めています。これにより、AI駆動開発のスピードを維持しつつ、依存関係導入の安全性を高めるワークフローを構築できます。