⚠️ 使用授權警示:nuclei 是主動式漏洞掃描器,會對目標發送可能觸發漏洞的請求。未經書面授權對他人系統執行掃描,在許多司法管轄區屬於違法行為(台灣:刑法 §358 / §359;美國:CFAA;歐盟:CDA / NIS2)。本教學僅用於:(a) 你擁有的系統,(b) 你以書面合約被授權測試的系統,(c) 公開 Bug Bounty Program 範圍內的標的。
nuclei 完整教學
30 分鐘從安裝到自己寫 template,並理解如何負責任地使用。
1. 專案定位
1.1 一句話總結
nuclei 是 ProjectDiscovery 開發的 YAML-based 高速漏洞掃描器,由全球安全社群維護 11,000+ 公開規則,是現代 DAST (Dynamic Application Security Testing; 動態應用安全測試) 的事實標準。
1.2 它解決什麼問題?
傳統漏洞掃描器(Nessus / OpenVAS / Qualys)有三個問題:
- 規則閉源:你不知道掃描器到底打了什麼請求;誤判 / 漏判難 debug
- 慢:序列化掃描,每個 target 要幾小時
- 規則更新慢:新 CVE 公開到掃描器更新規則往往要數週
nuclei 的解法:
- 規則開源 + YAML 化:每個漏洞 = 一份 YAML,寫法簡單到「會寫 HTTP request + regex 就能寫一條 template」
- 平行化 + clustering:work pool 並發 + 相同請求自動合併
- 社群驅動:新 CVE 公開後幾小時內,社群就會 PR 上 template
1.3 與類似工具的差異
| 工具 | 定位 | 規則來源 | nuclei 差異 |
|---|---|---|---|
| Nessus / Qualys | 商業 vuln scanner | 廠商閉源 | nuclei 全開源 + 客製化規則 |
| OWASP ZAP / Burp | DAST + 主動代理 | 自家 add-on | ZAP 更像「測試平台」;nuclei 更像「規則執行器」 |
| Nikto | 老牌 web scanner | 內建規則 | Nikto 規則少且舊;nuclei 規則 1.1 萬條且每日更新 |
| Wapiti / sqlmap | 特定 vector 專用 | 內建 logic | nuclei 是通用引擎,能用 YAML 表達 sqlmap 不能表達的邏輯 |
1.4 適合誰
- ✅ 紅隊 / 滲透測試:合約授權範圍內快速覆蓋已知 CVE
- ✅ Bug bounty 獵人:對 scope 內 target 跑 nuclei 找低垂果實
- ✅ DevSecOps / 應用安全:把 nuclei 接到 CI/CD,每次部署掃自家系統
- ✅ 藍隊 / SOC:紅隊視角驗證自家偵測能力
- ❌ 沒授權就想掃別人:違法,且 nuclei 流量特徵明顯,被告抓很容易
2. 安裝指南
2.1 環境前提
| 元件 | 版本 | 說明 |
|---|---|---|
| Go | 1.21+ | 從原始碼編譯需要;用預編譯 binary 可跳過 |
| 作業系統 | Linux / macOS / Windows | 全平台支援 |
| 網路 | 對 target 與 Templates repo (GitHub) | 第一次跑會自動 nuclei -ut 下載 templates |
2.2 安裝步驟(5 選 1)
方法 1:Go install(最常用)
1go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
方法 2:Homebrew (macOS / Linux)
1brew install nuclei
方法 3:Docker
1docker pull projectdiscovery/nuclei:latest
2docker run -it --rm projectdiscovery/nuclei -target https://example.com
方法 4:apt (Debian / Ubuntu)
1sudo apt install nuclei
方法 5:預編譯 binary
到 https://github.com/projectdiscovery/nuclei/releases/latest 下載對應平台 zip。
2.3 第一次跑
1# 1. 更新 templates (第一次必跑)
2nuclei -ut
3
4# 2. 確認版本與安裝路徑
5nuclei -version
6which nuclei
7ls ~/.config/nuclei/ # config 在這
8ls ~/nuclei-templates/ # templates 在這
9
10# 3. 對你擁有的測試標的試掃
11nuclei -target http://your-own-test-site.local
2.4 安裝後驗證
1# 看可用 templates 統計
2nuclei -tl | head -20
3
4# 試一個低風險 template (僅做 banner detection,不發攻擊)
5nuclei -target https://example.com -t http/technologies/tech-detect.yaml
3. 核心架構解析
3.1 整體架構
1 ┌──────────────────┐
2target list ───▶ │ Input provider │ (pkg/input)
3 └────────┬─────────┘
4 ▼
5 ┌──────────────────┐ ┌─────────────────────┐
6templates ─────▶ │ Catalog / Loader │───▶│ Templates (parsed) │
7 └────────┬─────────┘ └─────────────────────┘
8 ▼
9 ┌──────────────────┐
10 │ Engine (core) │ ← work pool + clustering
11 └────────┬─────────┘
12 ▼
13 ┌──────────────────┐
14 │ Protocol Request │ ── HTTP / DNS / TCP / SSL / JS / Code
15 └────────┬─────────┘
16 ▼
17 ┌──────────────────┐
18 │ Operators │ ── matchers / extractors
19 └────────┬─────────┘
20 ▼
21 ┌──────────────────┐
22 │ Output / Report │ ── stdout / Jira / Slack / GitLab / Splunk
23 └──────────────────┘
3.2 關鍵 package 與職責
| Package | 行數 | 職責 |
|---|---|---|
cmd/nuclei | 915 行 | CLI 參數解析、組合 runner |
internal/runner | — | 編排整體掃描流程 |
pkg/core | — | Work pool + Template clustering 引擎 |
pkg/templates | — | Template parser / compiler |
pkg/protocols/{http,dns,network,headless,javascript,code,ssl,whois,websocket,file} | — | 各協定請求實作 |
pkg/operators/{matchers,extractors} | — | 匹配規則 (status / word / regex / dsl) 與資料抽取 |
pkg/catalog | — | Template 探索 (本地檔案 / 遠端 git) |
pkg/fuzz | — | Fuzzing engine + DAST 變異 |
pkg/js | — | JavaScript runtime 與 auto-generated bindings |
pkg/reporting | — | Jira / GitLab / Slack / Elastic / Splunk 報告整合 |
lib/ | — | SDK,可嵌入其他 Go 程式作為 library 使用 |
3.3 Template 結構解剖
最小範例:
1id: example-cve-detection
2
3info:
4 name: Example CVE-XXXX-YYYY Detection
5 author: your_handle
6 severity: high
7 description: Detects example vulnerability
8 reference:
9 - https://nvd.nist.gov/vuln/detail/CVE-XXXX-YYYY
10 tags: cve,cve2024,rce
11
12http:
13 - method: GET
14 path:
15 - "{{BaseURL}}/vulnerable-endpoint"
16 matchers-condition: and
17 matchers:
18 - type: status
19 status:
20 - 200
21 - type: word
22 part: body
23 words:
24 - "vulnerable signature"
關鍵欄位:
- id: 全 templates 庫唯一識別
- info: severity (info/low/medium/high/critical)、CVE 編號、tag
- http (或
dns/network/ssl/code/javascript): 協定區塊,列出要送的請求 - matchers: 怎麼判斷漏洞存在 (status / word / regex / binary / dsl)
- extractors: 把回應中的資料抽出來 (給 workflow 後續用)
3.4 Template clustering — 效能秘密
兩個 templates 都打 /wp-login.php:
- Template A 偵測 WP 版本
- Template B 偵測 admin 弱密碼
傳統做法:2 次 HTTP request。
nuclei 做法:1 次 request,把 response 同時餵給 A 與 B 的 matchers。
實測:對一個有 200 個 WordPress 標的的 list 掃描 5000 條 WP-related templates,clustering 可省 60-80% 流量。
3.5 Workflow — 多 template 串接
workflows/wordpress-workflow.yaml 範例:
1workflows:
2 - template: technologies/wordpress-detect.yaml
3 subtemplates:
4 - tags: wordpress
意思:先跑 detect,確認是 WordPress 才接著跑所有 tags: wordpress 的 templates。避免對非 WordPress 系統浪費請求。
4. CLI 詳細用法
完整 flag 清單 (200+) 見
nuclei -h。以下列出最常用。
4.1 目標指定
| Flag | 用途 |
|---|---|
-target <URL> 或 -u | 單一目標 |
-list <file> 或 -l | 從檔案讀目標列表 (一行一個) |
-target <CIDR> | 網段 (CIDR notation,用於 network templates) |
-stdin | 從 stdin 讀目標 (適合 pipe: `subfinder |
4.2 Template 選擇
| Flag | 用途 |
|---|---|
-t <path> | 指定 template 檔案 / 目錄 |
-w <path> | 指定 workflow |
-tags <list> | 跑特定 tag 的 templates (例:-tags cve,sqli) |
-severity <list> | 只跑特定嚴重度 (例:-severity high,critical) |
-author <name> | 只跑特定作者的 templates |
-exclude-templates <path> | 排除特定 templates |
-include-tags <list> | 強制包含預設排除的 tags (如 fuzz) |
4.3 速率控制(重要 — 避免打掛 target)
| Flag | 預設 | 用途 |
|---|---|---|
-rate-limit <N> | 150 | 每秒最多送 N 個請求 (全域,不分 host) |
-bulk-size <N> | 25 | 同時對多少 host 平行掃 |
-concurrency <N> | 25 | 同 host template 並發 |
-timeout <sec> | 10 | 單一 request timeout |
-retries <N> | 1 | 失敗重試次數 |
生產環境建議:對自家系統不需要太保守,對第三方 (bug bounty / 客戶系統):
1nuclei -target $TARGET -rate-limit 50 -bulk-size 5 -concurrency 10
4.4 輸出與報告
| Flag | 用途 |
|---|---|
-o <file> | 結果寫入檔案 |
-jsonl | JSONL 格式輸出 (機器可讀) |
-markdown-export <dir> | 產 markdown 報告 |
-sarif-export <file> | SARIF 格式 (GitHub Code Scanning 用) |
-report-config <yaml> | Jira / GitLab / Slack 報告整合設定 |
-dashboard | 把結果上傳到 ProjectDiscovery cloud (免費) |
4.5 更新與設定
| Flag | 用途 |
|---|---|
-ut 或 -update-templates | 更新 templates 庫 |
-up 或 -update | 更新 nuclei 自己 |
-config <yaml> | 自訂設定檔 |
-tl | 列出所有 templates (template list) |
-validate -t <path> | 驗證自己寫的 template 格式 |
4.6 進階:unsafe / fuzzing
| Flag | 用途 |
|---|---|
-unsafe | 允許送 raw HTTP request (繞 net/http parser 的合法性檢查) |
-interactsh-server <url> | 自架 OOB (out-of-band) 互動式測試 server |
-fuzz | 啟用 fuzzing 模式 (對所有 input 變異) |
-itags fuzz | 強制跑被 .nuclei-ignore 排除的 fuzz templates |
5. 應用場景
5.1 Workflow A — Bug Bounty 快速掃 scope
1# 1. 先用 subfinder 找子網域
2subfinder -d target.com -o subs.txt
3
4# 2. httpx 過濾活著的
5httpx -l subs.txt -o live.txt
6
7# 3. nuclei 跑 high/critical templates
8nuclei -l live.txt -severity high,critical -rate-limit 50 -o findings.txt -markdown-export reports/
5.2 Workflow B — 自家應用 CI/CD 掃描
.github/workflows/security.yml:
1name: nuclei scan
2on:
3 pull_request:
4 schedule:
5 - cron: '0 0 * * *'
6jobs:
7 scan:
8 runs-on: ubuntu-latest
9 steps:
10 - uses: projectdiscovery/nuclei-action@main
11 with:
12 target: https://staging.your-app.com
13 templates: cves/,vulnerabilities/
14 flags: "-severity high,critical -sarif-export results.sarif"
15 - uses: github/codeql-action/upload-sarif@v3
16 with:
17 sarif_file: results.sarif
PR 中發現 high/critical 漏洞自動標 Code Scanning alert。
5.3 Workflow C — 特定 CVE 緊急驗證
新 CVE 公開後,你要快速確認自家 5000 個 endpoint 是否受影響:
1# Log4Shell 例
2nuclei -l all-endpoints.txt -t http/cves/2021/CVE-2021-44228.yaml -jsonl -o log4shell.jsonl
3jq '.host' log4shell.jsonl | sort -u # 列出受影響 host
5.4 Workflow D — 寫自家 template
公司內部 API 規範:每個服務的 /admin 都必須要 401。寫 template 驗證:
1id: internal-admin-must-401
2
3info:
4 name: Internal Admin Endpoint Must Return 401
5 author: appsec
6 severity: medium
7 tags: internal,access-control
8
9http:
10 - method: GET
11 path:
12 - "{{BaseURL}}/admin"
13 matchers:
14 - type: status
15 status:
16 - 200
17 - 403
18 - 500
19 negative: false
跑:nuclei -l services.txt -t custom-templates/internal-admin-must-401.yaml
任何回非 401 的服務都會被告警 — 這是 nuclei 用作 compliance check 的典型場景。
6. 資安掃描報告 — Nuclei 雙重用途說明
這份報告分兩半:
- 6.1:對 nuclei 本身的程式碼 風險評估(你裝 nuclei 會發生什麼)
- 6.2:使用 nuclei 對外掃描 的責任邊界(你跑 nuclei 該注意什麼)
6.1 程式碼風險評估
🟢 低風險 — nuclei 本身
| 風險面向 | 結果 |
|---|---|
| 開源透明度 | 全 MIT、28k 星、3.4k fork,公開審查;ProjectDiscovery 是已知商業安全公司 |
| Supply chain | Go module + go.sum;release 用 goreleaser 簽章;release 流程在 .goreleaser.yml 透明 |
| 套件信任 | go.mod 依賴標準 Go 套件 + projectdiscovery 自家工具鏈 (rawhttp / interactsh-client / utils) |
| JavaScript runtime | 內建沙箱化 JS engine 用於 code/javascript protocol templates;執行不可信第三方 templates = 等於跑不可信 JS(見 6.3 警示) |
| Local code execution | 由 templates 觸發,不會自我修改宿主機 |
| README 自我警示 | 明確標:「Running nuclei as a service may pose security risks」(README §1) |
| 安裝完成後執行檔位置 | $GOPATH/bin/nuclei(go install)、/usr/local/bin/nuclei(apt/brew)— 你可控 |
結論:在「安裝 nuclei 到自家機器」這層,程式碼安全等級 🟢 低。從原始碼角度沒有惡意行為。
6.2 使用授權邊界(🔴 重要:法律與倫理風險)
nuclei 是主動式掃描器:它會送可能觸發 SQL injection、SSRF、RCE、open redirect、XXE 等的請求到目標。在多數司法管轄區,未經授權對他人系統執行漏洞掃描即構成違法。
6.2.1 合法使用情境
| 情境 | 是否合法 | 注意事項 |
|---|---|---|
| 對你擁有的系統 (自家 production / staging / lab) | ✅ 合法 | 仍建議跟 SRE 通知掃描時段,避免誤判為攻擊 |
| 對你書面授權的客戶系統 (滲透測試合約) | ✅ 合法 | 範圍 / 時間 / 工具列表都應在 SOW 內白紙黑字寫明 |
| 公開 Bug Bounty Program 範圍內 | ✅ 合法 | 嚴格依該 program 規則:scope、速率、禁用 vector |
對 *.example.com 教學範例 (RFC 2606) | ✅ 合法 | 但只回 404,不會給你真正的測試素材 |
| 對「我覺得反正掃了不會被抓」的隨機網站 | ❌ 違法 | 流量特徵明顯,被告抓很容易 |
| 對「公開的政府網站」做主動掃描 | ❌ 違法 | 即使公開可訪問,主動掃描仍可能違反 CFAA / 妨害電腦使用罪 |
6.2.2 司法管轄區法規參考
| 地區 | 主要法條 | 簡述 |
|---|---|---|
| 台灣 | 刑法 §358 (入侵他人電腦)、§359 (取得刪除變更電磁紀錄) | 無故輸入帳號密碼或其他方法侵入他人電腦 → 3 年以下 |
| 美國 | CFAA (Computer Fraud and Abuse Act, 18 U.S.C. § 1030) | 未授權存取,最高 10-20 年 |
| 歐盟 | NIS2 Directive + 各國 cybercrime law (e.g. UK Computer Misuse Act 1990) | 未授權存取,最高無上限罰金 + 監禁 |
| 中國 | 刑法 §285 (非法侵入電腦資訊系統罪) | 3 年以下;情節嚴重 7 年以下 |
6.2.3 自我保護 checklist
掃描前確認:
- 我擁有目標 / 我有書面授權 / 標的在公開 BBP scope 內
- 我從自家或授權範圍的 IP 出口執行(不要從 Tor / 跳板,會被當作攻擊者)
- 我設了合理的
-rate-limit(建議 50 對第三方),避免 DoS 嫌疑 - 我不跑會造成資料改動的 templates (除非明確授權):
-severity info,low,medium、避開tags: intrusive、tags: fuzz - 我留掃描時的 log / nuclei 版本 / templates 版本,供事後追溯
- 對 production 目標,我避開尖峰時段並通知該系統的 SRE
6.2.4 紅旗 — 立即停止的情境
掃描中若遇到以下情境,立刻停止並回報合約 / BBP 對方:
- 觸發了會造成資料變更的漏洞 (例:寫入 webshell、改密碼)
- 發現超出授權範圍的子系統 (例:合約只覆蓋
www.example.com,但掃出admin.example.com) - 發現他人的個資 / 機密資料
- 系統開始回 5xx / 嚴重變慢 (可能是你打掛了)
6.3 Template 信任問題(🟡 中等風險)
nuclei 的威力來自社群 templates,但這也代表:跑社群 template = 信任社群作者。
6.3.1 風險
- v3 引入 JavaScript runtime,template 可內嵌 JS code
- 任何 PR 進
nuclei-templates都需通過 review,但 review 規模大、不一定每行 JS 都人類審過 - 第三方 template repo(非官方
projectdiscovery/nuclei-templates)審查完全不可信
6.3.2 緩解
- ✅ 預設只用
~/nuclei-templates/(官方 repo),用-ut同步 - ⚠️ 第三方 templates 先審再跑:尤其檢查
code:/javascript:/unsafe:區塊 - ✅ 公司內部正式環境用「lockfile」固定 template 版本,不要 latest
- ✅ 對未審過的 template,先在 lab 環境跑一次,看流量是否符合預期
7. FAQ
Q1:第一次跑 nuclei -target ... 沒結果?
A:八成是沒先跑 nuclei -ut 下載 templates。~/nuclei-templates/ 是空的。
Q2:掃出 false positive 怎麼辦?
A:好新聞 — nuclei 設計重點就是「先打真正會觸發漏洞的 request 才報」。如果還有 FP,到 nuclei-templates repo 開 issue 並附 PoC,社群很活躍。
Q3:可以用在 internal network 嗎?
A:可以,但要明白 nuclei 預設假設「target 可從你機器直接到達」。對複雜內網拓撲,可能要先用 jumpbox 或 socks proxy:nuclei -target ... -proxy socks5://127.0.0.1:1080。
Q4:怎麼限制 nuclei 不要打 DoS / 改資料的 templates? A:用 tag 排除:
1nuclei -target $T -etags intrusive,dos,fuzz
Q5:nuclei 跟 subfinder / httpx / katana 怎麼搭?
A:典型 recon → scan pipeline:
1subfinder -d target.com | httpx -silent | katana | nuclei -severity high,critical
這是 ProjectDiscovery 工具鏈設計的核心 use case。
Q6:商業版 Pro / Enterprise 跟 OSS 有什麼差? A:OSS 是完整功能;Pro 賣的是:50× 速度的雲端執行、SAML SSO、多人協作 dashboard、Jira/Slack/PagerDuty 深度整合、SOC 2 報告。對個人 / 小團隊 OSS 完全夠用。
Q7:可以把 nuclei 結果丟給 LLM 整理嗎?
A:可以 — 用 -jsonl 輸出,然後 pipe 給 Claude / GPT 摘要。但注意:findings 含 target URL 與漏洞細節,這是敏感資料,不要丟到公開 LLM API(OpenAI / Anthropic / Google)的非企業帳號。建議用 self-hosted LLM 或企業版(有 zero retention 條款)。
Q8:用作合規 / 報告產出,nuclei 夠嗎? A:取決於合規框架:
- OWASP ASVS / PCI-DSS testing:nuclei + manual review 通常足夠
- ISO 27001 / SOC 2:nuclei 結果可作為 evidence 一部分
- CWE / CVE 完整覆蓋:nuclei 強在 known CVE,但對 business logic 漏洞需手動測
8. 進階技巧
8.1 寫 template 的最佳實踐
- 從 modify 既有 template 開始:不要從零開始,找個類似漏洞的 template 改
- 嚴格的 matcher:避免單純 word match,盡量用
matchers-condition: and組合多個條件 info.severity要老實:critical 嚴重度後續會影響 SLA,灌水會失去信任info.reference必填:附 CVE / advisory URL,方便事後驗證
8.2 Interactsh — OOB (out-of-band) 漏洞偵測
對於 blind SSRF / blind SQLi / RCE 等「漏洞觸發但沒回顯」的情境,nuclei 用 interactsh 提供 OOB 通道:
1http:
2 - method: POST
3 path:
4 - "{{BaseURL}}/vulnerable"
5 body: |
6 {"url": "http://{{interactsh-url}}/poc"}
7 matchers:
8 - type: word
9 part: interactsh_protocol
10 words:
11 - "http"
target 若有 SSRF,會打回 interactsh server,nuclei 就知道漏洞觸發了。生產環境建議自架 interactsh 而非用公開的 oast.fun,避免漏洞資訊外洩。
8.3 用 lib/ 嵌入 Go 程式
1import nuclei "github.com/projectdiscovery/nuclei/v3/lib"
2
3func main() {
4 ne, _ := nuclei.NewNucleiEngine(
5 nuclei.WithTemplateFilters(nuclei.TemplateFilters{Severity: "critical"}),
6 )
7 defer ne.Close()
8 ne.LoadAllTemplates()
9 ne.ExecuteWithCallback(nuclei.WithCallback(func(event *output.ResultEvent) {
10 fmt.Println("Found:", event.TemplateID, event.Host)
11 }))
12}
適合做自家 SaaS:使用者上傳 target,後端跑 nuclei,結果以 webhook 推回。
8.4 自訂 reporting integration
~/.config/nuclei/report-config.yaml:
1gitlab:
2 base_url: https://gitlab.example.com
3 username: appsec-bot
4 token: $GITLAB_TOKEN
5 project_id: 42
6 issue_label: nuclei,vulnerability,severity/${severity}
跑:nuclei -target X -report-config ~/.config/nuclei/report-config.yaml,所有 finding 自動開 GitLab issue。
9. 整合進其他工作流
9.1 與 ProjectDiscovery 工具鏈
1subfinder ─▶ httpx ─▶ katana ─▶ nuclei ─▶ pdcp dashboard
2 找子網域 過濾活的 爬連結 跑漏洞 可視化
9.2 與 SIEM / DFIR
把 nuclei -jsonl 輸出餵給 SIEM (Splunk / Elastic / Datadog):
1nuclei -l targets.txt -jsonl | curl -X POST \
2 -H "Content-Type: application/json" \
3 --data-binary @- \
4 https://splunk.example.com/services/collector
9.3 與 IaC / Compliance
把「公司應用必須遵守的 spec」寫成 nuclei templates,在 CI 跑 → 不通過則 fail PR。例如:
- 所有 prod endpoint 必須 HTTPS + HSTS
/admin必須回 401- 任何 response 不得含
Server: nginx/1.16.x(已知漏洞版本)
9.4 與 LLM agent
把 nuclei 輸出餵給 Claude / GPT,請 LLM 做:
- 嚴重度分類(template severity 之外的 business context)
- 修補建議
- false positive 過濾
但記住 6.2 — findings 是敏感資料,要選對 LLM provider。
10. 重點摘要 Checklist
- nuclei 是主動式掃描器,未經授權對他人系統執行 = 違法
- YAML-based templates:規則開源、社群維護、寫法簡單
- 安裝:
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest+nuclei -ut - 第一次跑前:
nuclei -ut同步 templates 庫 - 速率控制:對第三方 target 用
-rate-limit 50 -bulk-size 5 - 嚴重度過濾:
-severity high,critical聚焦真正高優先 finding - 避免破壞性 tags:
-etags intrusive,dos,fuzz排除可能造成資料變更或 DoS 的 template - 第三方 templates 先審再跑:v3 內嵌 JS runtime,等於跑外部 code
- 生產環境用 lockfile:固定 template 版本,不要永遠 latest
- 整合 CI/CD:用
projectdiscovery/nuclei-actionGitHub Action 自動掃 PR - 法律 / 合約完備:書面授權 + scope + 時間範圍 + 工具清單,缺一不可
11. 進一步閱讀
官方
- 主 repo:
projectdiscovery/nuclei - Templates:
projectdiscovery/nuclei-templates - 官方文件:https://docs.projectdiscovery.io/tools/nuclei
- 線上 template 編輯器(AI 輔助):https://cloud.projectdiscovery.io/templates
- YouTube 教學系列:https://www.youtube.com/playlist?list=PLZRbR9aMzTTpItEdeNSulo8bYsvil80Rl
- Discord 社群:https://discord.gg/projectdiscovery
周邊工具鏈
- subfinder — 子網域爆破
- httpx — HTTP probing
- katana — 爬蟲
- interactsh — OOB testing infrastructure
- naabu — port scanner
法律 / 倫理
- Bugcrowd Vulnerability Rating Taxonomy
- HackerOne Disclosure Guidelines
- 台灣:刑法 §358-§363 條文
- 美國:CFAA wiki
進階閱讀
DESIGN.md— 完整架構文件(561 行)FUZZING.md— Fuzzing 引擎設計- ProjectDiscovery 部落格:https://blog.projectdiscovery.io/
免責聲明:本教學由 AI Knowledge Template 自動產生,技術內容僅供研究與授權測試使用。未經書面授權對他人系統執行漏洞掃描可能構成違法。本教學作者與 nuclei 開發團隊均不對誤用 / 違法使用負責。如有疑慮,請先諮詢律師或合規團隊。
Comments