五大核心價值 - 詳述

返回 主文件

本文件詳細闡述 LLM 驅動 WEB 安全性健康報告生成系統的五大核心價值主張。這些價值不僅是系統設計的指導原則,更是衡量專案成功與否的關鍵指標。


核心價值一:資安學習與探究 (Learning & Exploration)

價值主張

將每次掃描轉化為一次互動式學習體驗,而非僅僅是工具執行。

實現方式

1. 多層次的資訊呈現

系統在呈現掃描結果時,提供三個層次的資訊:

[結果層] 發現 Apache 2.4.49 存在路徑穿越漏洞
    ↓
[原理層] 此漏洞源於 URL 正規化處理錯誤,攻擊者可繞過存取控制
    ↓
[修復層] 建議升級至 2.4.51 版本,或套用官方安全補丁

2. 互動式問答機制

在對話模式(模式 C)中,LLM 會主動詢問使用者:

3. 檢測過程的可視化

系統不僅顯示最終結果,更會記錄並展示:

衡量指標


核心價值二:目標、工具與結果的清晰對應 (Clear Correlation)

價值主張

建立從「安全目標」到「檢測工具」再到「結果解釋」的完整透明鏈。

問題背景

傳統資安掃描工具的黑盒問題:
- 使用者不知道為何系統選擇某個工具
- 不清楚檢測結果與原始目標的關聯
- 難以判斷是否已達成檢測目標

解決方案:對應鏈可視化

示例場景

使用者目標:檢測網站是否存在已知的伺服器漏洞

[步驟 1] 目標拆解
├─ 子目標 1:識別伺服器類型與版本
├─ 子目標 2:比對 CVE 資料庫
└─ 子目標 3:驗證漏洞可利用性

[步驟 2] 工具映射
├─ 子目標 1 → 工具:nmap (版本探測) + curl (HTTP Header 分析)
├─ 子目標 2 → 工具:CVE 知識庫查詢
└─ 子目標 3 → 工具:LLM 生成的客製化漏洞驗證腳本

[步驟 3] 結果回溯
├─ nmap 結果:Apache/2.4.49 (Unix)
├─ CVE 查詢:CVE-2021-41773 (路徑穿越)
└─ 驗證結果:成功讀取 /etc/passwd → **漏洞確認存在**

資料庫設計支援

ScanResults 資料表中,我們設計 correlation_chain 欄位(JSONB):

{
  "userGoal": "檢測伺服器已知漏洞",
  "decomposition": [
    {
      "subGoal": "識別伺服器版本",
      "tool": "nmap",
      "reasoning": "nmap 的 -sV 參數可準確探測服務版本",
      "result_ref": "finding_id_001"
    },
    {
      "subGoal": "比對 CVE 資料庫",
      "tool": "CVE_Search",
      "reasoning": "基於探測到的 Apache 2.4.49 版本進行查詢",
      "result_ref": "finding_id_002"
    }
  ]
}

UI 呈現

在報告中提供「檢測邏輯圖」區塊,使用者可點擊每個節點查看:
- 為何執行此步驟
- 使用了哪個工具與參數
- 此步驟產出了什麼結果


核心價值三:自動化的資安掃描資料庫 (Automated Scan Database)

價值主張

系統性記錄每次掃描,將零散的檢測活動轉化為可分析的數據資產。

資料庫設計

核心資料表結構

Scans 表 - 掃描任務總覽

CREATE TABLE scans (
    scan_id UUID PRIMARY KEY,
    user_id UUID REFERENCES users(user_id),
    target VARCHAR(512) NOT NULL,
    scan_mode VARCHAR(50), -- 'guided' | 'intelligence' | 'conversational' | 'automated'
    status VARCHAR(20), -- 'pending' | 'running' | 'completed' | 'failed'
    created_at TIMESTAMP DEFAULT NOW(),
    completed_at TIMESTAMP,
    total_findings INT,
    critical_count INT,
    high_count INT,
    medium_count INT,
    low_count INT
);

ScanResults 表 - 每次工具執行的詳細記錄

CREATE TABLE scan_results (
    result_id UUID PRIMARY KEY,
    scan_id UUID REFERENCES scans(scan_id),
    tool_used VARCHAR(100),
    generated_script TEXT, -- LLM 生成的腳本
    raw_output TEXT, -- 工具原始輸出
    structured_findings JSONB, -- 解析後的結構化資料
    llm_analysis JSONB, -- LLM 的解釋與建議
    execution_time_ms INT,
    created_at TIMESTAMP DEFAULT NOW()
);

ScanHistory 表 - 同一目標的歷史趨勢

