次の方法で共有


Microsoft セキュリティ コード分析について

2022 年 12 月 31 日より、Microsoft セキュリティ コード分析 (MSCA) 拡張機能は廃止されます。 MSCA は、Microsoft Security DevOps Azure DevOps 拡張機能 に置き換えられます。 の構成 の手順に従って、拡張機能をインストールして構成します。

Microsoft Security Code Analysis 拡張機能を使用すると、チームはセキュリティ コード分析を Azure DevOps の継続的インテグレーションおよび配信 (CI/CD) パイプラインに追加できます。 この分析は、Microsoft の Secure Development Lifecycle (SDL) エキスパートによって推奨されます。

一貫性のある UX では、実行中のツールの複雑さを隠すことでセキュリティが簡素化されます。 NuGet ベースのツールの提供により、チームはツールのインストールや更新を管理する必要がなくなりました。 ビルド タスク用のコマンド ライン インターフェイスと基本インターフェイスの両方を使用すると、すべてのユーザーが必要なだけツールを制御できます。

Teams では、次のような強力な後処理機能を使用することもできます。

  • リテンション期間のログの発行。
  • 実用的な開発者向けレポートの生成。
  • 回帰テストでビルドの中断を構成する。

Microsoft セキュリティ コード分析を使用する必要がある理由

セキュリティの簡素化

Azure DevOps パイプラインに Microsoft セキュリティ コード分析ツールを追加することは、新しいタスクを追加するのと同じくらい簡単です。 タスクをカスタマイズするか、既定の動作を使用します。 タスクは Azure DevOps パイプラインの一部として実行され、さまざまな種類の結果を詳細に示すログが生成されます。

クリーン ビルド

ツールによって報告された最初の問題に対処した後、新しい問題のビルドを中断するように拡張機能を構成できます。 すべてのプル要求に対する継続的インテグレーション ビルドの設定は簡単です。

設定して忘れる

既定では、ビルドタスクとツールは up-toの日時に維持されます。 ツールの更新バージョンがある場合は、ダウンロードしてインストールする必要はありません。 拡張機能によって更新が自動的に処理されます。

内部の仕組み

拡張機能のビルド タスクでは、次の複雑さが隠されます。

  • セキュリティ静的分析ツールの実行。
  • ログ ファイルからの結果を処理して概要レポートを作成するか、ビルドを中断します。

Microsoft セキュリティ コード分析ツール セット

Microsoft セキュリティ コード分析拡張機能を使用すると、最新バージョンの重要な分析ツールをすぐに使用できます。 この拡張機能には、Microsoft が管理するツールとオープン ソース ツールの両方が含まれています。

これらのツールは、対応するビルド タスクを使用してパイプラインを構成して実行した後、クラウドでホストされるエージェントに自動的にダウンロードされます。

このセクションでは、拡張機能で現在使用できる一連のツールの一覧を示します。 その他のツールが追加されるのを見てください。 また、追加するツールに関する提案をお送りください。

マルウェア対策スキャナー

マルウェア対策スキャナーのビルド タスクが、Microsoft セキュリティ コード分析拡張機能に含まれるようになりました。 このタスクは、Windows Defender が既にインストールされているビルド エージェントで実行する必要があります。 詳細については、Windows Defender Web サイトのを参照してください。

BinSkim

BinSkim は、コンパイラ設定、リンカー設定、およびバイナリ ファイルのセキュリティ関連のその他の特性を検証するポータブル実行可能 (PE) 軽量スキャナーです。 このビルド タスクは、binskim.exe コンソール アプリケーションのコマンド ライン ラッパーを提供します。 BinSkim はオープンソース ツールです。 詳細については、GitHub BinSkim を参照してください。

資格情報スキャナー

ソース コードに格納されているパスワードやその他のシークレットは重大な問題です。 資格情報スキャナーは、この問題の解決に役立つ独自の静的分析ツールです。 このツールは、ソース コードとビルド出力内の資格情報、シークレット、証明書、およびその他の機密性の高いコンテンツを検出します。

Roslyn アナライザー

Roslyn Analyzers は、マネージド C# および Visual Basic コードを静的に分析するための、Microsoft のコンパイラ統合ツールです。 詳細については、Roslyn ベースのアナライザーを参照してください。

TSLint

TSLint は、機能の読みやすさ、保守容易性、およびエラーについて TypeScript コードをチェックする拡張可能な静的分析ツールです。 これは、最新のエディターとビルド システムによって広くサポートされています。 独自の lint ルール、構成、フォーマッタを使用してカスタマイズできます。 TSLint はオープンソース ツールです。 詳細については、GitHub TSLint を参照してください。

結果の分析と後処理

Microsoft セキュリティ コード分析拡張機能には、3 つの後処理タスクもあります。 これらのタスクは、セキュリティ ツール タスクによって検出された結果を分析するのに役立ちます。 パイプラインに追加すると、通常、これらのタスクは他のすべてのツール タスクに従います。

セキュリティ分析ログの発行

セキュリティ分析ログの発行ビルド タスクでは、ビルド中に実行されるセキュリティ ツールのログ ファイルが保持されます。 調査とフォローアップのために、これらのログを読むことができます。

ログ ファイルは、.zip ファイルとして Azure Artifacts に発行できます。 プライベート ビルド エージェントからアクセス可能なファイル共有にコピーすることもできます。

セキュリティ レポート

セキュリティ レポートのビルド タスクは、ログ ファイルを解析します。 これらのファイルは、ビルド中に実行されるセキュリティ ツールによって作成されます。 その後、ビルド タスクによって、1 つの概要レポート ファイルが作成されます。 このファイルには、分析ツールによって検出されたすべての問題が表示されます。

このタスクは、特定のツールまたはすべてのツールの結果を報告するように構成できます。 エラーのみ、またはエラーと警告の両方など、報告する問題レベルを選択することもできます。

分析後 (ビルドの中断)

分析後のビルド タスクを使用すると、ビルドが失敗する原因となるビルド中断を挿入できます。 1 つ以上の分析ツールがコードの問題を報告する場合は、ビルド中断を挿入します。

特定のツールまたはすべてのツールによって検出された問題のビルドを中断するように、このタスクを構成できます。 エラーや警告など、検出された問題の重大度に基づいて構成することもできます。

設計上、各ビルド タスクは、タスクが正常に完了した場合に成功します。 これは、ツールで問題が見つかるかどうかに関係なく当てはまります。これにより、すべてのツールを実行できるようにすることで、ビルドを完了まで実行できます。

次のステップ

Microsoft セキュリティ コード分析をオンボードしてインストールする方法については、オンボードおよびインストール ガイドのを参照してください。

ビルド タスクの構成の詳細については、構成ガイドの または YAML 構成ガイド を参照してください。

拡張機能と提供されているツールについてさらに質問がある場合は、FAQ ページを確認してください。