feat: wiki 機敏防護三層(.wikiignore + 行內標記 + secret-scan hook)
不想被編入 wiki 的內容(密碼/金鑰/個資)三層防線: - L1 .wikiignore:整個機敏檔不編入(glob,像 .gitignore) - L2 行內標記 <!-- wiki:ignore -->:檔案內某段不編入 - L3 wiki-secret-scan.sh hook:機敏值真寫進 .claude/wiki/ → exit 2 擋 L3 偵測密碼賦值/PEM 私鑰/AWS·GitHub·Slack·Google·Stripe 金鑰/JWT/ 連線字串帳密/台灣身分證/信用卡號;wiki-secret-ok 行尾標記可豁免誤判。 wiki-init/wiki-capture/SKILL 寫入 L1+L2 協議。 誠實限制:L1/L2 靠 CC 自律、L3 靠 regex(有偽陽/偽陰),減少意外外洩 非保險箱——真正的密鑰本就不該進版控。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,26 @@ description: >-
|
||||
|
||||
---
|
||||
|
||||
## 機敏內容防護(三層)
|
||||
|
||||
有些內容不該被編入 wiki——密碼、API 金鑰、私鑰、個資。三層防線:
|
||||
|
||||
| 層 | 機制 | 擋什麼 | 性質 |
|
||||
|----|------|--------|------|
|
||||
| **L1** | `.claude/wiki/.wikiignore`(glob,像 .gitignore) | 整個機敏檔不編入 | 協議(CC 遵守) |
|
||||
| **L2** | 行內標記 `<!-- wiki:ignore -->` … `<!-- wiki:end -->` | 檔案內某段不編入 | 協議(CC 遵守) |
|
||||
| **L3** | `wiki-secret-scan.sh` hook(PreToolUse) | 機敏值真的寫進 wiki → exit 2 擋 | 硬攔截(機械偵測) |
|
||||
|
||||
**CC 的守則**:
|
||||
1. init/migrate 掃描時,**先套 `.wikiignore`** 再分類;命中的檔案不讀不編入。
|
||||
2. 編入任何內容前,自檢有無密碼/金鑰/個資——有就記「位置」不記「值」。
|
||||
3. L3 是兜底底線,不是藉口:別把機敏值帶到寫入那一刻才靠 hook 攔。
|
||||
|
||||
> 誠實限制:L1/L2 靠 CC 自律,L3 靠 regex 特徵(有偽陽/偽陰)。
|
||||
> 這是「減少意外外洩」的機制,不是保險箱。真正的密鑰本就不該進版控。
|
||||
|
||||
---
|
||||
|
||||
## 流程 A:新專案 Init
|
||||
|
||||
1. 建立目錄結構
|
||||
|
||||
Reference in New Issue
Block a user