Instiq
第4章 · Code Security(CodeQL)·v1.0.0·更新 2026/7/16·読了目安 約15分

変更要約: GH-500 第4章を新規作成(アプローチと設定=CodeQL[純正・データフロー SAST]・サードパーティと SARIF 取り込み・Actions デフォルト/外部 CI 有効化・ワークフローテンプレート・matrix ビルド・スキャン頻度、分析と最適化=データフロー source→sink レビュー・重大度/カテゴリ(CWE)・アラートライフサイクルと autofix[要検証]・高度な構成/クエリスイート・スキャン失敗(ビルド/言語/リソース)と性能トラブルシュート)

4.1Code Security のアプローチと設定

この節の要点

ネイティブ(CodeQL)とサードパーティのコードスキャン、CodeQL とサードパーティ解析の選択、SARIF ファイルの取り込みと相互運用、そして GitHub Actions や外部 CI での有効化・ワークフローテンプレート・マトリックスビルド・スキャン頻度を理解します。

Code Security(製品名。コード解析の機能は code scanning/CodeQL)は、ソースコードを 静的解析(SAST) して脆弱性を見つけます。中核エンジンが CodeQL で、コードを データベース化 し、クエリ で「危険なデータの流れ(dataflow)」を探します。GitHub 純正の CodeQL に加え、サードパーティの解析ツール の結果も取り込めます。

4.1.1CodeQL とサードパーティ・SARIF

CodeQL は GitHub 純正で、多言語に対応し、強力な データフロー解析 で脆弱性を検出します。一方、組織が既存の サードパーティ SAST を使っている場合や、CodeQL 非対応の言語/観点を補いたい場合は、サードパーティツールの結果を取り込めます。その共通フォーマットが SARIF(Static Analysis Results Interchange Format) です。サードパーティツールが出力した SARIF を GitHub に アップロード すると、Code Scanning アラートとして 同じ UI で一元管理 できます。「CodeQL を使うか、サードパーティを SARIF で取り込むか」を要件で選びます。

4.1.2有効化 — Actions と外部 CI

Code Scanning は主に 2 通りで動かします。
GitHub Actions のワークフロー(CodeQL のスターター/ワークフローテンプレート)で実行する方法——最も手軽で、デフォルトセットアップ なら数クリックで有効化できます。
外部 CI システム で CodeQL CLI(や他ツール)を走らせ、結果(SARIF)をアップロードする方法。多言語リポでは マトリックスビルド で言語ごとに並列スキャンします。スキャン頻度 は、push/PR ごと・定期(schedule)など、コストと鮮度のバランスで設定します。

続きは無料登録で読めます

冒頭を無料で公開中。無料登録でこの節の全文と、第4章以降を含む全参考書・全問題集が読めます。