コード分析

Code Analysis は サイトでは利用できません。

ベータ版をお試しください!

Code Analysis は公開ベータ版です。

概要

Code Analysis は、リポジトリ内の Static Analysis および Software Composition Analysis (SCA) のスキャンで検出された違反結果を表示します。

Static Analysis
開発ライフサイクルの早期段階で、保守性の問題、バグ、パフォーマンスの問題、セキュリティ脆弱性がないか、オーダーメイドのコードをスキャンし、問題が本番環境に到達するのを防ぎます。また、可能であれば修正案を提供し、エンジニアリングチームがユーザーへの影響を防ぐよう支援します。
Software Composition Analysis
リポジトリにインポートされたオープンソースライブラリに既知の脆弱性がないかをスキャンします。
Datadog Software Composition Analysis は、ソフトウェア開発ライフサイクル (SDLC) 全体にわたって脆弱なライブラリを特定できます。Code Analysis では、リポジトリを直接スキャンして得られた結果を要約します。リポジトリおよびランタイムで検出されたすべての脆弱性を統合して表示するには、アプリケーションセキュリティをご覧ください。

リポジトリに Code Analysis をセットアップする

Code Analysis Repositories ページ+ Add a Repository をクリックし、Datadog で直接スキャンを実行するか、CI パイプラインでスキャンを実行するかを選択します。

Datadog がホストするスキャンは、Software Composition Analysis (SCA) と GitHub リポジトリでのみサポートされます。Static Analysis を有効にする、または別の CI プロバイダーを使用する場合は、CI パイプラインでスキャンを実行してください。

GitHub リポジトリで Software Composition Analysis を有効にするには、対象の GitHub アカウントで Select Repositories をクリックし、Enable Software Composition Analysis (SCA) のトグルをクリックしてすべてのリポジトリで有効にします。GitHub アカウントが一覧に表示されない場合は、まず新しい GitHub アプリを作成します。

GitHub アカウントのすべてのリポジトリで Software Composition Analysis を有効にする

オプションで、特定の GitHub リポジトリごとにトグルをクリックして SCA を有効にすることもできます。

GitHub リポジトリで Software Composition Analysis を有効にする

Datadog を通して直接スキャンを実行したくない場合は、実行したいスキャン (Static AnalysisSoftware Composition Analysis) を選択し、それに応じて CI パイプラインプロバイダーを構成することができます。

CI/CD プロバイダーの構成

Static Analysis と SCA スキャンを実行するように CI/CD プロバイダーを構成するには、次のドキュメントを参照してください。

GitHub インテグレーションのセットアップ

Datadog の Static Analysis 結果の一部として問題のあるコードスニペットを表示するには、GitHub インテグレーションタイルを使用してソースコードインテグレーションをセットアップすることで、GitHub アプリを構成することができます。

Code Analysis ビューから GitHub へのリンク

詳細については、ソースコードインテグレーションのドキュメントを参照してください。

Static Analysis インテグレーション

Static Analysis を使用すると、VS CodeIntelliJ & PyCharm などの IDE で直接、または GitHub 上のプルリクエストで書いたコードに対して、不適切なコーディングプラクティスやセキュリティの脆弱性に関する自動化されたフィードバックを受け取ることができます。

Visual Studio Code での Static Analysis 結果

リポジトリの検索と管理

Code Analysis を構成した後、Code Analysis ページで構成した各リポジトリの Static Analysis と SCA のスキャン結果の要約を見ることができます。要約された結果は常に各リポジトリのデフォルトブランチの最新のスキャンされたコミットに基づくものであり、これにより、トリアージして修正したい各リポジトリの既存の問題がすべて表示されていることを確認できます。

Code Analysis ページに表示される、コードとライブラリのスキャン結果を含むリポジトリ一覧

リストからリポジトリを選択すると、その特定のリポジトリの違反を検索・管理できます。デフォルトでは、結果はリポジトリのデフォルトブランチの最新のスキャンされたコミットにフィルタリングされますが、ページ上部でブランチやコミットを変更できます。

選択したブランチやコミットにかかわらず、すべての結果は以下のビューに整理されます。

Datadog Shopist サービスとリポジトリの Code Analysis ページにあるコードの脆弱性

Code Vulnerabilities ビューで、Static Analysis によって検出されたコードセキュリティリスクを特定し、対処します。

Datadog Shopist サービスとリポジトリの Code Analysis ページにあるコード品質の脆弱性

Code Quality ビューで、Static Analysis によって検出された不適切なコーディングプラクティスを特定し、対処します。

Datadog Shopist サービスとリポジトリの Code Analysis ページにあるライブラリの脆弱性

Library Vulnerabilities ビューで、SCA によって検出された脆弱なオープンソースライブラリを特定し、対処します。

Datadog Shopist サービスとリポジトリの Code Analysis ページにあるライブラリのリスト

Library List ビューで、コードベースにインポートされた SCA によって検出されたライブラリの完全なリストを管理します。

その他の参考資料