はじめに
こんにちは。ACS 事業部の田中です。
前回の記事 では GitHub Advanced Security(GHAS)の Code scanning に焦点を当てました。
今回は Secret Protection を有効化して、シークレット スキャンを実施してみます。
シークレット スキャンは、リポジトリ内のコミットを分析し、シークレット(API キー、パスワード、トークンなどの機密情報)を自動的に検出してくれる機能です。
ハードコーディングされたシークレット(=潜在的なセキュリティリスク)を発見し対処することで、より安全にアプリケーションを開発することができます。
Secret Protection を有効化する
※ リポジトリは 前回の記事 と同じものを利用しています。
リポジトリのメインページで [ Setting ] タブを開き、サイドバーの [ Security ] セクションで [ Advanced Security ] をクリックします。
[Secret Protection] の右側にある [ Enaled ] をクリックし、ダイアログの内容を確認して [ Enable Secret Protection ] を選択します。
Secret Protection を有効化すると、さらに各機能の有効化が可能になります。
今回はシークレット スキャンに関連する次の機能の [ Enable ] を選択しました。
- Validity checks:検出したシークレットがどのパートナー(サービスプロバイダ)が発行したものかを特定し、シークレットの状態(有効/無効か、権限範囲など)を照会する。
- Non-provider patterns:特定のパートナーのシークレットとして定義されていないパターンのシークレットを検出する。
- Scan for generic passwords:ハードコーディングされた、推測しやすくセキュリティ強度の低いパスワード("admin"、"1234"など)や認証情報を検出する。
シークレット スキャンのアラートを確認する
スキャンが完了したら、結果を確認してみましょう。
リポジトリのメインページで [ Security ] タブを開き、サイドバーで [ Secret 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 などのトレーニングなども行っておりますので、ご興味を持っていただけましたらぜひお声がけいただけますと幸いです。
一緒に働いていただける仲間も募集中です!
ご興味持っていただけましたらぜひお声がけください。