code scanning について
Code scanning is a feature that you use to analyze the code in a GitHub repository to find security vulnerabilities and coding errors. Any problems identified by the analysis are shown in GitHub.
code scanning を使用して、コード内の既存の問題の修正を検索し、トリアージして、優先順位を付けることができます。 また、Code scanning は、開発者による新しい問題の発生も防ぎます。 スキャンを特定の日時にスケジュールしたり、プッシュなどの特定のイベントがリポジトリで発生したときにスキャンをトリガーしたりすることができます。
code scanning がコードに潜在的な脆弱性またはエラーを見つけた場合、GitHub はリポジトリにアラートを表示します。 アラートを引き起こしたコードを修正すると、GitHubはそのアラートを閉じます。 For more information, see "Managing code scanning alerts for your repository."
Code scanning は GitHub Actions を使用します。 For more information about API endpoints, see "Code scanning."
code scanning を始めるには、「code scanning の有効化」を参照してください。
CodeQL について
デフォルトでは、code scanning はセマンティックコード分析エンジンである CodeQL を使用します。 CodeQL はコードをデータとして扱い、コードの潜在的な脆弱性を従来の静的分析よりも高い精度で見つけることができます。
QL は CodeQL を動作させるクエリ言語です。 QL はオブジェクト指向ロジックプログラミング言語です。 GitHub、言語の専門家、セキュリティ研究者が code scanning に使用するクエリを作成します。クエリはオープンソースです。 コミュニティはクエリを維持および更新して、分析を改善し、誤検出を減らします。 詳しい情報については、GitHub Security Lab Web サイトの「CodeQL」を参照してください。
code scanning の API エンドポイントについての詳細は、「Code scanning」を参照してください。
- C/C++
- C#
- Go
- Java
- JavaScript/TypeScript
- Python
github/codeql
リポジトリで code scanning のクエリを表示して貢献できます。 詳しい情報については、 CodeQL ドキュメントの「CodeQL クエリ」を参照してください。
code scanningの支払いについて
Code scanning は GitHub Actions を使用し、code scanning ワークフローの実行ごとに GitHub Actions に数分かかります。 詳しい情報については、GitHub Actionsの支払いについてを参照してください。
サードパーティのコードスキャンツールについて
サードパーティの静的解析ツールからGitHubにSARIFファイルをアップロードし、リポジトリ内でそれらのツールからのcode scanningアラートを見ることができます。
Code scanningは、Static Analysis Results Interchange Format (SARIF) データを出力するサードパーティのコードスキャンニングツールと相互運用できます。 SARIFはオープン標準です。 詳しい情報については「code scanningのためのSARIF出力」を参照してください。
始めるには、「GitHubへのSARIFファイルのアップロード」を参照してください。