注: この機能を使用するには、サイト管理者が の code scanning を有効にする必要があります。 詳しくは、「アプライアンスでの code scanning の構成」をご覧く� さい。
code scanning と CodeQL について
CodeQL は、セキュリティ チェックを自動化するために GitHub が開発した、コード分析エンジンです。 CodeQL を使用してコードを分析し、結果を code scanning アラートとして表示することができます。
code scanning に対して CodeQL 分析を使用する方法には、主に 2 通りあります。
- CodeQL ワークフローをご利用のリポジトリに追� します。 これにより、github/codeql-action を使用して、CodeQL CLI が実行されます。 詳細については、「リポジトリの code scanning の設定」を参照してく� さい。
- 外部 CI システ� で CodeQL CLI を直接実行し、その結果を GitHub にアップロードします。 詳細については、「CI システ� での CodeQL コード スキャンについて」を参照してく� さい。
CodeQL について
CodeQL はコードをデータのように扱い、コードの潜在的な脆弱性を従来の静的分析よりも高い精度で見つけることができます。
- ご利用のコードベースを表現する CodeQL データベースを生成します。
- 次に、そのデータベースに対して CodeQL クエリを実行して、コードベース内の問題を特定します。
- CodeQL を code scanning で使用すると、クエリ結果は GitHub Enterprise Server に code scanning アラートとして表示されます。
CodeQL ではコンパイルおよびインタープリタ言語の両方がサポートされていて、サポートされている言語で記述されたコードの脆弱性とエラーを見つけることができます。
- C/C++
- C#
- Go
- Java
- JavaScript/TypeScript
- Python
注: JavaScript、TypeScript、またはその両方で記述されたコードを分析するには javascript
を使用します。
詳細については、CodeQL Web サイトのドキュメント「サポートされている言語とフレー� ワーク」を参照してく� さい。
CodeQL クエリについて
GitHub 専門家、セキュリティ� �究者、およびコミュニティの貢献者は、code scanning に使用される既定の CodeQL クエリを作成して維持します。 クエリは、分析を改善し、誤検知の結果を減らすために定期的に更新されます。 クエリはオープン ソースであるため、github/codeql
リポジトリ内のクエリを表示して投稿できます。 詳細については、CodeQL Web サイトの CodeQL に関するページを参照してく� さい。 自分で独自のクエリを記述することもできます。 詳細については、CodeQL ドキュメントにある CodeQL クエリに関するページを参照してく� さい。
コード スキャン分析の一環として、追� のクエリを実行できます。 実行するクエリは、リポジトリ内の QL パックに属している必要があります。 クエリは、標準ライブラリ (つまり、クエリ内のステートメント import LANGUAGE
から参照されるライブラリ) またはクエリと同じ QL パック内のライブラリにのみ依存する必要があります。 詳細については、「QL パックについて」を参照してく� さい。