【備忘録】GitHub ActionsでComposerのセキュリティチェックを自動化する
Contents
WordPress の自作プラグイン開発において、依存パッケージの脆弱性チェックを継続的に行いたかったので、GitHub Actions を使って自動化しました。
今回は、その設定ファイル(.yml
)の内容と使い方を備忘録としてまとめます。
✅ やりたいこと
- プラグインの依存ライブラリ(Composer)のセキュリティチェックを自動化
- GitHub の Actions タブから手動実行できるように設定
- ローカルで
composer audit
するのと同じチェックを CI 環境で行う
✅ GitHub Actions の設定手順
① .github/workflows/security-check.yml
を作成
リポジトリのルートにある .github/workflows/
フォルダの中に、以下のようなYAMLファイルを作成します。
📁 ファイル名:security-check.yml
📂 フォルダ:.github/workflows/
name: Security Check
on:
workflow_dispatch: # 手動で実行できるようにする
jobs:
security:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install PHP and Composer
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
tools: composer:v2
- name: Run Composer install
run: composer install --working-dir=like-button-plugin
- name: Run Composer audit
run: composer audit --working-dir=like-button-plugin
✅ ポイント解説
セクション | 内容 |
---|---|
name: | GitHub Actions の「表示名」。自由に決めてOK。 |
on: workflow_dispatch | 「手動で実行できる」ようにするトリガー設定。 |
composer install | 指定ディレクトリ(ここでは like-button-plugin )で依存をインストール |
composer audit | セキュリティチェックを実行(脆弱性があるパッケージを検出) |
✅ 実行方法(GitHub上で)
- リポジトリの 「Actions」 タブをクリック
- 左側の「Security Check(←上で指定したname)」を選択
- 右上の「Run workflow」ボタンを押すと実行されます
- 結果はそのままGitHub上で確認できます ✅
✅ 補足:composer audit
とは?
composer audit
は、Composer が提供するセキュリティ監査コマンド。composer.lock
に記録されたパッケージのバージョンをもとに、FriendsOfPHP/security-advisories に照らして、既知の脆弱性があるかどうかをチェックします。
✅ まとめ
- 自作プラグインのセキュリティチェックも 自動化できる時代
- GitHub Actions を使えば、環境構築せずとも常に最新チェックが可能
- 本番前に確認するステップとしてもおすすめ!
もし「定期的に自動実行(毎日・毎週)」したい場合は、on:
を schedule:
に変更することで可能です。それについても今後追記するかも。
何かの参考になればうれしいです!
ご質問があればコメントでどうぞ 😊
0