
# カスタムCVE脆弱性

Aikidoでは、ワークスペース管理者が内部パッケージやプライベートパッケージ向けにカスタムCVEを定義できます。スキャンで一致するパッケージとバージョンが見つかると、Aikidoはオープンソースの issue を作成し、 `CUSTOM-CVE-{id}` という識別子。

{% hint style="info" %}
この機能はワークスペースレベルで有効にする必要があります。有効化についてはお問い合わせください。
{% endhint %}

#### ユースケース

* 内部パッケージやプライベートパッケージ: 公開CVEデータベースにはないが、既知のセキュリティ脆弱性があるライブラリを管理している場合。
* 公開CVEが存在しない: 脆弱性は内部で見つかったものの、CVEは割り当てられなかった場合。
* ポリシーによるブロック: すべてのリポジトリとコンテナにわたって、内部パッケージに対して「X未満のバージョンは不可」を適用したい場合。

#### カスタムCVEを追加

**手順 1.** 次へ移動します： [**CVEデータベース**](https://app.aikido.dev/reports/cve) **レポート** → **カスタムCVEを管理**<br>

<figure><img src="https://help.aikido.dev/_assets/3cc92eb485b2/image-339.png" alt=""><figcaption></figcaption></figure>

**手順 2.** クリックします **カスタムCVEを追加**.

**手順 3.** 次の項目を入力してください:

* **パッケージ名**
  * スキャンで検出されたとおりの正確なパッケージ名を使用してください。
* **影響を受けるバージョン**
  * 次の一致方法のいずれかを使用します:
    * **フラグ対象バージョン:** 最初の脆弱なバージョン、最後の脆弱なバージョン、およびパッチまたは修正バージョンを定義します。
    * **最小必須バージョン:** 必須の最小バージョン未満の任意のバージョンをフラグします。
* **短い説明、TL;DR、スコア**
  * 次から優先度を設定します `1` を `100`。これにより issue の深刻度が設定されます。

<figure><img src="https://help.aikido.dev/_assets/27178ce98af4/image-340.png" alt="" width="563"><figcaption></figcaption></figure>

**手順 4.** クリックします **変更を保存**.

Aikidoは `CUSTOM-CVE-{id}` を割り当て、次回のスキャンで照合を開始します。

<details>

<summary><strong>例</strong></summary>

パッケージ `acme-auth-lib` は〜から脆弱です `1.0.0` から `1.5.2`.

バージョン `1.6.0` には修正が含まれています。

カスタムCVEは次のように作成します:

* **パッケージ名:** `acme-auth-lib`
* **フラグ対象バージョン:** `1.0.0` → `1.5.2`
* **パッチバージョン:** `1.6.0`
* **スコア:** `78` これは高深刻度に相当します

脆弱なバージョンを使用している任意のリポジトリに issue が作成されます。

〜にアップグレードすると `1.6.0` 次回のスキャンで issue は自動的にクローズされます。

</details>

#### トラブルシューティング

カスタムCVEの issue が表示されない場合があります:

* パッケージ名が完全に一致しておらず、大文字小文字が区別される
* インストールされているバージョンが定義された範囲外である
* パッケージが dev dependency で、dev dependency スキャンがオフになっている
* この機能がワークスペースで有効になっていない

影響を受けるパッケージが dev dependency の場合は、まず dev dependency のCVEスキャンを有効にしてください。参照 [CVEに対する開発依存関係のスキャン](https://help.aikido.dev/docs/docs-ja/code-scanning/scanning-practices/scanning-dev-dependencies-for-cves).