CREATE TABLE scan_history (
    history_id UUID PRIMARY KEY,
    target VARCHAR(512),
    scan_dates JSONB, -- [{"date": "2025-01-01", "scan_id": "xxx"}]
    vulnerability_trend JSONB, -- 漏洞數量變化趨勢
    risk_score_trend JSONB -- 風險分數變化
);

應用場景

場景 1:趨勢分析

企業可查詢「過去 6 個月,我們的內部網站漏洞修復率是多少?」

SELECT
    DATE_TRUNC('month', created_at) AS month,
    AVG(critical_count) AS avg_critical,
    AVG(high_count) AS avg_high
FROM scans
WHERE target LIKE 'internal.company.com%'
    AND created_at >= NOW() - INTERVAL '6 months'
GROUP BY month
ORDER BY month;

場景 2:工具效能評估

分析「哪個工具最常發現 Critical 等級的漏洞?」

SELECT
    tool_used,
    COUNT(*) AS usage_count,
    SUM(JSONB_ARRAY_LENGTH(structured_findings)) AS total_findings
FROM scan_results
WHERE structured_findings @> '[{"severity": "Critical"}]'
GROUP BY tool_used
ORDER BY total_findings DESC;

場景 3:自動化報表

系統每週自動生成「資安健康週報」,比較本週與上週的掃描數據。


核心價值四:系統化的教學案例庫 (Systematic Educational Library)

價值主張

將具代表性的掃描結果結構化保存,轉化為持續增長的教學資源。

教學案例的生命週期

[階段 1] 案例識別
- 系統自動標記「具教學價值」的掃描結果
- 標準:(1) 發現實際漏洞 (2) 使用多個工具聯合檢測 (3) 稀有或典型的攻擊向量

[階段 2] 匿名化處理
- 移除敏感的目標資訊(IP、Domain)
- 保留技術細節與檢測邏輯

[階段 3] 結構化保存
- 儲存至 EducationalCases 資料表
- 標記漏洞類型、使用工具、難度等級

[階段 4] 知識提取
- LLM 自動生成「學習重點」與「延伸問題」
- 例如:「此案例展示了 XXX 攻擊手法,您可思考如何防禦?」

[階段 5] 社群分享(可選)
- 使用者同意後,可將案例貢獻至公開知識庫

資料表設計

CREATE TABLE educational_cases (
    case_id UUID PRIMARY KEY,
    title VARCHAR(255), -- 例如:"Apache 路徑穿越漏洞檢測實例"
    description TEXT,
    vulnerability_type VARCHAR(100), -- 'Path Traversal' | 'SQL Injection' 等
    related_cve VARCHAR(50),
    severity VARCHAR(20),
    difficulty_level VARCHAR(20), -- 'Beginner' | 'Intermediate' | 'Advanced'

    -- 檢測過程記錄
    scan_result_id UUID REFERENCES scan_results(result_id),
    tools_used JSONB, -- ["nmap", "curl", "custom_script"]
    detection_steps JSONB, -- 步驟化的檢測流程

    -- 教學內容
    learning_objectives JSONB, -- ["理解路徑穿越原理", "學習 nmap 版本探測"]
    extended_questions TEXT, -- LLM 生成的思考題

    -- 元數據
    is_public BOOLEAN DEFAULT FALSE,
    views_count INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT NOW()
);

UI 功能:教學案例瀏覽器

使用者可透過以下方式搜尋案例:

  1. 依漏洞類型:例如查詢所有「SQL Injection」案例
  2. 依工具:查詢「使用 SQLMap 的案例」
  3. 依難度:初學者可篩選「Beginner」等級案例
  4. 依 CVE:查詢特定 CVE 的實際檢測案例

教育價值實現

實例:從掃描到教材

原始掃描記錄
- 目標:某測試網站
- 檢測到:SQL Injection 漏洞
- 使用工具:SQLMap

系統自動轉化為教學案例

# 案例:基於錯誤訊息的 SQL Injection 檢測

## 學習目標
- 理解 SQL Injection 的成因
- 學習使用 SQLMap 進行自動化檢測
- 認識基於錯誤訊息的漏洞識別技巧

## 檢測步驟
1. 使用 curl 手動測試,發現參數 `id=1'` 導致 MySQL 錯誤訊息
2. 使用 SQLMap 自動化驗證:`sqlmap -u "http://target.com?id=1" --batch`
3. SQLMap 確認漏洞並成功提取資料庫結構

## 原始工具輸出(節錄)
[!] legal disclaimer: ...
Parameter: id (GET)
    Type: error-based
    Title: MySQL >= 5.0 AND error-based

## 風險分析
嚴重性:Critical - 攻擊者可完全控制資料庫

