前言¶
在 Cursor、Claude Code 等環境裏,Skill 往往帶腳本、網絡請求和文件讀寫。社區裏一條 skillhub install 或拖進一個 .zip,Agent 就可能按 SKILL.md 裏的指令執行。手工翻每一份 SKILL.md 和 scripts/ 不現實,也難在「裝完再用」和「先審再用」之間保持一致。
下面介紹 SkillScan:把它裝進當前 Agent 的 skills 目錄後,由 Agent 在安裝、加載或評估 Skill 時觸發掃描,對高危、嚴重風險給出攔截策略。
這是什麼¶
SkillScan 是面向 Skill 包的安全防護 Skill。官方簡介寫明:自動檢測已安裝和新添加 Skill 中的安全風險,並在高危、嚴重風險對環境造成損害之前攔截。
在 SkillHub 上的座標爲 @user_0db42586/skillscan,當前頁面版本爲 v1.1.5-2,分類 it-ops-security,來源爲 community,發佈者爲 user_0db42586。標籤標明 requires_api_key=false,安裝本 Skill 本身不依賴額外 API Key。Skill 實現寫在 scripts/scanner.py,文檔說明支持 Windows、macOS、Linux。
核心功能¶
依據 SkillHub 簡介與 SKILL.md 說明,可覈實的能力包括:
- 安裝與加載時觸發:在 Skill 被安裝、加載、添加、評估,或用戶詢問「是否安全」時運行掃描;也覆蓋從 hub、粘貼
SKILL.md、上傳.zip等常見路徑。 - 首次全量掃描:首次加載時若不存在
scripts/.first_run_done,會引導執行first-run,對已有 Skill 做一遍掃描。 - 分級處置:掃描結果通過退出碼區分——
SAFE/UNKNOWN可繼續;LOW/MEDIUM需警告並確認;HIGH/CRITICAL應阻斷並展示詳情。 - 掃描順序規則:
.zip在安裝前掃描,失敗則阻止安裝;目錄形式在文件落盤後掃描;通過 clawhub、skillhub、npx skills add等遠程安裝後應立即掃描。 - 可選雲端分析:掃描器會訪問
https://skillscan.tokauth.com上的接口(緩存查詢、上傳、輪詢結果),用於完成檢測流程;可通過環境變量SKILL_SCANNER_UPDATE_URL自定義更新源。 - 自動更新:文檔寫明每日自動檢查更新,也可手動執行
scanner.py upgrade。
安裝與啓用¶
SkillHub 頁面給出的安裝方式是:讓 Agent 按 SkillHub 安裝文檔 安裝 @user_0db42586/skillscan。
若本機已有 skillhub CLI,安裝時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認落在 ./skills/ 且可能不被識別。文檔中的常用路徑示例:
# 檢查 CLI
command -v skillhub && skillhub --version
# 未安裝時(完整安裝,含默認 Skill)
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
# 安裝 SkillScan 到 Cursor 示例目錄
skillhub install user_0db42586/skillscan --dir ~/.cursor/skills/
Claude Code 可使用 ~/.claude/skills/;Codex 可使用 ~/.codex/skills/ 或項目下的 .agents/skills/。具體以你當前客戶端文檔爲準。
首次加載時,SKILL.md 要求向工作區或用戶級 SOUL.md 追加「Skill Security」規則,以便在未主動加載 SkillScan 時仍強調「安裝前先掃描」。卸載 SkillScan 時,應刪除該段落以保持配置乾淨。
典型用法¶
掃描邏輯由 scripts/scanner.py 提供。在 Skill 目錄下執行(將 <skill_scanner_dir> 換成本機 SkillScan 安裝路徑):
# 首次安裝後:掃描所有已裝 Skill,並寫入 .first_run_done
python <skill_scanner_dir>/scripts/scanner.py first-run
# 掃描單個包(目錄或 .zip)
python <skill_scanner_dir>/scripts/scanner.py scan /path/to/skill-or.zip
# 掃描當前環境已安裝的全部 Skill
python <skill_scanner_dir>/scripts/scanner.py scan-all
# 手動檢查並升級 SkillScan 自身
python <skill_scanner_dir>/scripts/scanner.py upgrade
Agent 側的行爲應與退出碼對齊:0 繼續;1 提示用戶確認;2 阻止使用並說明原因;3 掃描失敗,可重試。文檔要求不要在 Skill 目錄內生成報告文件。
雲端接口(供理解掃描依賴,非手工調用清單):
| 步驟 | 方法 | 路徑 |
|---|---|---|
| 緩存查詢 | GET | /oapi/v1/skill-scan/search?dir_sha256=<dir_sha256> |
| 上傳 | POST | /oapi/v1/skill-scan/upload |
| 輪詢結果 | GET | /oapi/v1/skill-scan/result?task_no=<task_no>(約每 20s,最長約 180s) |
適用場景與注意¶
適合誰:經常從 SkillHub、GitHub 或壓縮包引入第三方 Skill 的團隊或個人;希望把「裝前掃描」寫進 Agent 工作流,而不是偶爾人工抽查。
使用前要接受的約束:
- 掃描依賴外網與
skillscan.tokauth.com,離線或限網環境需自行評估是否可用。 - 首次運行會修改
SOUL.md,若你不希望 Agent 持久化這類策略,需要在安裝前知情,並在卸載時按文檔清理。 - 自動更新會靜默拉取新版本;對更新源有合規要求時,應結合
SKILL_SCANNER_UPDATE_URL與內網策略審查。 - SkillHub 頁面數據(截至資料抓取):評分 100000,下載 8606,安裝 16;社區來源意味着維護節奏與審計結論需自行跟蹤,不宜把「攔截 HIGH/CRITICAL」等同於「零風險」。
結尾¶
SkillScan 把 Skill 安裝鏈路裏的安全動作收斂成可重複的掃描與退出碼策略,並與 SkillHub 上的 @user_0db42586/skillscan 分發對齊。若你要在現有 Agent 里加一道門禁,可從官方頁與安裝文檔入手,裝好後再用 first-run 掃一遍存量 Skill。
官方地址:https://api.skillhub.cn/user_0db42586/skillscan
SkillHub 頁面:https://www.skillhub.cn/skills/user_0db42586/skillscan