不了倉(cāng)庫(kù):Skill Scanner pre-commit鉤子配置實(shí)戰(zhàn)教程)
讓惡意Skill進(jìn)不了倉(cāng)庫(kù)Skill Scanner pre-commit鉤子配置實(shí)戰(zhàn)教程【免費(fèi)下載鏈接】skill-scannerSecurity Scanner for Agent Skills項(xiàng)目地址: https://gitcode.com/gh_mirrors/sk/skill-scannerSkill Scanner 是一款面向 AI Agent Skill 的安全掃描工具它的skill-scanner-pre-commit鉤子可以在你git commit的瞬間自動(dòng)掃描暫存的 Skill發(fā)現(xiàn) HIGH 或 CRITICAL 級(jí)安全問題時(shí)直接攔截提交——把惡意 Skill 擋在倉(cāng)庫(kù)之外。本教程帶你用 3 步完成 pre-commit 鉤子配置并調(diào)出最適合團(tuán)隊(duì)的攔截策略。鉤子如何攔截惡意提交鉤子的核心邏輯很簡(jiǎn)單分為三步定位受影響的 Skill從暫存區(qū)staged diff讀取變更文件向上查找最近的SKILL.md鎖定被修改的 Skill 目錄運(yùn)行掃描復(fù)用 Skill Scanner 的完整分析器規(guī)則匹配、觸發(fā)器分析等毫秒級(jí)完成按閾值裁決只要檢出結(jié)果達(dá)到severity_threshold默認(rèn)high及以上就返回非零退出碼提交失敗。沒有改動(dòng)任何 Skill 的提交會(huì)直接放行不會(huì)拖慢你的日常開發(fā)。一鍵安裝 pre-commit 鉤子安裝 Skill Scanner 后在你的倉(cāng)庫(kù)根目錄執(zhí)行skill-scanner-pre-commit --install它會(huì)自動(dòng)在.git/hooks/pre-commit寫入一個(gè)調(diào)用skill-scanner-pre-commit的鉤子腳本并賦予執(zhí)行權(quán)限。若鉤子已存在會(huì)提示是否覆蓋。 鉤子入口點(diǎn)在 pyproject.toml 中注冊(cè)為skill-scanner-pre-commit命令實(shí)現(xiàn)位于 skill_scanner/hooks/pre_commit.py。如果不想用內(nèi)置安裝方式也可以直接使用倉(cāng)庫(kù)提供的 Shell 版鉤子腳本 scripts/pre-commit-hook.sh復(fù)制到.git/hooks/pre-commit即可。用 .skill_scannerrc 配置攔截策略在倉(cāng)庫(kù)根目錄創(chuàng)建.skill_scannerrc文件也支持.skill_scannerrc.json或skill_scanner.json即可定制行為配置項(xiàng)默認(rèn)值作用severity_thresholdhigh達(dá)到該級(jí)別critical/high/medium/low即攔截提交skills_path.claude/skillsSkill 目錄的根路徑fail_fasttrue遇到第一個(gè)超限 Skill 即停止use_behavioralfalse是否啟用行為分析器use_triggertrue是否啟用觸發(fā)器特異性分析policy默認(rèn)策略策略預(yù)設(shè)名或自定義策略 YAML 路徑官方推薦團(tuán)隊(duì)寫 Skill 時(shí)使用低噪音預(yù)設(shè) HIGH 攔截既快又幾乎不誤傷{ skills_path: .claude/skills, severity_threshold: high, policy: low-noise, fail_fast: true }該配置思路來自 docs/user-guide/recommended-settings.md。接入 pre-commit 框架可選如果你團(tuán)隊(duì)已使用 pre-commit 框架管理各類鉤子在.pre-commit-config.yaml中加入本地鉤子即可repos: - repo: local hooks: - id: skill-scanner name: Skill Scanner entry: skill-scanner-pre-commit language: python pass_filenames: false always_run: true常用命令速查命令用途skill-scanner-pre-commit --install安裝內(nèi)置 Git 鉤子skill-scanner-pre-commit --scan-all掃描全部已配置 Skill而非僅暫存的skill-scanner-pre-commit --severity medium臨時(shí)提高攔截嚴(yán)格度skill-scanner-pre-commit --skills-path .cursor/skills臨時(shí)指定 Skill 路徑skill-scanner-pre-commit --lenient容忍格式不規(guī)范的 Skill不直接報(bào)錯(cuò)在 CI 中沒有暫存區(qū)時(shí)可以用兩個(gè) ref 對(duì)比來跑鉤子pre-commit run skill-scanner --from-ref $BASE_SHA --to-ref $HEAD_SHA兩個(gè)版本必須都存在于當(dāng)前 checkout 中。提交被攔截了怎么辦鉤子失敗時(shí)終端會(huì)列出每條發(fā)現(xiàn)的級(jí)別、標(biāo)題和具體位置文件 行號(hào)。修復(fù)問題后重新提交即可緊急情況下可用git commit --no-verify繞過——但不推薦這會(huì)讓惡意模式溜進(jìn)倉(cāng)庫(kù)。??延伸閱讀鉤子實(shí)現(xiàn)源碼skill_scanner/hooks/pre_commit.pyShell 備用鉤子scripts/pre-commit-hook.sh功能與集成總覽docs/features/index.md推薦配置與實(shí)測(cè)數(shù)據(jù)docs/user-guide/recommended-settings.md快速上手docs/getting-started/quick-start.md配置完成后每一次提交都自帶安全體檢——讓惡意 Skill 在進(jìn)倉(cāng)庫(kù)之前就被攔截正是 Skill Scanner pre-commit 鉤子的價(jià)值所在?!久赓M(fèi)下載鏈接】skill-scannerSecurity Scanner for Agent Skills項(xiàng)目地址: https://gitcode.com/gh_mirrors/sk/skill-scanner創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考