Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

CodeQL によるコード スキャンについて

この記事では、次の� �目が扱われます。

CodeQL を使うと、コード内の脆弱性とエラーを特定することができます。 結果は、GitHub 内で code scanning アラートとして表示されます。

Code scanning は、GitHub Enterprise Server の Organization 所有のリポジトリで利用できます。 この機能には、GitHub Advanced Security のライセンスが必要です。 詳細については、「GitHub Advanced Security について」を参照してく� さい。

注: この機能を使用するには、サイト管理者が の code scanning を有効にする必要があります。 詳しくは、「アプライアンスでの code scanning の構成」をご覧く� さい。

code scanning と CodeQL について

CodeQL は、セキュリティ チェックを自動化するために GitHub が開発した、コード分析エンジンです。 CodeQL を使用してコードを分析し、結果を code scanning アラートとして表示することができます。

code scanning に対して CodeQL 分析を使用する方法には、主に 2 通りあります。

GitHub Enterprise Server 3.3 の� �合は、CodeQL アクションの既定で CodeQL CLI バージョン 2.7.6 が使われます。 外部 CI システ� で分析を実行する� �合は、同じバージョンの CodeQL CLI を使うことをお勧めします。

CodeQL について

CodeQL はコードをデータのように扱い、コードの潜在的な脆弱性を従来の静的分析よりも高い精度で見つけることができます。

  1. ご利用のコードベースを表現する CodeQL データベースを生成します。
  2. 次に、そのデータベースに対して CodeQL クエリを実行して、コードベース内の問題を特定します。
  3. 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 パックについて」を参照してく� さい。