
Skill Scanner GitHub Actions部署指南为Agent Skills构建PR安全门禁的完整教程【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scannerSkill Scanner是一个面向 AI Agent Skills 的安全扫描器用于检测提示注入、数据外泄和恶意代码模式。本教程带你完成Skill Scanner 的 GitHub Actions 部署通过一个可复用工作流让每次 PR 自动对.cursor/skills等目录做静态扫描把检测结果以 SARIF 格式推送到 GitHub Code Scanning并配合分支保护规则实现PR 安全门禁——发现 HIGH 及以上风险时自动阻断合并。全程零密钥、5 分钟上手 为什么需要 PR 安全门禁Agent Skills 通常由 SKILL.md 元数据加若干脚本组成一旦混入提示注入、反向 shell、密钥硬编码等恶意内容风险会随 Agent 的调用链放大。手动审查难以覆盖每个 PR而 Skill Scanner 把检测变成了自动化的 CI 步骤每次 push / PR 触发只扫描技能目录速度快结果上传 Code Scanning问题直接以行内批注出现在 PR 上发现 HIGH 及以上严重级别时工作流失败合并被阻断提醒扫描无发现不代表绝对安全门禁是纵深防御的一环高风险场景仍需人工评审详见README中的 Scope and Limitations 说明。一键部署可复用工作流无需任何密钥在仓库的.github/workflows/scan-skills.yml中添加以下内容name: Scan Skills on: push: paths: [.cursor/skills/**] pull_request: paths: [.cursor/skills/**] jobs: scan: uses: cisco-ai-defense/skill-scanner/.github/workflows/scan-skills.ymlmain with: skill_path: .cursor/skills policy: low-noise fail_on_severity: high permissions: security-events: write contents: read推送后它会自动完成四件事在干净的 Runner 上从 PyPI 安装cisco-ai-skill-scanner运行skill-scanner scan-all skill_path --format sarif --recursive --check-overlap把 SARIF 结果上传到 GitHub Code ScanningPR 出现行内批注检测到 HIGH 及以上发现时让工作流失败可由fail_on_severity调整读懂工作流关键输入参数参数默认值说明skill_path必填技能目录或单个技能路径scan_modescan-allscan单个技能或scan-all目录formatsarif支持 summary / json / markdown / table / sarif / htmlpolicybalanced扫描策略strict、balanced、permissive、low-noise、quiet 或自定义 YAML 路径fail_on_severityhigh达到该级别即判定失败critical/high/medium/low/infouse_llmfalse开启 LLM 语义分析需密钥use_behavioralfalse开启行为数据流分析upload_sariftrue是否上传 SARIF 到 Code Scanning完整输入表见官方 GitHub Actions 集成文档。进阶接入 LLM 语义分析Tier 2 配置静态规则零成本、结果确定但理解语义级恶意意图需要 LLM 评审。开启方式在仓库Settings Secrets and variables Actions中配置密钥然后jobs: scan: uses: cisco-ai-defense/skill-scanner/.github/workflows/scan-skills.ymlmain with: skill_path: .cursor/skills use_llm: true llm_model: gpt-4o secrets: llm_api_key: ${{ secrets.SKILL_SCANNER_LLM_API_KEY }}所有密钥都是可选的按需启用即可Secret对应环境变量用途llm_api_keySKILL_SCANNER_LLM_API_KEYuse_llm: true时必填virustotal_api_keyVIRUSTOTAL_API_KEYVirusTotal 二进制扫描需经extra_args白名单传入密钥不会出现在日志中。extra_args只接受白名单内的扫描器标志如--use-virustotal、--use-aidefense、--rule-packs等防止注入任意命令。分析器能力细节可参考LLM Analyzer与Behavioral Analyzer文档。配置分层按需选择你的安全级别层级能力需要的密钥Tier 1 静态分析YARA 规则 行为分析 SARIF 上传无Tier 2 静态 LLM增加 LLM 语义检测1 个LLMTier 3 全栈全部分析器含 VirusTotal 二进制扫描、strict 策略多个LLM VT选型建议团队自研技能仓库推荐 Tier 1 low-noise策略误报率低、结果确定、可复现需要审查第三方技能时再上 Tier 2 的balanced策略按 HIGH 阻断、MEDIUM 进人工评审队列。各角色的推荐配置见Recommended Settings。分支保护让门禁真正卡住PR工作流失败只是红灯要强制生效还需一步分支保护进入Settings Branches Branch protection rules勾选Require status checks to pass before merging搜索并勾选Skill Scanner这个 status check保存从此任何触碰技能文件的 PR 都必须先通过安全扫描才能合并 ✅ 建议搭配 pre-commit 钩子在本地提交前做第一道检查见README中的 Pre-commit Hook 章节源码在 skill_scanner/hooks/pre_commit.py。自托管工作流不想依赖外部仓库时如果你不希望引用外部可复用工作流可以把以下独立工作流直接拷进自己的仓库效果等价name: Scan Skills on: pull_request: paths: [.cursor/skills/**] jobs: scan: runs-on: ubuntu-latest permissions: security-events: write contents: read steps: - uses: actions/checkoutv4 - uses: actions/setup-pythonv5 with: python-version: 3.12 - run: pip install cisco-ai-skill-scanner - name: Scan skills run: | skill-scanner scan-all .cursor/skills \ --format sarif \ --output results.sarif \ --recursive \ --check-overlap \ --fail-on-severity high - name: Upload SARIF if: always() uses: github/codeql-action/upload-sarifv4 with: sarif_file: results.sarif常见问题速查Q为什么我的 PR 没触发扫描确认paths过滤匹配了实际变更目录例如你的技能放在.claude/skills而非.cursor/skills两者都要同步修改。Q如何调整拦截严格度改fail_on_severity如medium或policy如strict。策略预设与调优方法见自定义策略配置和策略速查。Q想加自己的检测规则支持通过extra_args传入--custom-rules目录或--rule-packs规则包编写方法参考自定义规则文档与示例包 examples/custom-rule-pack/。Q本地想先验证一下命令CI 里执行的本质就是一条命令本地可先用CLI跑一遍skill-scanner scan-all .cursor/skills --recursive --policy low-noise --fail-on-severity high --format sarif部署核对清单工作流文件已放入.github/workflows/skill_path与实际目录一致权限包含security-events: write否则 SARIF 上传会失败已勾选分支保护的 Skill Scanner status check可选Tier 2 密钥已配置且llm_model与提供方匹配故意提交一个含硬编码密钥的测试技能确认 PR 被成功拦截完成以上步骤你的 Agent Skills 仓库就拥有了从本地提交到 PR 合并的完整安全防线。更多细节请参阅 docs/github-actions.md、docs/user-guide/recommended-settings.md 与 docs/getting-started/quick-start.md。【免费下载链接】skill-scannerSecurity Scanner for Agent Skills项目地址: https://gitcode.com/gh_mirrors/sk/skill-scanner创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考