# セキュリティ脆弱性コードレビュー — 運用ガイド

## 基本情報

| 項目 | 内容 |
|------|------|
| 業種 | IT・開発 |
| ユースケース | セキュリティ脆弱性コードレビュー |
| WFパターン | `start → knowledge-retrieval(OWASP検索) → llm(脆弱性分析) → template(レポート整形) → end` |
| RAG | あり |
| 検証結果 | E2E pass |
| デモURL例 | http://localhost/workflow/rqfczrIwj705anmD |

## 概要

コードスニペットをOWASP Top 10の視点でセキュリティレビューし、脆弱性・CVSSスコア概算・修正コード例を提示する。

## デモ手順

1. DDF Web UI (`/dashboard`) を開く
2. 「セキュリティ脆弱性コードレビュー」の「デモ生成」ボタンをクリック
3. 業種「IT・開発」、UC「セキュリティ脆弱性コードレビュー」が自動入力される
4. 「デモ生成開始」をクリック
5. 生成完了後、デモURLを顧客に共有

## ナレッジベース（RAG）

このワークフローにはナレッジベースが必要です。

### 同梱ドキュメント

`knowledge/` フォルダに以下のテキストファイルが保存されています:

- `OWASP_Top10_セキュアコーディング.txt`

### デプロイ手順

1. Dify管理画面 → ナレッジ → 新規作成
2. 上記テキストファイルをアップロード
3. インデキシング完了を待つ
4. WFのKRノードで作成したナレッジベースを選択

またはDDFパイプラインで自動セットアップ:
```
run_pipeline(knowledge_docs=[...])  # 自動でKB作成+ID注入
```

**顧客デモ時は、顧客の実ドキュメントに差し替えるとインパクトが大きくなります。**


## テスト入力例

### 入力例1
```
言語: Node.js/Express
```javascript
const express = require('express');
const mysql = require('mysql');
const app = express();

app.get('/api/user', (req, res) => {
  const username = req.query.username;
  const conn = mysql.createConnection({host:'localhost',user:'root',password:'root123',database:'a
```


## 顧客への説明ポイント

- 「これは自動生成されたプロトタイプです。本番利用には追加の設計・開発が必要です」
- 「御社の実データ/ドキュメントを使えば、さらに精度の高いデモをお見せできます」
- 「Self-hostedなので、御社のデータは外部に出ません」

## AI品質評価コメント

ワークフロー出力はすべての合格基準を満たしています。ユースケース要件で指定された「(1)検出された脆弱性（CWE番号付き）、(2)CVSSスコア概算、(3)攻撃シナリオ、(4)修正後のセキュアなコード例、(5)テスト方法（手動+自動）」の全項目について、詳細かつ具体的な情報が提供されています。特に、Critical脆弱性に対する冒頭の警告表示も要件通り実装されており、Node.js/Expressの具体的なコードスニペットの脆弱性（SQLインジェクションとXSS）に対して、具体的なコード箇所、攻撃シナリオ、修正コード例、テスト方法まで言及しているため、汎用的なテンプレートではなく入力固有の要素に具体的に対応しています。顧客デモとして非常に高品質な出力と言えます。

## 次のステップ（受託提案）

1. 顧客の実データでカスタマイズデモ（POC: 5-10万円）
2. 本番環境設計・構築（受託開発）
3. 既存システム（kintone/Salesforce等）とのAPI連携
4. 運用保守サポート
