---
title: '掃描器類型'
description: 'Panguard Scan 內建 10 種掃描器的完整參考。'
icon: 'list-check'
---

Panguard Scan 內建 10 種專用掃描器，各自針對不同的攻擊面。所有掃描器用 `Promise.all` 同時跑，速度拉到最快。快速模式跑前 7 種，完整模式再加 SSL、排程任務、共享資料夾。

## 掃描器一覽

### 1. Discovery 掃描器

蒐集基礎系統資訊，給其他掃描器當 context 用。

| 欄位         | 說明                                     |
| ------------ | ---------------------------------------- |
| **可用模式** | 快速 + 完整                              |
| **蒐集資料** | OS 發行版、版本、kernel、架構、hostname  |
| **輸出**     | `SystemDiscovery` 物件，供下游掃描器使用 |

### 2. CVE 檢查器

比對系統的 OS 和已裝套件是否有已知 CVE。

| 欄位           | 說明                                           |
| -------------- | ---------------------------------------------- |
| **可用模式**   | 快速 + 完整                                    |
| **偵測方式**   | OS 版本指紋辨識、套件版本比對                  |
| **嚴重度對應** | CVSS 分數對應到 CRITICAL / HIGH / MEDIUM / LOW |
| **輸出**       | 命中的 CVE 清單，附修復建議                    |

### 3. SAST（靜態應用程式安全測試）

掃描原始碼目錄找安全弱點。

| 欄位         | 說明                                                                    |
| ------------ | ----------------------------------------------------------------------- |
| **可用模式** | 用 `panguard scan code` 子命令                                          |
| **支援語言** | JavaScript, TypeScript, Python, PHP, Ruby, Java, Go                     |
| **偵測項目** | SQL injection、XSS、command injection、path traversal、不安全的反序列化 |
| **輸出**     | 弱點清單，含檔案路徑、行號、修復方法                                    |

```bash
panguard scan code --dir ./my-project
```

### 4. Secrets 檢查器

掃描檔案裡 hardcode 的密鑰、API key、token 和憑證。

| 欄位         | 說明                                                             |
| ------------ | ---------------------------------------------------------------- |
| **可用模式** | 用 `panguard scan code` 子命令                                   |
| **偵測模式** | AWS key、GitHub token、private key、DB URL、JWT secret、高熵字串 |
| **降低誤報** | 自動忽略測試檔、範例檔和已知 placeholder                         |

### 5. 密碼策略稽核器

檢查系統的密碼策略 config。

| 欄位         | 說明                                                  |
| ------------ | ----------------------------------------------------- |
| **可用模式** | 快速 + 完整                                           |
| **檢查項目** | 最短密碼長度、複雜度要求、到期策略、帳戶鎖定策略      |
| **支援平台** | Linux (PAM)、macOS (pwpolicy)、Windows (net accounts) |

### 6. 排程任務掃描器

稽核 cron job 和排程任務裡的可疑項目。

| 欄位         | 說明                                                                                                                  |
| ------------ | --------------------------------------------------------------------------------------------------------------------- |
| **可用模式** | 僅完整模式                                                                                                            |
| **偵測項目** | 下載指令（curl, wget）、reverse shell、base64 編碼 payload、不尋常的執行路徑、非標準排程時間                          |
| **資料來源** | `/etc/crontab`、user crontab、`/etc/cron.d/`、systemd timers (Linux)；launchd plist (macOS)；Task Scheduler (Windows) |

### 7. 開放 Port 掃描器

找出所有在 listen 的 port，標記高風險服務。

| 欄位            | 說明                                                                                                                  |
| --------------- | --------------------------------------------------------------------------------------------------------------------- |
| **可用模式**    | 快速 + 完整                                                                                                           |
| **偵測方式**    | 解析 `netstat` / `ss` / `lsof` 輸出                                                                                   |
| **高風險 port** | SSH (22)、FTP (21)、Telnet (23)、MySQL (3306)、PostgreSQL (5432)、Redis (6379)、MongoDB (27017)、Elasticsearch (9200) |
| **風險因素**    | 綁定 0.0.0.0、沒開 TLS、敏感服務用預設 port                                                                           |

### 8. 共享資料夾掃描器

檢查檔案共享 config 有沒有權限開太大。

| 欄位         | 說明                                                       |
| ------------ | ---------------------------------------------------------- |
| **可用模式** | 僅完整模式                                                 |
| **檢查項目** | SMB/CIFS share、NFS export、公用資料夾權限                 |
| **偵測項目** | 匿名存取已開、敏感目錄 world-readable、未驗證的 guest 存取 |

### 9. SSL/TLS 憑證檢查器

驗證系統上的 SSL/TLS 憑證。

| 欄位         | 說明                                                                                                                  |
| ------------ | --------------------------------------------------------------------------------------------------------------------- |
| **可用模式** | 僅完整模式                                                                                                            |
| **檢查項目** | 到期日、自簽憑證、key 強度（至少 2048-bit RSA 或 256-bit ECDSA）、憑證鏈完整性、已廢棄協定（SSLv3, TLS 1.0, TLS 1.1） |
| **資料來源** | 系統憑證 store、常見憑證路徑、跑著的 HTTPS 服務                                                                       |

### 10. 合規對應

把所有掃描器的弱點對應到合規框架的控制項。

| 欄位         | 說明                                         |
| ------------ | -------------------------------------------- |
| **可用模式** | 快速 + 完整                                  |
| **框架**     | ISO 27001、SOC 2、台灣資通安全管理法（TCSA） |
| **輸出**     | 每個弱點標註對應的合規控制項                 |

## 掃描器執行流程

所有掃描器用 `Promise.all` 並行跑，速度最大化。Discovery 掃描器的輸出會當共用 context 給其他掃描器。

```
Discovery ──┐
CVE ────────┤
Ports ──────┤
Password ───┤  ──> Aggregate ──> Risk Score ──> Report
Firewall ───┤
Security ───┤
SSL ────────┤ (僅完整模式)
Tasks ──────┤ (僅完整模式)
Shares ─────┘ (僅完整模式)
Compliance ─── (後處理)
```
