---
title: '學習模式'
description: 'Guard 花 7 天學你系統的正常行為，才開始防護。不是偷懶，是為了不亂叫。'
icon: 'graduation-cap'
---

# 學習模式

Guard 會先觀察你的系統 7 天，然後才開始保護。這不是偷懶 -- 這是 Panguard 避免誤報轟炸的方法。誤報太多正是大多數安全工具變廢物的原因。

## 為什麼要學習期？

傳統安全工具裝完就開始狂叫。結果：

- 正常跑的 cron job 被標成可疑行程
- 內部服務被當異常連線
- 每天幾百條警報，幾乎全是誤報
- 使用者直接關通知，工具等於白裝

Guard 花 7 天搞清楚你系統上的**正常行為長什麼樣**，然後才判斷什麼是**不正常的**。

---

## 學習期間在幹嘛

<Steps>
  <Step title="第 1-3 天：收集基線">
    Guard 安靜觀察並記錄：

    - **行程基線** -- 哪些程式平常會跑、啟動時間、資源用量
    - **網路基線** -- 正常連線 pattern、常用 port、流量特徵
    - **檔案基線** -- 重要目錄的變更 pattern
    - **使用者基線** -- 登入時間、來源 IP、操作 pattern

  </Step>
  <Step title="第 4-7 天：建模型">
    Guard 分析收集到的資料：

    - 算出正常行為範圍（mean + standard deviation）
    - 辨識週期性 pattern（每日備份、排程更新）
    - 標記已知安全行為，避免未來誤報

  </Step>
  <Step title="第 8 天起：進入防護模式">
    Guard 自動切換：

    - 切到主動防護模式
    - 偏離基線的行為觸發警報
    - 持續學習，基線隨環境演進

  </Step>
</Steps>

---

## 學習模式 vs. 防護模式

| 屬性         | 學習模式         | 防護模式       |
| ------------ | ---------------- | -------------- |
| **啟動**     | 裝完自動開始     | 7 天後自動切換 |
| **警報**     | 不發             | 偏離基線時發出 |
| **自動回應** | 不執行           | 按信心度執行   |
| **通知**     | 每日學習進度摘要 | 即時威脅通知   |
| **AI 分析**  | 只觀察           | 完整三層漏斗   |

---

## 查看學習進度

```bash
panguard guard status
```

學習期間的輸出範例：

```
  -- Guard Status -----------------------

  Mode:       Learning (Day 3/7)
  Uptime:     3d 14h 22m
  Events:     12,847 observed
  Baseline:   42% complete
  Processes:  187 baselined
  Networks:   34 patterns learned
```

---

## 防護模式的信心度回應

Guard 進入防護模式後，依信心度決定怎麼反應：

| 信心度 | 動作           | 範例                        |
| ------ | -------------- | --------------------------- |
| > 90%  | 自動執行回應   | 已知惡意 IP -- 直接封鎖     |
| 70-90% | 通知你確認     | 可疑行程 -- 問你要不要 kill |
| < 70%  | 只通知，不動作 | 輕微異常 -- 讓你知道就好    |

<Tip>高確定性威脅馬上處理，不確定的交給你判斷。不會亂砍正常行程。</Tip>

---

## 模式轉換條件

從學習到防護不是純粹看天數。Guard 還會看：

- **基線信心度** -- 要到門檻值（>= 0.7）才行，代表資料夠了
- **最低事件數** -- 觀察到的事件要夠多，才能建出有代表性的基線
- **Pattern 覆蓋率** -- 行程、網路、登入、port 這些 pattern 都要有資料

<Info>如果你的系統活動量很低，學習期可能超過 7 天，直到基線信心度達標為止。</Info>

---

## 持續更新基線

防護模式不會把基線凍住。Guard 持續調適：

- **24 小時清除週期** -- 超過 30 天的舊 pattern 會被清掉
- **新 pattern 整合** -- 合法的新服務或行程會逐步納入
- **時段感知** -- 0:00-5:59 的事件會加成信心度（這時段有活動通常比較可疑）

---

## 重置學習期

系統有重大變更的時候（server 搬家、大規模部署），可以重置學習期：

```bash
panguard guard stop
# 清掉資料目錄裡的基線檔
panguard guard start
```

Guard 會重新跑 7 天學習模式，建全新的基線。

<Warning>重置會清掉所有學過的 pattern。新的學習期完成前，Guard 不會發警報也不會自動回應。</Warning>

---

## 相關內容

<CardGroup cols={2}>
  <Card title="三層式 AI 漏斗" icon="brain-circuit" href="/concepts/three-layer-ai">
    規則引擎、本地 AI、雲端 AI 怎麼協同運作。
  </Card>
  <Card title="安全分數" icon="chart-bar" href="/concepts/security-score">
    0-100 分的評分系統，一眼看出安全狀態。
  </Card>
</CardGroup>
