第三方 Claude Code 技能安全審計。安裝任何第三方 skill 前的系統性安全評估框架。 觸發:安裝新 skill、評估 GitHub skill repo、發現可疑 skill 行為、skill 安全審查。 也觸發於:skill security audit、audit this skill、is this skill safe、 third-party skill、supply chain risk、技能安全檢查、技能信任評估。 不觸發於:一般 code review、自己開發的 skill、系統威脅建模(用 threat-modeling)。
來源:gstack browse skill STRIDE 審計實戰(2026-04-04),發現 4 CRITICAL + 5 HIGH 威脅。 核心原則:安裝前審計,不是安裝後才發現問題。
Claude Code skills 以 SKILL.md 為入口,可執行 bash preamble、讀寫檔案、啟動網路服務、 存取瀏覽器 cookies、收集 telemetry。一個「一鍵安裝」的 skill 可能:
source <() 在 shell 中執行任意程式碼~/.claude/skills/,清理需要 5 輪5 項檢查,決定是否立即拒絕。任何一項 FAIL = 不安裝。
| # | 檢查 | 指令 | 紅線 |
|---|---|---|---|
| QK-1 |
| setup 腳本 |
grep -n 'curl.*|.*bash|sudo' skill/setup |
curl|bash 或 sudo |
| QK-2 | 無認證 endpoint | grep -rn 'no.*auth|AUTH_TOKEN' skill/src/ | 無認證 endpoint 洩露 token |
| QK-3 | Cookie 解密 | grep -rn 'cookie.*decrypt|keychain|AES' skill/src/ | 任何瀏覽器 cookie 解密能力 |
| QK-4 | Preamble RCE | grep -n 'source <(|eval "\$(' skill/SKILL.md | source <() 或 eval |
| QK-5 | Auto-upgrade | grep -rn 'auto.*upgrade|git.*reset.*hard' skill/ | 無簽章自動更新 |
任何一項命中 → 停止。不要安裝。
完整 40 項檢查,分 11 個類別。讀取 references/audit-checklist-full.md 取得詳細指引。
| 類別 | 項目數 | CRITICAL | HIGH | 重點 |
|---|---|---|---|---|
| INST 安裝足跡 | 5 | 2 | 2 | Binary 來源、dependency chain、symlinks |
| NET 網路 | 5 | 1 | 2 | Port binding、CORS、outbound connections |
| CRED 憑證 | 4 | 3 | 1 | Cookie decryption、Keychain access、state files |
| EXEC 程式碼執行 | 4 | 1 | 2 | JS eval、source/eval preamble、subprocess spawning |
| DATA 靜態資料 | 4 | 0 | 1 | Telemetry on disk、chat history、installation UUID |
| TRANSIT 傳輸資料 | 3 | 0 | 1 | Telemetry payload、update security、endpoint config |
| PRIV 權限提升 | 4 | 1 | 3 | Preamble execution、auto-upgrade、prompt override |
| PERSIST 持久性 | 2 | 0 | 0 | Background processes、session markers |
| UNINST 卸載 | 2 | 0 | 0 | Removal completeness、orphaned processes |
| FORENSIC 鑑識 | 5 | 0 | 0 | Usage timeline、cookie history、exfiltration paths |
| PROMPT 注入 | 2 | 0 | 2 | Page content injection、SKILL.md dark patterns |
| 合計 | 40 | 8 | 14 |
已安裝的 skill 發現可疑行為時使用。5 項鑑識檢查:
bash .claude/skills/third-party-skill-security-audit/scripts/quick-scan.sh <skill-dir>
Exit codes:
0: All PASS — 可以安裝1: 1+ HIGH — 需要人工 review2: 1+ CRITICAL — 不要安裝| CRITICAL | HIGH | 決策 |
|---|---|---|
| 0 | 0-2 | 可安裝,定期複查 |
| 0 | 3-5 | 需逐項評估,有緩解方案才安裝 |
| 1-2 | any | 需供應商修復 CRITICAL |
| 3+ | any | 不要安裝 |
| 任何 CRED-001/002 = CRITICAL | — | 絕對紅線:cookie 解密 |
| 技能 | 整合方式 | 何時觸發 |
|---|---|---|
threat-modeling | Deep Audit 後對高風險項做完整 STRIDE 分析 | CRITICAL findings 需要攻擊路徑推演時 |
auto-skill | 記錄審計經驗供未來參考 | 審計完成後 |
context-first-principle | 強制 WHY/WHAT/WHO 三問 | 任何審計行動前 |
2026-04-04 對 gstack browse skill 執行完整審計:
~/.gstack/ + 3 安裝點 + symlinks + processes)localhost-only ≠ 安全、source <() 是最危險的 shell pattern、清理困難度是安裝品質的反指標source <() 是最危險的 shell pattern — 外部程式的 stdout 當 shell code 執行* 讓任何網站跨域存取~/.ssh/id_rsa 到任意網站