GitHub Advanced Security(GHAS)は、GitHub上のリポジトリに組み込むセキュリティ機能群です。価格は2025年4月1日から2製品の別売りになりました。シークレット漏えい対策のGitHub Secret Protectionが月19ドル、コードの脆弱性対策のGitHub Code Securityが月30ドルで、どちらも「1アクティブコミッターあたり」の金額です。両方そろえると月49ドルになります。
請求額を決めるのは組織の総人数ではなく、有効化したリポジトリに直近90日でコミットがプッシュされた課金対象者の数です。本記事では、GitHubの料金ページと公式ドキュメント(2026年10月16日に確認)をもとに、GHASが何を守る製品なのか、課金対象の数え方、無料で使える範囲、人数別の月額、見落としやすい追加費用、導入後にアラートを集計する手順までを整理します。2026年10月15日にGAとなったAI Scanとエージェント型Autofixの課金と、Teamで始められるようになった30日試用も反映しています。
まとめ:GitHub Advanced Securityの機能・価格と課金の要点
- 中身:シークレットスキャンとプッシュ保護(Secret Protection)、CodeQLによるコードスキャンとCopilot Autofix(Code Security)の2製品です。依存関係の脆弱性を知らせるDependabotアラートは全プランに含まれます。
- 価格:Secret Protectionが月19ドル、Code Securityが月30ドル(1アクティブコミッターあたり・USD)。片方だけの購入もできます。
- 購入条件:GitHub TeamかEnterpriseの組織が必要です。公式価格ページの表示はTeamが月4ドル/ユーザー、Enterpriseが月21ドル/ユーザーからで、最初の12か月という注記があります。個人のFree・Proでは買えません。
- 課金対象:有効化したリポジトリに直近90日でコミットがプッシュされた人。複数リポジトリにまたがっても1人1ライセンスで、GitHub Appのボットは数えません。
- 無料範囲:パブリックリポジトリなら、コードスキャン・シークレットスキャン・プッシュ保護・Copilot Autofixが無料です。非公開リポジトリで使う分が有料になります。
- 追加費用:非公開リポジトリのCodeQLスキャンはGitHub Actionsの分数を消費します。2026年10月15日にGAとなったAI Scanとエージェント型Autofixは、Copilotライセンスなしで使える代わりに「Code Security AI Credits」(1クレジット0.01ドル)を消費します。公開リポジトリでも消費する点に注意してください。
- 試す方法:Team・Enterpriseの組織は、漏えいシークレットとコード脆弱性の無料リスク評価を実行できます。30日の無料試用は、Enterprise Cloudに加えてTeamの組織もオーナーが自分で始められます。
以下、GHASの位置づけ、2製品の中身と価格、課金の数え方、試算、判断基準、導入後の運用の順に説明します。
GitHub Advanced Securityの開発工程での漏えい・脆弱性対策
GHASは、開発の流れの中で漏えいと脆弱性を止めるために、外部のスキャナーを別に立てる代わりに、GitHubのプッシュとプルリクエストの流れへ検査を差し込む製品です。GitHubの公式ドキュメントは、GHASをSecret ProtectionとCode Securityの2製品で構成されるものとして説明しています。守る対象は大きく3つに分かれます。
| 守る対象 | 検査のタイミング | 担う機能 |
|---|---|---|
| APIキーなどの秘密情報 | プッシュ時・履歴全体 | シークレットスキャン |
| 自社コードの脆弱性 | プッシュ・PR・定期実行 | コードスキャン(CodeQL) |
| 依存パッケージの脆弱性 | PR時・依存更新時 | 依存関係レビュー |
検出結果は、同じリポジトリの「Security」タブとプルリクエストの画面に出ます。開発者は普段のレビュー画面のまま指摘を受け取り、修正案もその場で確認できるわけです。開発工程に検査を組み込む防御の全体像はソフトウェアサプライチェーンセキュリティとは?開発工程に組み込む防御と2026年規制対応の実装判断で整理しており、GHASはその考え方をGitHub上で実装する手段の1つにあたります。
秘密情報の漏えいと依存パッケージの汚染は、どちらもソフトウェアサプライチェーン攻撃の入口になりやすい箇所です。攻撃の類型と対策の優先順位はサプライチェーン攻撃とは?起点別3類型と最新事例・対策の優先順位で扱っています。GHASが直接止められるのは、このうちリポジトリ内で起きる漏えいと、既知の脆弱性を持つ依存の取り込みです。ビルド環境や配布経路の改ざんは別の対策が必要になります。
Secret ProtectionとCode Securityの価格・機能の公式比較
2025年3月4日のGitHub changelogで、GHASは「2025年4月1日から2つの単体製品として提供する」と発表されました。同時に、それまでEnterprise専用だったGHASがGitHub Teamプランでも買えるようになっています。現在の価格はGitHubのセキュリティ製品の料金ページに掲載されています。
| 製品 | 月額(1アクティブコミッター) | 主な機能 |
|---|---|---|
| GitHub Secret Protection | 19ドル | シークレットスキャン、プッシュ保護 |
| GitHub Code Security | 30ドル | CodeQL、Copilot Autofix |
| 両方 | 49ドル | 上記すべて |
日本語のGitHubの料金ページ(github.co.jp)のよくある質問には、2026年10月16日時点でも「GitHub Advanced Securityは、GitHub Enterpriseの有料オプションとしてのみ利用できます」という分割前の記述が残っています。英語版の課金ドキュメントと製品ページはTeamでの購入を前提に書かれているので、Teamの組織で購入を検討しているなら英語版を正として読んでください。
Enterprise Cloud・Enterprise Serverの既存契約には、分割前の「GitHub Advanced Security」ライセンス(両製品の全機能を含む)が残っている場合があります。営業担当経由の既存契約は、2025年4月1日より後の更新時から新しい2製品へ移行できます。
GitHub Secret Protectionに含まれる機能と監視範囲の広がり
「github secret scanning 料金」で調べている場合、非公開リポジトリで必要になるのはこちらの製品です。シークレットスキャンの公式ドキュメントの機能表では、パブリックリポジトリでも無料で使えるのはシークレットスキャンとプッシュ保護の2つで、次の機能はSecret Protectionの購入が前提です。
- AIによる非定型シークレット(パスワードなど)の検出
- カスタムパターン(社内独自のトークン形式を登録して検出)
- 検出したシークレットがまだ有効かを確かめる有効性チェック
- プッシュ保護の委任バイパス、アラート却下の委任(承認フロー)
- セキュリティキャンペーン、セキュリティ概要(組織全体のリスク分布)
スキャン対象はコードに限りません。Secret Protectionを有効にすると、プルリクエスト・Issue・Wiki・Discussionsの本文も監視対象になります。2026年には追加料金なしの機能が2つ増えました(いずれもpublic preview)。7月1日にEnterprise向けの公開監視(GitHub上の公開コンテンツ全体から自社に属するシークレットを検出)、9月9日にシークレットを含むプルリクエストのマージをルールセットで止める機能です。
AIによる検出の課金は、2026年10月7日のシークレット検出専用モデルの告知で線が引かれました。既存のAI検出アラートは引き続きSecret Protectionの料金内で、追加料金はかかりません。プッシュ保護でAI検出を使う新しいオプトインの検査(private preview)は、AIクレジットを消費する予定です。
GitHub Code SecurityのCodeQL・Autofix・依存関係レビュー
Code Securityの中核は、CodeQLによるGitHub Code Scanningです。CodeQLの対応言語一覧に載っているのはC/C++、C#、Go、Java/Kotlin、JavaScript/TypeScript、Python、Ruby、Rust、Swift、GitHub Actionsのワークフローで、PHPは含まれません。ほかに、CodeQL CLI、アラートの修正案を生成するCopilot Autofix、依存関係レビュー、Dependabotの自動トリアージルール、セキュリティキャンペーン、セキュリティ概要が付きます。
Dependabotアラートと依存関係グラフは全プランに含まれるため、Code Securityを買わなくても使えます。Code Securityで増えるのは、アラートを条件で自動的に却下・保留するルールと、プルリクエスト時点で脆弱な依存を止める依存関係レビューです。Dependabot自体の設定はDependabotの解説にまとめています。
名前の近いGitHub Code QualityはCode Securityに含まれません。Code Qualityの課金ドキュメントは「独自のライセンスを持つ単体製品で、GHASほか他製品のライセンスを消費しない」と書いており、課金単位は同じアクティブコミッターでも請求は別に立ちます。保守性や信頼性の指摘はCode Quality、脆弱性の検出はCode Securityという分担です。
課金対象「アクティブコミッター」の数え方と90日ルールの具体例
GHASの課金ドキュメントによると、ライセンスを消費するのは、GHASの機能を有効にしたリポジトリのうち少なくとも1つに、直近90日以内にコミットがプッシュされた人です。いつ書かれたコミットかは問わず、プッシュされた日で判定します。
- 組織のメンバー、Enterprise Managed User、外部コラボレーター、招待中のユーザーが対象です。メンバーでも外部コラボレーターでもない人(フォークからプルリクエストを送るOSS貢献者など)は数えません。
- 複数のリポジトリや組織にコミットしても、組織またはEnterprise全体で1人1ライセンスです。
- GitHub Appのボットは除外されます。自動化のために作った通常のユーザーアカウントは、除外対象として書かれていません。
- GitHub Enterprise Importerで移行したリポジトリは、移行前の履歴を数えず、移行後のプッシュから数えます。
公式ドキュメントの例では、4月15日にリポジトリXで両製品を有効にすると、過去90日のコミッター50人に課金が始まります。5月1日に開発者Aがチームを移ってXへのコミットをやめても、Aは90日間数えられ続け、8月1日に49人へ減ります。
無効化にも時差があります。8月16日にXの機能を無効にしても、その月の請求サイクルの終わりまではXの分が課金され、減るのは次のサイクルからです。「今月だけ止めて節約する」という運用は効きません。
従量課金とボリュームライセンスの2通りの支払い方式とプラン別の選択条件
支払い方は2通りあり、プランと環境で選べる方式が決まります。
| 方式 | 対象 | 上限 | 超えたとき |
|---|---|---|---|
| 従量課金(metered) | Team、Enterprise Cloud等 | なし | 使った人数分を月末に請求 |
| ボリューム(年間契約) | Enterpriseのみ | 購入数 | 追加購入が必要 |
従量課金を選べるのは、Team、Enterprise Cloud、GitHub Connectで接続したEnterprise Server 3.13以降です。単独で運用するEnterprise Serverは、常にボリューム契約になります。
従量課金では、有効化の操作をするたびに「請求がいくら増えるか」の見積もりが画面に出ます。予算(budget)に「上限到達で利用を制限」を設定した場合も、止まるのは新しいリポジトリでの有効化だけです。有効化済みのリポジトリに新しいコミッターが加われば、予算を超えて請求されます。残りの予算より多いコミッターを抱えるリポジトリを有効化した場合も、有効化は成功し、超えた分が請求されます。
ボリューム契約で購入数を超えると、既存のリポジトリでは機能が動き続けますが、追加のリポジトリでは有効化できなくなります。自動有効化を設定した組織でも、新規リポジトリは機能が無効の状態で作られます。
Enterprise Serverの製品構成やCloudとの違いはGitHub Enterprise Serverの解説を参照してください。
GitHub Advanced Securityの無料範囲と全プラン共通の機能
GitHub.com上のパブリックリポジトリでは、GHASの一部機能が無料です。課金ドキュメントは「すべてのパブリックリポジトリでコードスキャン、シークレットスキャン、依存関係レビューを利用できる」と書いています。
| 機能 | パブリック(未購入) | 非公開(未購入) | 非公開で必要な製品 |
|---|---|---|---|
| シークレットスキャン | 無料 | 不可 | Secret Protection |
| プッシュ保護 | 無料 | 不可 | Secret Protection |
| AI検出・カスタムパターン | 不可 | 不可 | Secret Protection |
| コードスキャン(CodeQL) | 無料 | 不可 | Code Security |
| Copilot Autofix | 無料 | 不可 | Code Security |
| AI Scan(PRのみ) | 可・クレジット課金 | 不可 | Code Security |
| Dependabotアラート | 無料 | 無料 | 不要(全プラン) |
パブリックリポジトリを非公開に切り替えると、GHASを購入していない限りその時点で機能が無効になります。OSSとして公開しているリポジトリにライセンスを割り当てる必要はないので、購入人数の見積もりは非公開・内部リポジトリのコミッターだけで出してください。ただし、AI Scanとエージェント型Autofixは公開リポジトリでもAIクレジットを消費し、組織の請求先に計上されます(後述)。
一方、Enterprise Serverと、データ所在地を指定するGHE.com上のリポジトリは、公開・非公開を問わず全リポジトリが有料です。
人数別の月額試算とActions分数・AIクレジットの見落としやすい追加費用
アクティブコミッター10人・50人・200人のライセンス費用試算
非公開リポジトリのアクティブコミッター数ごとに、GHASのライセンス費用だけを計算すると次のとおりです(USD・月額)。
| アクティブコミッター | Secret Protectionのみ | Code Securityのみ | 両方 |
|---|---|---|---|
| 10人 | 190ドル | 300ドル | 490ドル |
| 50人 | 950ドル | 1,500ドル | 2,450ドル |
| 200人 | 3,800ドル | 6,000ドル | 9,800ドル |
このほかにプラン料金がかかります。GitHubの料金ページにあるTeamの月4ドル/ユーザーが適用される10人の組織で、全員が両製品の課金対象なら、Teamのシート40ドルとGHAS 490ドルで月530ドルです。GHASの課金対象はコミッターだけなので、レビューや閲覧しかしないメンバーはプランのシート代だけで済みます。
請求はドル建てです。仮に1ドル150円で換算すると、両製品で1人あたり月7,350円、10人で月73,500円になります。為替で変わるので、稟議にはドル額と換算レートを並べて書いてください。
GitHub Actionsの分数とAIクレジットが別に請求される条件
非公開リポジトリでCodeQLスキャンをGitHubホストランナー上で実行すると、Actionsの分数を消費します。セルフホストランナーや外部CIで実行する構成もあります。月の無料枠はTeamが3,000分、Enterprise Cloudが50,000分です。1回10分のスキャンがプッシュとプルリクエストで月300回走ると、Teamの無料枠をこれだけで使い切ります。超過分はLinux 2コアのx64ランナーで1分0.006ドルです。なお、2026年10月1日のchangelogで、既定の設定の週次スキャンはプッシュかプルリクエストで解析が走ったリポジトリだけで始まるように変わりました。多数のリポジトリへ一括で有効化しても、開発の止まったリポジトリで週次スキャンの分数が積み上がりにくくなっています。分単価と枠の詳細はGitHub Actionsの料金で解説しています。
AI関連は、機能によって課金の有無が分かれます。2026年10月15日のGitHub changelogでAI ScanのGAとエージェント型AutofixのGAが告知され、どちらもCopilotライセンスが要らなくなりました。
| 機能 | Copilotライセンス | AIクレジット | Actions分 |
|---|---|---|---|
| Copilot Autofix(通常版) | 不要 | 消費しない | 消費しない |
| AI Scan(GA) | 不要 | 消費する | 記載なし |
| エージェント型Autofix(GA) | 不要 | 消費する | 消費する |
GHASの課金ドキュメントによると、AI Scanとエージェント型Autofixは「Code Security AI Credits」というSKUで計上されます。読み違えやすい点は3つあります。
- 公開リポジトリでも消費する:ライセンスが要らない公開リポジトリでもクレジットは消費し、組織(またはその上のEnterprise)の請求先に計上されます。
- Copilotの含まれる分から先に引く:請求先がCopilotの契約で毎月のAIクレジットを持っていれば、そこから先に消費し、尽きた分が従量課金になります。Copilotの課金ドキュメントでは、含まれる量はBusinessが1ユーザー月1,900、Enterpriseが3,900で、請求先単位でまとめてプールされます。換算は1クレジット0.01ドル(10ドルで1,000クレジット)です。
- 有効化した瞬間から消費が始まりうる:組織でAI Scanを有効にすると、対象の全リポジトリで即座に有効になり、リポジトリ管理者が個別にオフにする前のプルリクエストでも消費します。Enterpriseのポリシーは既定で「Not allowed」です。
このため、広く有効化する前に、請求管理者がCode Security AI CreditsのSKU単位の予算を設定しておくのが安全です。上限付きの予算を使い切ると、AI Scanは次の請求サイクルか予算の引き上げまで結果を出さなくなります。
AI Scanは、PHP、Shell/Bash、Terraform(HCL)、Dockerfile、JavaのJSP、C#のBlazorなどCodeQLが対象外の言語を、プルリクエストに限ってAIで検査する機能です。指摘は助言扱いで、コードスキャンのチェックを失敗させず、ルールセットでマージを止めることもできません。また、フォーク由来のPRとDependabotが作成したPRではAI Scanは実行されません。リポジトリ全体のスキャンはしません。
エージェント型Autofixは、アラートをCopilotに割り当てると、コードベースを調べて修正し、CodeQLを再実行して直ったことを確かめてから下書きのプルリクエストを開きます。1回に最大25件のアラートをまとめられ、対象はデフォルトブランチのアラートだけです。Enterprise配下の組織では、Enterpriseのポリシーで許可したうえで組織が有効化します。public preview期間に使っていた組織は、GA後にもう一度有効化が必要です。
Secret ProtectionとCode Securityの購入判断基準
予算が限られるなら、先に入れるのはSecret Protectionです。月19ドルと安く、漏えいしたキーは悪用されるまでの時間が短いからです。プッシュ保護はシークレットを含むコミットをGitHubへ保存される前に止めるので、事故の件数そのものを減らせます。
Code Securityを買うかどうかは、主要な言語がCodeQLの対象に入っているかで決まります。Java・TypeScript・Pythonが中心なら、CodeQLとCopilot Autofixの両方が効く構成です。PHP中心ならCodeQLが動かず、外部ツールの結果を取り込むかAI Scanに頼ることになります。AI ScanはGAでCopilotライセンスが不要になったものの、検査はプルリクエストの差分だけで、既存コードのアラート一覧は作られず、マージも止められません。既存コードの棚卸しまで含めて考えると、30ドルの価値は大きく下がります。この場合は、Snykのような言語対応の広い外部ツールや、SASTツールの比較から始めるほうが合理的です。
リポジトリ基盤そのものをまだ選んでいない段階なら、セキュリティ機能の提供形態も比較の軸になります。GitHubとGitLabのどちらにするかはGitHubとGitLabの違い|ActionsとGitLab CIの対応表・料金・セルフホスト比較で整理しました。
買わないほうがよいのは、次の2つの場合です。
- 対象がパブリックリポジトリだけの場合。主要機能は無料で動きます。
- シークレット検出だけが目的で、プッシュ前にローカルで止められれば足りる場合。gitleaksのようなOSSをpre-commitやCIに入れる方法があります。ただし、gitleaks単体には組織全体を一括監視する管理機能やIssue本文の監視、AI検出はありません。個々のリポジトリのGit履歴はスキャンできます。gitleaksのREADMEは「機能は完成済みで、今後のリリースはセキュリティパッチのみ」とし、作者はBetterleaksへ開発の軸を移しています。新規に入れるなら、この保守方針も前提に選んでください。
避けたい導入手順は、課金対象人数を確認せずに組織全体へ自動有効化を適用することです。コミッターが多いリポジトリを1つ有効にしただけで請求人数が大きく動くので、先に対象リポジトリを絞り、有効化画面の見積もりで人数を確かめてから広げてください。
対象リポジトリの絞り込みやCodeQLのワークフロー設計、既存のCIへの検査の組み込みを社内だけで進めにくい場合は、一創のDevOps・CI/CD導入支援でご相談を承っています。GitHub Actionsを含むパイプラインの構成から一緒に見直せます。
購入前に無料で効果を測る:リスク評価と30日トライアルの利用条件
無料のセキュリティリスク評価による漏えい件数・脆弱性数の購入前の確認
Team・Enterpriseの組織は、購入前に2種類のリスク評価を無料で実行できます。実行できるのは組織オーナーとセキュリティマネージャーです。仕組みはGitHubのシークレットセキュリティの解説にまとまっています。
- シークレットリスク評価:組織のリポジトリにハードコードされたAPIキーやトークンを数え、そのうちプッシュ保護があれば防げた件数を示します。
- コードセキュリティリスク評価:直近90日のコミットが多い非公開・内部リポジトリから最大20本を選んでスキャンし、Copilot Autofixで直せる脆弱性の数を示します。選ぶリポジトリは実行前に変えられ、1本あたり1時間で打ち切られます。スキャン中のActions分も無料です。
どちらも90日ごとに再実行できます。「防げた漏えいが何件あったか」は、Secret Protectionの稟議にそのまま使える数字です。
TeamとEnterprise Cloudの30日トライアルを使える条件と課金が続く費用
GHASの30日試用は、試用の公式ドキュメントに、TeamとEnterprise Cloudで別々の条件が書かれています。Team組織のセルフサーブ試用は、2026年9月30日のchangelogで始まりました。
| 条件 | Team | Enterprise Cloud |
|---|---|---|
| 始められる人 | 組織のオーナー | Enterpriseのオーナー |
| 席数の上限 | 記載なし | 300席以下 |
| 支払い方法 | 開始の可否に影響なし | カードかPayPal |
| 過去の契約 | 有償ライセンス・従量課金なし | 購入歴・従量課金なし |
| 過去の試用 | 1回まで・終了から180日 | 1回まで・終了から180日 |
Teamでは、組織の設定の「Billing & Licensing」から「Licensing」を開き、GitHub Advanced Securityの横の「Try free for 30 days」から始めます。changelogによると、組織のOverviewページやリスク評価の完了画面からも開始できます。試用画面からそのまま購入できるのは、支払い方法がカード・PayPal・Azureの組織だけです。購入しないまま30日が過ぎると試用は自動で終わり、非公開リポジトリのCode SecurityとSecret Protectionの機能は無効になります。
Enterprise Cloudの席数の上限は、2026年9月9日に100ライセンス以下から300ライセンス以下へ広がりました。請求書払いの場合は営業経由で試用を手配し、Enterpriseアカウントが無い場合はEnterprise Cloud自体の試用と一緒に試す流れになります。どちらのプランでも試用中はライセンス料がかかりませんが、Actions分とAIクレジットの従量課金は止まりません。
GitHub Advanced Securityの購入・有効化とREST API操作
- 組織の設定からLicensingを開き、プランがTeamかEnterpriseであることを確認します。
- ボリューム契約の場合は「Buy Advanced Security」から人数を指定して購入します。従量課金なら購入手続きは不要です。
- セキュリティ構成(security configurations)で、有効にする製品と対象リポジトリを決めます。
- 適用前の画面に出る請求見積もりで、増える人数を確認してから確定します。
リポジトリ単位でREST APIのリポジトリ更新エンドポイントから切り替えることもできます。単体製品では code_security と secret_scanning のキーを使います。APIの定義には「単体のCode Security・Secret Protectionでは advanced_security パラメータは使えない」と明記されており、分割前の書き方を流用すると動きません。
gh api -X PATCH repos/OWNER/REPO \
-f 'security_and_analysis[secret_scanning][status]=enabled' \
-f 'security_and_analysis[secret_scanning_push_protection][status]=enabled' \
-f 'security_and_analysis[code_security][status]=enabled'
実行には、リポジトリの管理者権限、または組織のオーナーかセキュリティマネージャーの権限が必要です。
組織全体へ広げるときは、リポジトリごとのPATCHより、セキュリティ構成をまとめて適用するほうが管理しやすくなります。組織に登録済みの構成はセキュリティ構成のREST APIで一覧できます。
gh api --paginate orgs/ORG/code-security/configurations \
--jq '.[] | [.id, .name, .target_type] | @tsv'
導入後の運用:アラートをAPIで集計してトリアージを回す手順と設定例
有効化した直後は、過去の履歴から見つかったアラートがまとめて並びます。放置すると「開いたまま誰も見ないアラート」が積み上がり、ライセンス料だけを払い続ける状態になりかねません。最初の1か月は、組織全体の未対応アラートをリポジトリ別に集計して担当者を決め、有効な漏えいシークレットや深刻度の高い脆弱性から対応します。件数は対応工数の配分に使います。
未対応のシークレット・コードスキャンアラートの組織単位集計
組織単位の一覧は、シークレットスキャンのREST APIとコードスキャンのREST APIで取得できます。どちらも実行者が組織のオーナーかセキュリティマネージャーである必要があり、トークンには repo または security_events のスコープを付けます。
# 未対応のシークレットアラートを「リポジトリ・種別・検出日」で出力
gh api --paginate "orgs/ORG/secret-scanning/alerts?state=open&per_page=100" \
--jq '.[] | [.repository.full_name, .secret_type, .created_at] | @tsv'
# 未対応のコードスキャンアラートを「リポジトリ・深刻度・ルールID」で出力
gh api --paginate "orgs/ORG/code-scanning/alerts?state=open&per_page=100" \
--jq '.[] | [.repository.full_name, .rule.security_severity_level, .rule.id] | @tsv'
リポジトリ別の件数を数えるには、上の各コマンドの末尾に | cut -f1 | sort | uniq -c | sort -nr を追加します。シークレットは、検出されたキーの失効と再発行が先で、履歴からの削除はその後です。キーが有効なまま履歴だけ消しても、すでにクローンされた複製から悪用される余地が残ります。
CodeQLの高度な設定によるスキャン対象・実行頻度の指定
コードスキャンには、ワークフローを書かずに有効化できる既定の設定と、YAMLで細かく制御する高度な設定があります。既定の設定で困らなければそのままで構いません。スキャンの頻度を減らしてActions分数を抑えたい、ビルド手順を指定したいといった場合に高度な設定へ移ります。コードスキャンの公式ドキュメントがこの2方式を説明しており、使うActionはgithub/codeql-actionのリリース一覧で確認できます(2026年10月15日公開のv4.39.0時点で、v4系とv3系が並行して更新されています)。
# .github/workflows/codeql.yml
name: CodeQL
on:
pull_request:
branches: [main]
schedule:
- cron: '30 3 * * 1' # 毎週月曜 3:30(UTC)に全体を再スキャン
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
strategy:
matrix:
language: [javascript-typescript, python]
steps:
- uses: actions/checkout@v7
- uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
- uses: github/codeql-action/analyze@v4
この例では、プッシュごとのスキャンをやめ、プルリクエストと週1回の定期実行に絞っています。前述の「1回10分×月300回」の構成と比べると、実行の契機はプルリクエストの作成・更新・再オープンと、週1回(月4〜5回)の定期実行に限られます。この例では各実行で2言語分のジョブが動くため、Actions分数は両ジョブの実行時間を合計して見積もります。検出の遅れと分数の節約のどちらを取るかは、リリース頻度で決めてください。
GitHub Advanced Security for Azure DevOpsの課金
Azure Repos向けには、Microsoftが提供する「GitHub Advanced Security for Azure DevOps」があります。GitHub上のGHASとは別の製品で、請求の仕組みも異なります。Azure DevOpsの価格表では、Code Securityが月30ドル、Secret Protectionが月19ドル(1コミッターあたり)で、GitHub版と同額です。Copilot Autofixは、Code Securityとは別にAIクレジットで課金されます。
- 料金はAzure DevOps組織に紐づくAzureサブスクリプションへ月次で請求され、アクティブコミッター数に応じて日次で計上されます。
- 同じAzureサブスクリプションに紐づく組織の間では、同一人物を重複して数えません。単体製品では、Secret ProtectionとCode Securityそれぞれで重複を排除します。
- 一括ライセンスから単体製品への移行は、Azureポータルからサポートに依頼します。サブスクリプション単位の移行で、元に戻せません。
90日以内のプッシュで数える考え方はGitHub版と同じです。
よくある質問
GHASとは何の略ですか?
GitHub Advanced Securityの略です。2025年4月以降は、GitHub Secret ProtectionとGitHub Code Securityの2製品の総称として使われています。
GitHubのシークレットスキャンは無料ですか?
パブリックリポジトリでは無料で自動的に動きます。組織の非公開・内部リポジトリで使うには、Secret Protection(月19ドル/アクティブコミッター)が必要です。
CodeQLやコードスキャンの料金はいくらですか?
パブリックリポジトリでは無料です。非公開リポジトリではCode Security(月30ドル/アクティブコミッター)が必要になります。GitHubホストランナーでスキャンを実行する場合は、Actionsの分数も別に消費します。CodeQLの対象外の言語を見るAI Scanは、ライセンスとは別にCode Security AI Creditsを消費します。
個人アカウント(FreeやPro)で購入できますか?
できません。購入できるのはTeamかEnterpriseの組織です。個人アカウント所有でも、GitHub.comのパブリックリポジトリではシークレットスキャンを無料で使えます。非公開リポジトリの利用条件は、Enterprise Managed Usersなどの環境によって異なります。
GitHub Enterpriseに加入していればGHASも含まれますか?
含まれません。Enterpriseのシート料金とは別に、GHASのライセンス費用がかかります。Enterpriseの公式表示価格は月21ドル/ユーザーからで、価格に添えられているのは「最初の12か月」という適用期間の注記です。ただし、2025年4月以前から続く一括契約のEnterpriseには、両製品を含むGHASライセンスが残っている場合があります。