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:
@@ -20,8 +20,17 @@
|
||||
### 第二步:已有專案的掃描(已有專案才執行)
|
||||
|
||||
1. 遞迴找出所有 `.md` 檔案
|
||||
2. 對每個檔案標注建議位置和信心度
|
||||
3. 列出清單給使用者確認,**停下來等確認**
|
||||
2. **先套用 `.claude/wiki/.wikiignore`**:命中 pattern 的檔案整個排除,不讀不編入。
|
||||
- 若 `.wikiignore` 不存在,從範本建立一份(預設排除 `.env`/`*.pem`/`*secret*` 等)
|
||||
- 被排除的檔案在清單裡標「🚫 .wikiignore 排除」,**不可被覆蓋**
|
||||
3. 對其餘檔案標注建議位置和信心度
|
||||
4. 列出清單給使用者確認,**停下來等確認**
|
||||
|
||||
> 機敏防護(三層):
|
||||
> - **L1 .wikiignore**:整檔排除(這一步)
|
||||
> - **L2 行內標記**:檔案要編入但某段不要 → 遇到 `<!-- wiki:ignore -->` … `<!-- wiki:end -->` 之間的內容**略過**,只留「(此處機敏,已略過)」
|
||||
> - **L3 hook**:萬一機敏值仍被寫進 wiki,`wiki-secret-scan.sh` 會 exit 2 擋下
|
||||
> 編入任何檔案前,先檢查是否含密碼/金鑰/個資——有就改記「位置」而非「值」。
|
||||
|
||||
分類規則:
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user