アプリケーションのライブラリの脆弱性を定常的に確認

# 概要
バックエンドで動作するアプリケーションは様々なOSSのライブラリなどを使用して動いていることが多いと思います。そのライブラリに関連する**脆弱性を日々追い続けるのは非常に骨の折れる作業**です。脆弱性に関する重大な問題が世間で話題になったタイミングで、社内のセキュリティ担当者からアプリケーションで使用しているライブラリの調査を依頼されるという後手後手の対応になるということも実際にはあるかと思います。

こちらの記事では、New RelicのVulnerability Managementの機能で、**アプリケーションが使用しているライブラリの脆弱性を確認**する方法を試してみたいと思います。New RelicのAPMで日々モニタリングしておくことで、**開発や運用の中でアプリケーションの脆弱性の状態を定常的に確認していくことが可能**となります。

:::note info
最新のアップデートの詳細はこちら。[New Relic アップデート(2023年1月)
](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202301 "New Relic アップデート(2023年1月)")
:::

# Vulnerability Managementの設定
New RelicのVulnerability Managementでアプリケーションのライブラリの脆弱性の状況を確認するためには、まず**APMエージェントをインストール**する必要があります。

現時点(**2025年1月20日時点**)で対応している言語は下記の通りです。

- Java
- Node.js
- Ruby
- Python
- Go
- PHP

詳細は下記を参照ください。

https://docs.newrelic.com/docs/vulnerability-management/integrations/intro/

また、Vulnerability Managementを使用するには、**Data Plus契約**が必要となります。

https://docs.newrelic.com/jp/docs/accounts/accounts-billing/new-relic-one-pricing-billing/data-ingest-billing/#data-prices

これで、New Relicに取り込まれたアプリケーションの情報とCVEの情報から脆弱性の情報をNew Relic上で管理することができます。

# Vulnerability Managementの画面を表示

New Relic > APM & Services から対象のアプリケーションを開くと、Summary画面の一番右側にVulnerabilityという項目が表示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/b8767c4f-36cd-2634-d006-c73b4f4defb0.png)

この例では脆弱性としてCriticalが３個、Highが10個あることを概要として確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/6a1a771f-97a2-515c-5e03-371d6282ca1f.png)

また、このSummary画面のVulnerabilityをクリックするか、もしくは左から２列目のVulnerability Managementをクリックすることで、Vulnerability Managementの画面を表示できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/cfbd91fd-fefb-5e03-5055-7a3f2aed112c.png)

## アプリケーションの脆弱性の全体像を確認
Vulnerability Managementの画面を開くと**Summaryタブ**が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/da019391-4fe1-9bd2-db8d-a4d1eb6cb995.png)

この画面では、**Citical / High / Otherと区分けされた脆弱性がどのくらいの期間存在しているか**、それぞれの区分けの**脆弱性に関係しているライブラリがどのくらい存在しているか**、**リスクの高い脆弱性の一覧**などを確認することがができます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/06b78f81-b295-6142-ec32-1be3843ed17b.png)

## アプリケーションに関連する脆弱性情報の一覧を確認

**Vulnerabilityタブ**を開いてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/048c3124-1ddf-f86e-55a1-8c2ce6e1844c.png)

こちらの画面では、上部に脆弱性の総数と、その内訳としてCitical / High / Otherの脆弱性がそれぞれ何個存在しているかパネルで確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/2acf5f1c-dfa5-13b3-e9a5-b55c6790ea12.png)

またその下では、このアプリケーションに関連している脆弱性の情報が一覧で表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/c07f945c-65bd-22b3-6a0e-4769bc4abaef.png)

脆弱性をクリックすることで、**脆弱性の情報ソースなどのより詳細な情報**を表示することが可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/1abe2cb9-47f4-d780-76e3-06244278845a.png)

## アプリケーションのライブラリに関連する脆弱性情報を確認

**Librariesタブ**を開いてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/a95a99ac-59e2-5527-f1ab-a64a73c7861b.png)

こちらの画面では、上部にライブラリの総数と、Citical / High / Otherのそれぞれの脆弱性が見つかっているライブラリの数をパネルで確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/82f31dad-dafe-e7a6-845f-f01c54f57a11.png)

また、その下には、ライブラリごとのバージョン情報や関連しているCitical / High / Otherの脆弱性の数、また、その**ライブラリをどのバージョンに上げると脆弱性がどのくらい減るのか**表示されています。**最終的な判断はユーザー自身で行う必要はありますが、ライブラリのバージョンアップの方向性を決定する上で参考にしていただくことが可能**です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/2ddfa730-1021-0a5b-0408-f8f5aa016104.png)

各ライブラリをクリックすることで、詳細情報を確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227243/8e13543a-742e-f7dd-053b-8b7cc301b073.png)


# まとめ
New RelicのVulnerability Managementを使用して、**アプリケーションが使用しているライブラリの脆弱性を確認**する方法を試してみました。New RelicのAPMで日々モニタリングしておくことで、**開発や運用の中でアプリケーションの脆弱性の状態を定常的に確認していくことが可能**となるのでぜひお試しください。

ちなみに、New RelicのVulnerability Managementでは**3rdパーティのセキュリティツールと統合することで、アプリケーションのライブラリ以外にインフラの脆弱性分析なども一緒に管理**することが可能です。詳細は下記を確認ください。

https://docs.newrelic.com/jp/docs/vulnerability-management/integrations/intro/


:::note info
最新のアップデートの詳細はこちら。[New Relic アップデート(2023年1月)
](https://newrelic.com/jp/blog/nerdlog/new-relic-update-202301 "New Relic アップデート(2023年1月)")
:::

:::note info
[New Relic株式会社のQiita Organization](https://qiita.com/organizations/newrelic)では、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。
:::