新技能安裝後自動進入沙盒掃描,安全審核通過才放行。
text
┌─────────────────────────────────────────────────────┐
│ 1. 安裝新技能 │
│ ↓ │
│ 2. 進入沙盒隔離環境 │
│ ↓ │
│ 3. 本地安全掃描 (skill-vet) │
│ ↓ │
│ 4. VirusTotal 雲端檢測 │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ 安全通過 → 自動放行 ✅ │ │
│ └─────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────┐ │
│ │ 發現風險 → 隔離 + 警告 ⚠️ │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
bash
skill-gatekeeper audit <技能名稱>
bash
skill-gatekeeper install <技能名稱或Slug>
bash
skill-gatekeeper audit-all
bash
skill-gatekeeper config --auto-mode true
skill-gatekeeper config --vt-key <YOUR_VT_KEY>
檢測項目標準結果本地掃描0 高風險✅ 通過VirusTotal0 防毒標記✅ 通過沙盒測試可正常執行✅ 通過
等級標準動作🟢 免費放行全部通過正常安裝🟡 需審核發現警告需人工確認🔴 拒絕安裝發現高風險自動隔離
eval(), new Function() - 動態程式碼執行child_process.exec() - 系統命令執行~/.ssh/, ~/.aws/ 等)被拒絕的技能會移動到隔離區:
text
~/.opencode/config/quarantine/<技能名稱>_<時間戳>
text
🔒 Skill Gatekeeper - 自動化安全審核
─────────────────────────────────────
📦 安裝技能: suspicious-skill
📍 狀態: 進入沙盒隔離環境
🔍 執行本地安全掃描...
🔴 發現: eval() 動態程式碼執行
🔴 發現: child_process.exec() 系統命令執行
📊 分數: 40/100
☁️ 執行 VirusTotal 雲端檢測...
☁️ VT: 45/70 防毒引擎標記 ⚠️
⚠️ 安全審核: 未通過
🔴 本地風險: 高
☁️ 雲端風險: 惡意
📦 已移至隔離區
~/.opencode/config/quarantine/suspicious-skill_20240101