gh-security-scan: サプライチェーン攻撃を組織横断で調査する AI コーディングアシスタント用スキルを作った
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 Code、Codex、Gemini CLI の 3 つの AI コーディングアシスタントに対応しています。
スキルの主な機能は以下の通りです。
ghCLI を使った対象リポジトリの列挙(Enterprise / Organization / Repository スコープ)- GitHub Code Search API によるロックファイル、設定ファイル、ソースコードの検索
- 調査結果の Issue 自動作成(メインの追跡 Issue とサブ Issue の階層構造)
- 影響の有無を Repository / Status / Details のテーブル形式で報告
- 調査完了後のサマリー更新と、影響なしの Issue 自動クローズ
なぜ AI コーディングアシスタントのスキルなのか
サプライチェーン攻撃が発生した際の調査フローは、パターンが決まっています。
- 影響を受けるパッケージとバージョンを特定する
- 組織内のリポジトリを列挙する
- 各リポジトリのロックファイルや設定ファイルを検索する
- 結果を 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.json、yarn.lock、pnpm-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"スキルは以下のフローを自動実行します。
gh apiで Organization 内のリポジトリを列挙- Organization の
.githubリポジトリにメインの追跡 Issue を作成 - 各リポジトリに対して GitHub Code Search API でロックファイルを検索
- 結果をサブ Issue にテーブル形式で記録
- メインの追跡 Issue にサマリーを更新
- 影響がなかったサブ 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 に委任したい現場からお送りしました。