GitHub Advanced Security の概要

完了

GitHub Advanced Security (GHAS) は、ソフトウェア開発プロジェクトのセキュリティ態勢を強化するために設計された包括的なセキュリティ機能スイートです。 GitHub と緊密に統合されているだけでなく、 また、GHAS は Azure DevOps の拡張機能としても使用でき、両方のプラットフォームで同様の機能を提供します。

GHAS は技術的負債を直接測定するようには設計されていませんが、その機能はその検出と修復に大きく貢献します。 GHAS は、コード分析、依存関係管理、高度なコード レビューに加え、コード スキャン、シークレット スキャン、依存関係スキャンなどのセキュリティ スキャン サービスを提供します。 また、GHAS は、セキュリティの脆弱性の優先順位付けと対処に役立つ詳細な分析情報と推奨事項も提供します。

これらの機能を利用することで、組織は開発ライフサイクルの早い段階で技術的負債を事前に特定して対処できます。 これにより、セキュリティ リスクが軽減され、コードの品質が向上し、ソフトウェア プロジェクトの長期的な保守が容易になります。

CodeQL 分析

CodeQL は、開発者がコードベース内に関する問題を特定できるように支援するセマンティック コード分析エンジンです。 コーディング エラーや設計上の欠陥の特定を支援するパターンを検索するように設計された宣言型クエリ言語を備えています。このような問題のすべてが技術的負債の蓄積につながります。 また、その分析機能を使うと、インジェクションの欠陥、認証の問題、アクセス制御の問題など、潜在的なセキュリティの脆弱性を検出できます。多くの場合、これらは技術的負債が根底にあることを示しています。

依存関係管理

依存関係管理は、古い依存関係や脆弱な依存関係に関連付けられた技術的負債を管理するために不可欠です。 GHAS の依存関係スキャンを使うと、古いパッケージ、セキュリティの脆弱性、ライセンスの問題などの情報を含め、プロジェクトの依存関係を把握できます。 Dependabot を使うと、セキュリティの脆弱性がある依存関係を自動的に更新できるため、コードベースを最新かつ安全に保つことができます。

コード スキャン

コード スキャンを使うと、静的分析手法を組み合わせて、コード リポジトリを自動的にスキャンして、コード スメルやアンチパターンなどの潜在的なセキュリティの脆弱性やコーディング エラーを検出できます。 クロスサイト スクリプティング (XSS)、SQL インジェクション、バッファー オーバーフローなどの一般的なセキュリティ問題を検出します。これらは、CodeQL ベースの分析と同様に、安全ではないコーディング手法に起因する技術的負債を示します。 さらに、セキュリティ コード スキャンを使うと、コードの品質とセキュリティ リスクに関する実用的な分析情報を把握し、最も効率的かつ効果的な方法で技術的負債に優先順位を付け、対処することができます。