はじめに
こんにちは。ACS 事業部の田中です。
前回の記事 では GitHub Advanced Security(GHAS)の価格やライセンスについて整理しました。
今回は GHAS の機能の1つである Code scanning に焦点を当て、その有効化と既定のセットアップについてご紹介します。
Code Scanning は、リポジトリ内のコードを分析し、潜在的なセキュリティ脆弱性やコーディングエラーを自動的に検出してくれる機能です。
早期に問題を発見し対処することで、より安全にアプリケーションを開発することができます。
テスト用リポジトリを用意する
まずは、テスト用のリポジトリを用意します。
本記事では Juice Shop をフォークして利用します。
このリポジトリは Web アプリケーションのセキュリティ向上を目的とした OWASP Foundation という非営利団体が公開しているものです。
意図的に脆弱性が盛り込まれており、安全な環境で Web アプリケーションの脆弱性について理解を深めるためのツールとして提供されています。
フォークが完了したら、GitHub Actions の有効化を行います。
GHAS のセキュリティ機能は、自動化と開発ワークフローへの統合のために GitHub Actions を利用するため、あらかじめ有効化しておく必要があります。
リポジトリのメインページで [Actions] タブを開き、[I understand my workflows, go ahead and enable them] ボタンをクリックします。
「Actions Enabled.」と通知が表示され、以下のようなページが表示されれば Actions の有効化は完了です。
既定のセットアップによるコードスキャンを実施する
いよいよ本題である Code scanning の有効化と既定のセットアップによるコードスキャンを実施します。
既定のセットアップによるスキャンを実施した後にスキャンの内容をカスタマイズしてスキャンし直すこともできるため、まずは既定のセットアップでスキャンを実施してみることをオススメします。
リポジトリのメインページで [Setting] タブを開き、サイドバーの [Security] セクションで [Advanced Security] をクリックします。
[Code scanning] で [CodeQL analysis] の右側にある [Set up] をクリックし、[Default] を選択します。
[CodeQL default configuration] ダイアログに、既定のセットアップで自動的に作成されたスキャンの内容が表示されます。
スキャンの内容を確認して、 [Enabled CodeQL] をクリックします。
これでコードスキャンのワークフローがトリガーされます。
Code scanning のアラートを確認する
コードスキャンが完了したら、結果を確認してみましょう。
リポジトリのメインページで [ Security ] タブを開き、サイドバーで [Code scanning] をクリックすることで Code scanning のアラートの一覧が表示されます。
アラートの一覧は使用言語や重要度などでフィルター・ソートをかけることも可能です。
一覧からアラートをクリックすると、アラートの詳細ページを表示することができます。
アラートの詳細ページでは、問題があったコードとアラートのプロパティ(重大度や影響を受けるブランチなど)を確認できます。
おわりに
本記事ではCode Scanning の有効化と既定のセットアップによるコードスキャンの実施手順についてまとめました。
各アラートの対応については、別途記事を公開する予定です。
本記事と併せて参考にしていただければ幸いです。
ACS 事業部のご紹介
私の所属する ACS 事業部では、開発者ポータル Backstage、Azure AI Service などを活用し、Platform Engineering + AI の推進・内製化を支援しています。
www.ap-com.co.jp www.ap-com.co.jp www.ap-com.co.jp
また、GitHub パートナーとしてお客様に GitHub ソリューションの導入支援を行っています。
GitHub Copilot などのトレーニングなども行っておりますので、ご興味を持っていただけましたらぜひお声がけいただけますと幸いです。
一緒に働いていただける仲間も募集中です!
ご興味持っていただけましたらぜひお声がけください。