はじめに
`npm audit` を実行すると数十件の脆弱性が検出されるが誰も対応しない。Dependabotのアラートが積み上がりPRが放置される。メジャーバージョンアップの破壊的変更が怖くて手が出せない——。
ライブラリ更新は後回しにされ続ける。担当者を決めないまま全員のToDoに残り、気づけば1年以上触れていないパッケージが増える。
Claude Codeは依存関係管理の監査・優先順位付け・更新実行・PR作成を一気通貫で自動化できる。ただし「AIが最新バージョンを推薦する」という動作がサプライチェーンリスクを内包しているという逆説的な注意点が存在する。本記事ではその両面を正直に伝える。
定期的な脆弱性監査を自動化する
Claude Codeのスケジューラー機能を使い、毎週月曜9時に自動チェックするパターンが実践されている。
# Schedulerに設定する内容
npm audit / pip audit / pnpm audit を実行して脆弱性の一覧を作成し、
Critical・High・Medium・Lowに分類して。
Criticalがある場合は即時Slack通知、Highは今週のスプリントに追加提案、
Mediumは月次バッチに分類してください。
分類基準はシンプルに設定する。
| 重要度 | 対応方針 |
|---|---|
| Critical | 即日対応・リリースブロック |
| High | 当週スプリントに追加 |
| Medium | 月次バッチで一括更新 |
| Low | 四半期レビューで判断 |
「誰かがやるはず」という状態が一番危ない。仕組みにしてしまえば、誰かが気にしなくても回り続ける。
Dependabot連携スキル:アドバイザリ分析から設定自動化まで
mcpmarket.comで提供されているDependabot Advisory Analyst Skillは、GitHub CLIを使ってDependabotのセキュリティアドバイザリを自動取得し、直接・間接依存関係の両方について「最も安全なupdate path」をbreaking changeのリスク評価付きで推薦する。
Dependabot Configurator Skillはリポジトリをスキャンしてnpm・pip・Docker・GitHub Actionsなどのパッケージマネージャーを自動検出し、devDependenciesとproduction dependenciesをグループ分けしてPRのノイズを減らす更新スケジュールを自動設定する。
fastmcp.meのDependency Upgrade Skillは複雑なアップデートのための多フェーズ戦略を提供し、breaking change解析→移行コードの提案→テスト実行→PR作成まで自動化する。
実践事例:モノレポの体系的なライブラリ更新
DevelopersIO(dev.classmethod.jp)では、Claude Code Skillsを使ってモノレポ環境のライブラリアップデートフローを体系化した実践が紹介されている。「14ラウンドの改善」を経て完成したというスキルで、実際の運用で直面した課題(バージョン競合・breaking change・テスト失敗パターン)が組み込まれている。
フローはこうなる。`pnpm audit`で脆弱性を検出し、重要度別に分類・優先順位付け。パッチバージョンから順にアップデートを試行し、テストを実行して回帰がないことを確認。問題があればロールバック、なければPR作成。
ClaudeWorld(claude-world.com)の実践レポートでは、20件のセキュリティ脆弱性をClaude Codeで一括修正した事例が紹介されている。`npm audit --json`でJSON形式のレポートを生成してClaude Codeに渡し、パッチバージョン→セマンティックバージョンアップ→major updateの順で段階的に実施している。
「AIが最新版を推薦する」危険性:2026年3月の連続事件
ここで重要な警告を伝えなければならない。Claude CodeなどのAI開発ツールがライブラリの最新バージョンを推薦する際、そのバージョンが侵害済みである可能性がある。
AIツールは「最新バージョンが推奨」と提案する傾向がある。攻撃者は正規パッケージの新バージョンとしてマルウェアを公開する。開発者がAIの提案を無検証で受け入れると、侵害済みバージョンをインストールしてしまう。
2026年3月末に独立した2件の事件が相次いだ。
事件1(2026年3月30日):axiosメンテナーアカウント乗っ取り
北朝鮮関連の脅威アクター「Sapphire Sleet」が週間8,300万ダウンロードのaxiosライブラリのメンテナーアカウントを乗っ取り、悪意あるバージョンを公開した。インストールするとリモートアクセストロイ(RAT)が展開される。Claude Codeとの直接的な因果関係はなく、AI開発者を含む幅広いJavaScript開発者を標的にした国家レベルの攻撃だ。
事件2(2026年3月31日):Claude Code npmソース漏洩 → パッケージスクワッティング
AnthropicのパッケージングエラーによりClaude Code(`@anthropic-ai/claude-code`)のソースコードがnpmレジストリに公開された。攻撃者が漏洩ソースの内部依存パッケージ名を模倣したnpmパッケージを即座に登録し、漏洩ソースを参照して自力ビルドを試みた開発者を標的にした。
必須の対策:
- `npm install`や`pip install`の前に必ず人間がバージョンを確認する
- `pip-audit`や`npm audit`をインストール後にも実行する
- CI/CDパイプラインに`npm audit --audit-level=high`を組み込み、highリスク以上でビルドを失敗させる
Claude Code自体のサプライチェーンセキュリティ:SHA Pinning
Claude Codeが使うプラグイン自体のセキュリティを強化するSHA Pinning機能がある。
// .claude/settings.json
{
"plugins": {
"dependency-manager@team": {
"version": "1.2.0",
"gitCommitSha": "a1b2c3d4e5f6...",
"isLocal": false
}
}
}
動作確認が取れた時点のSHAを`.claude/settings.json`に記述してGitにコミットし、更新時は担当者が検証環境でテストしてからPRを作成する。CI/CDでは必ずSHA固定を使い、外部変更によるビルド破壊を防止する。
また、Qiitaで公開されている`/audit-settings`スキルはClaude Codeの設定を39項目で自動監査する。不要なMCPサーバーが登録されていないか、`curl`/`wget`がdenyリストに含まれているか、`.env`/`~/.ssh/`/`~/.aws/`がdenyされているかなどを定期的にチェックする。
まとめ
動きやすい順番はこうだ。
ステップ1(1時間):`npm audit --json > audit.json`で脆弱性レポートを生成し、Claude Codeに「Critical/High/Medium/Lowに分類して、修正コストの概算とビジネスリスクをセットで一覧表にして」と依頼する。現状の可視化から始める。
ステップ2(2時間):DevelopersIOの事例を参考に、自チームのパッケージマネージャーに合わせたアップデートスキルを作成する。テスト実行→PR作成まで自動化する。
ステップ3(30分):Schedulerで毎週月曜朝の監査を自動化し、Criticalが検出された場合にSlack通知するスケジュールを設定する。エンジニアが意識しなくても脆弱性が可視化される状態を作る。
「AIが最新版を推薦しているから大丈夫」という感覚が一番危ない。インストール前に人間が確認するゲートだけは省かないようにしている。自動化はそれ以外の部分でやればいい。

コメント