gh-security-scan: サプライチェーン攻撃を組織横断で調査する AI コーディングアシスタント用スキルを作った

重岡 正 ·  Tue, March 31, 2026

npm パッケージを狙ったサプライチェーン攻撃が増えています。2026 年 3 月だけでも、npm トップ 10 パッケージである axios のアカウント乗っ取りや、Trivy のリリースインフラ侵害が立て続けに発生しました。

こうしたインシデントが発生するたびに、自社の GitHub Organization 配下の全リポジトリに影響がないかを調査する必要があります。対象のパッケージがロックファイルに含まれていないか、GitHub Code Search API で検索し、結果を Issue にまとめる。これを組織横断で行うのは、手作業ではかなりの工数です。

この作業を AI コーディングアシスタントに委任するために、gh-security-scan スキルを作成しました。

gh-security-scan の概要

gh-security-scan は、GitHub Enterprise / Organization / Repository の 3 つのスコープに対応したセキュリティ調査スキルです。oh-my-skills リポジトリで公開しており、Claude CodeCodexGemini CLI の 3 つの AI コーディングアシスタントに対応しています。

スキルの主な機能は以下の通りです。

  • gh CLI を使った対象リポジトリの列挙(Enterprise / Organization / Repository スコープ)
  • GitHub Code Search API によるロックファイル、設定ファイル、ソースコードの検索
  • 調査結果の Issue 自動作成(メインの追跡 Issue とサブ Issue の階層構造)
  • 影響の有無を Repository / Status / Details のテーブル形式で報告
  • 調査完了後のサマリー更新と、影響なしの Issue 自動クローズ

なぜ AI コーディングアシスタントのスキルなのか

サプライチェーン攻撃が発生した際の調査フローは、パターンが決まっています。

  1. 影響を受けるパッケージとバージョンを特定する
  2. 組織内のリポジトリを列挙する
  3. 各リポジトリのロックファイルや設定ファイルを検索する
  4. 結果を Issue にまとめ、対応状況を追跡する

このフローは定型的ですが、組織の規模が大きくなるほど工数が膨らみます。一方で、AI コーディングアシスタントは gh CLI を通じて GitHub API を操作でき、検索結果の解釈や Issue の作成も得意です。

スキルとして定義することで、調査のたびにプロンプトを一から書く必要がなくなります。調査パターン(npm サプライチェーン攻撃、CVE ベースの脆弱性、クレデンシャル漏洩)ごとのリファレンスも含まれているため、AI が適切な検索クエリを構築できます。

対応プラットフォームとスキルの構成

3 つのプラットフォームそれぞれの規約に合わせてスキルを実装しています。

プラットフォームスキルの配置先呼び出し方
Claude Code.claude/commands/ + .claude/skills//gh-security-scan --org my-org "topic"
Codex.codex/skills/$gh-security-scan --org my-org "topic"
Gemini CLI.gemini/skills/自然言語で --org my-org フラグを指定

各スキルは以下の共通構成を持っています。

  • SKILL.md: スキルのメタデータとワークフロー定義
  • references/investigation_patterns.md: 調査パターンのリファレンスガイド

リファレンスガイドには、以下の 3 つの調査パターンが含まれています。

npm サプライチェーン攻撃

ロックファイル(package-lock.jsonyarn.lockpnpm-lock.yaml)から対象パッケージを検索し、影響のあるバージョンが含まれているかを確認します。GitHub Code Search API の検索例や、6 ステップの修復手順が記載されています。

CVE ベースの脆弱性

JavaScript、Python、Ruby、Java、Go、Rust、PHP の依存マニフェストファイル、コンテナイメージ、IaC 設定を横断的にチェックするためのチェックリストです。

クレデンシャル漏洩

AWS アクセスキー(AKIA)、GitHub トークン(ghp_)、Slack トークン、秘密鍵などの検索パターンと修復手順が含まれています。

使い方の例

axios のサプライチェーン攻撃を Organization 横断で調査する場合、以下のように実行します。

Claude Code の場合:

/gh-security-scan --org my-org "Investigate compromised npm package axios@1.14.1 and axios@0.30.4"

スキルは以下のフローを自動実行します。

  1. gh api で Organization 内のリポジトリを列挙
  2. Organization の .github リポジトリにメインの追跡 Issue を作成
  3. 各リポジトリに対して GitHub Code Search API でロックファイルを検索
  4. 結果をサブ Issue にテーブル形式で記録
  5. メインの追跡 Issue にサマリーを更新
  6. 影響がなかったサブ Issue を自動クローズ

Enterprise スコープで実行すれば、Enterprise 配下の全 Organization を横断して調査できます。

oh-my-skills について

gh-security-scan は oh-my-skills リポジトリで公開しています。oh-my-skills は、AI コーディングアシスタント向けのスキルコレクションです。gh-security-scan 以外にも、PDF テキスト抽出、テキストから Excel への変換、動画から議事録の作成といったスキルが含まれています。

MIT ライセンスで公開しています。

まとめ

サプライチェーン攻撃が発生したとき、組織横断の影響調査は避けて通れません。gh-security-scan スキルを使えば、AI コーディングアシスタントにこの調査を委任できます。調査パターンのリファレンスが組み込まれているため、プロンプトを一から構築する必要はありません。

axios の件に限らず、次のインシデントはいつ来てもおかしくありません。事前にスキルを導入しておくことで、インシデント発生時の初動を早められます。

以上、サプライチェーン攻撃の調査を AI に委任したい現場からお送りしました。