第3章 Dependency Analytics を使用するための Visual Studio Code の設定
Microsoft の Visual Studio Code (VS Code) エディターアプリケーションの Dependency Analytics 拡張機能を使用すると、Red Hat の Trusted Profile Analyzer サービスにアクセスできます。この拡張機能を使用すると、最新のオープンソースの脆弱性情報にアクセスし、アプリケーションの依存パッケージに関する洞察を得ることができます。Red Hat Dependency Analytics 拡張機能は、入手可能な最新の脆弱性情報を取得するために次のデータソースを使用します。
- ONGuard サービスは、Open Source Vulnerability (OSV) および National Vulnerability Database (NVD) データソースを統合します。ONGuard サービスにパッケージのセットを指定すると、OSV へのクエリーによって関連する脆弱性情報が取得され、次に NVD へのクエリーによって公開されている Common Vulnerability and Exposures (CVE) 情報が取得されます。
Dependency Analytics は、以下のプログラミング言語をサポートしています。
- Maven
- Node
- Python
- Go
Visual Studio Code はデフォルトで、システムの PATH
環境にあるターミナルでバイナリーを直接実行します。必要なバイナリーを実行するために別の場所を探すように Visual Studio Code を設定できます。これは、拡張機能の設定 にアクセスして設定できます。Workspace タブをクリックし、executable という単語を検索し、Maven、Node、Python、または Go に使用するバイナリーファイルへの絶対パスを指定します。
Dependency Analytics 拡張機能は、Red Hat によって維持されるオンラインサービスです。Dependency Analytics は、結果を表示する前にマニフェストファイルにのみアクセスしてアプリケーションの依存関係を分析します。
前提条件
- Visual Studio Code をワークステーションにインストールしている。
-
Maven プロジェクトで
pom.xml
ファイルを分析する場合は、システムのPATH
環境にmvn
バイナリーを指定する。 -
Node プロジェクトで
package.json
ファイルを分析する場合は、システムのPATH
環境にnpm
バイナリー指定する。 -
Go プロジェクトで
go.mod
ファイルを分析する場合は、システムのPATH
環境にgo
バイナリーを指定する。 -
Python プロジェクトで
requirements.txt
ファイルを分析する場合は、システムのPATH
環境に python3/pip3
またはpython/pip
バイナリーを指定する。また、Python アプリケーションが VS Code のインタープリターパス に存在する。
手順
- Visual Studio Code アプリケーションを開きます。
- ファイルメニューから View をクリックし、Extensions をクリックします。
- Marketplace で Red Hat Dependency Analytics を検索します。
- Install ボタンをクリックして、拡張機能をインストールします。インストールが完了するまで待ちます。
アプリケーションのセキュリティー脆弱性のスキャンを開始し、脆弱性レポートを表示するには、次のいずれかを実行できます。
- マニフェストファイルを開き、インラインコンポーネント分析によってマークされた依存関係 (依存関係名の下に赤い波線で示されています) にマウスをかざし、Quick Fix、Detailed Vulnerability Report の順にクリックします。
- マニフェストファイルを開き、円グラフ アイコンをクリックします。
- Explorer ビューでマニフェストファイルを右クリックし、Red Hat Dependency Analytics Report… をクリックします。
- 脆弱性ポップアップアラートメッセージから、Open detailed vulnerability report をクリックします。
関連情報
- Red Hat Dependency Analytics Visual Studio マーケットプレイスの ページ。
- GitHub プロジェクト。