## 修復建議
使用參數化查詢(Prepared Statements)

## 延伸思考
1. 如果網站沒有顯示錯誤訊息,還能檢測 SQL Injection 嗎?(提示:盲注)
2. WAF 如何防禦此類攻擊?

核心價值五:學習與實用並存 (Dual-Purpose Design)

價值主張

同時滿足初學者的學習需求與專業人員的實務需求,打破兩者的對立。

設計哲學

傳統上,「教學工具」與「生產工具」往往是分離的:
- 教學工具:功能簡化,互動性強,但缺乏實戰能力
- 生產工具:功能強大,自動化高,但學習曲線陡峭

本系統的創新:透過「模式切換」與「資訊分層」,讓同一個系統同時服務兩種需求。

實現機制

機制 1:可調節的資訊密度

初學者模式(預設)
- 顯示每個步驟的解釋
- 提供背景知識連結
- 互動式確認每個操作

專業模式
- 摺疊解釋性文字
- 直接呈現技術數據
- 允許批次執行

UI 示例:

[切換] 🎓 學習模式 ⇄ 🚀 專業模式

學習模式下:
┌─────────────────────────────────┐
│ 📘 什麼是連接埠掃描?            │
│ 連接埠掃描用於探測目標主機開放的 │
│ 網路服務...                      │
│ [了解更多] [跳過說明]            │
└─────────────────────────────────┘

專業模式下:
┌─────────────────────────────────┐
│ nmap -sV -p 80,443,8080 target   │
│ Scan Duration: 12.3s             │
│ Open Ports: 2                    │
└─────────────────────────────────┘

機制 2:模式化的互動流程

使用者類型 推薦模式 特色
初學者 引導式掃描 (Mode 1) + 對話式 (Mode 3) 選單導向 + LLM 導師
開發人員 情資驅動 (Mode 2) 自動建議相關檢測
資安專家 全自動掃描 (Mode 4) 一鍵執行完整套件

機制 3:報告的雙重輸出

系統生成兩種版本的報告:

教學版報告(適合學習者與非技術主管)
- 使用圖表與視覺化
- 白話文解釋
- 提供修復的逐步指南

技術版報告(適合開發人員與資安團隊)
- 原始掃描數據
- JSON 格式結構化結果
- 可直接整合至其他系統的 API 輸出

實際應用場景

場景 A:資安課程講師

需求:在課堂上演示真實的漏洞檢測

使用方式
1. 選擇「對話式掃描」模式
2. 投影畫面,與 LLM 對話:「我們今天要學習 XSS,請問應該如何檢測?」
3. LLM 逐步解釋,並生成檢測腳本
4. 執行後,將結果加入「教學案例庫」供學生課後複習

場景 B:DevOps 工程師

需求:每次部署前自動進行安全檢測

使用方式
1. 在 CI/CD Pipeline 中調用系統 API
2. 使用「全自動掃描」模式,傳入目標 URL
3. 若發現 Critical 或 High 漏洞,自動阻擋部署
4. 將結果推送至 Slack 通知資安團隊

場景 C:中小企業老闆

需求:定期檢測官網安全性,但無專職資安人員

使用方式
1. 設定每週自動掃描
2. 收到「健康報告」Email,以交通燈號顯示風險等級
3. 報告使用非技術語言,並提供外包廠商的聯繫建議


五大價值的協同效應

這五個核心價值並非獨立存在,而是相互強化:

┌─────────────────────────────────────────────┐
│         資安學習與探究 (價值一)              │
│                    ↓                         │
│   目標、工具與結果對應 (價值二)              │
│                    ↓                         │
│   自動化掃描資料庫 (價值三) ← 持續累積       │
│                    ↓                         │
│   系統化教學案例庫 (價值四) ← 知識沉澱       │
│                    ↓                         │
│   學習與實用並存 (價值五) ← 價值迴圈         │
└─────────────────────────────────────────────┘

協同機制
1. 每次掃描(價值三)都是一次學習機會(價值一)
2. 清晰的對應關係(價值二)使學習更有效
3. 累積的數據(價值三)轉化為教材(價值四)
4. 雙重價值(價值五)吸引更多使用者,產生更多數據,形成正向循環


衡量成功的指標

核心價值 量化指標 目標(MVP 階段)
價值一 使用者在報告頁面的平均停留時間 > 5 分鐘
價值二 「檢測邏輯圖」的查看率 > 60%
價值三 每週新增掃描記錄數 > 100 筆
價值四 教學案例庫的成長速度 每月新增 20+ 案例
價值五 專業模式與學習模式的使用比例 接近 1:1

本文件最後更新:2025-10-21

返回 主文件