# 脆弱性検証 {#vulnverification}

## 概要

**脆弱性検証**は、報告された脆弱性が実際に再現可能かどうかを自動で検証する機能です。

対象のアプリケーションに対して攻撃シナリオを実行し、脆弱性の存在有無を判定します。修正後の再テストとしてだけでなく、さまざまな診断のレポートに含まれる脆弱性報告の妥当性を確認する用途にも利用できます。

## 検証タスクの作成方法

脆弱性検証タスクは、以下の 2 つの方法で作成できます。

### Takumi の診断結果から作成する

過去のブラックボックス診断で検出された脆弱性を再検証する場合は、診断レポート画面から直接タスクを作成できます。

1. 完了済みのブラックボックス診断レポート画面を開きます。
2. **「脆弱性を検証」** ボタンをクリックします。
3. 検証したい脆弱性を選択し、**「検証を開始」** をクリックします。

![「検証する脆弱性を選択」モーダル](/docs/ja/_md-assets/960b03d3b4-select-finding-modal.png)

:::info
同一の脆弱性に対して重複してタスクを作成することはできません。再検証を行いたい場合は、既存のタスクを削除してから再度作成してください。
:::

### 手動で作成する

バグバウンティや第三者の脆弱性報告レポートなど、Takumi の診断以外で発見された脆弱性も検証できます。

1. タブから **脆弱性検証** 一覧ページを開きます。
2. **「タスクを作成」** ボタンをクリックします。
3. 以下の情報を入力します。
   - **タイトル**: 脆弱性の名前（例: ログインフォームの SQL インジェクション）
   - **脆弱性レポート**: 脆弱性の詳細な説明。再現手順、対象エンドポイント、影響範囲などを含めてください
   - **脆弱性の種類**: XSS、SQL インジェクションなどの分類（任意）
   - **対象 URL**: 検証対象のアプリケーションの URL
   - **認証情報**: 対象アプリケーションへのログインが必要な場合に入力します（任意）
4. **「検証を開始」** をクリックします。

:::info
脆弱性レポートの内容が詳細であるほど、検証の精度が向上します。再現手順や具体的なリクエスト例を含めることを推奨します。
:::

## 結果の確認

実行から数分程度で判定が完了します。一覧から対象のタスクを選択すると、詳細パネルで検証結果を確認できます。

![脆弱性検証の結果パネル](/docs/ja/_md-assets/d7e5717b1a-list-expand-result.png)

## タスクの操作

各タスクのアクションメニューから、以下の操作が可能です。

- **再実行**：同じ条件で再度検証する。修正の再デプロイ後や、エラー時のリトライで使う
- **キャンセル**：実行中の検証を停止する
- **削除**：タスクを一覧から削除する

## ステータスと判定結果

| 分類         | 項目               | 説明                                                     |
| :----------- | :----------------- | :------------------------------------------------------- |
| **進行状況** | **実行中**         | 検証を実行しています。                                   |
|              | **キャンセル済み** | ユーザーによって実行が停止されました。                   |
| **判定結果** | **脆弱性なし**     | 脆弱性を再現できませんでした。                           |
|              | **脆弱性あり**     | 脆弱性が再現されました。                                 |
|              | **レビュー待ち**   | 処理中にエラーが発生したか、結果の判定が困難な状態です。 |

## 注意事項

- **判定の精度**：判定は自動で行われるため、通信環境やアプリケーションの状態によって結果が変動する場合がある。重要な修正については、判定理由を確認の上、必要に応じて手動での最終確認を推奨する
- **実行単位**：1 つのタスクで検証できる脆弱性は 1 件である。複数の脆弱性を検証する場合は、個別にタスクを作成する

## クレジット消費に関して {#credits}

利用にはクレジットが必要です。クレジット消費量は、検証対象の脆弱性の内容や、再現に必要な操作の複雑さに応じて変動します。
