用途:在部署到生产或预发布环境前、合并到 main/master 前、发布前安全评审,或用户明确要求“run security audit”时执行安全审计。不适用于本地开发测试、沙箱/临时环境和功能分支迭代。
主要能力:检测项目上下文(Web 应用、API、CLI、库)与 monorepo 结构,解析审计范围(应用及其依赖),并行运行密钥扫描、依赖扫描、代码 SAST、错误配置扫描,并整合 GitHub 安全告警(Dependabot、代码扫描、密钥扫描)。按项目上下文过滤发现项,提取可执行安全需求,生成报告并做门禁决策:范围内 CRITICAL 阻止部署,HIGH 警告,MEDIUM/LOW 仅告知。
使用方式:始终使用技能自带脚本,不要自造命令。脚本位于 skills/security-auditor/scripts/,运行前先进入该技能目录。完整审计:./scripts/audit.sh;仅变更/PR 检查:./scripts/audit.sh --changed-only;monorepo 范围审计:./scripts/audit.sh --scope apps/my-api。
配置:contexts.yaml 映射项目类型与漏洞类别以减少误报;severity-gates.yaml 定义阻止部署的条件;monorepo-patterns.yaml 检测 npm workspaces、Turborepo、Nx、Lerna、Go modules、Python 项目;semgrep-rulesets.yaml 按上下文提供规则集。
输出:报告写入项目根目录 .security-audit/SECURITY-AUDIT.md,可用 --output <dir> 或 SECURITY_AUDIT_ROOT 覆盖;同时生成 .security-audit/SECURITY-REQUIREMENTS.md。报告为时间点快照,建议将 .security-audit/ 加入 .gitignore,在 CI/CD 中作为制品而非提交文件。
限制:阻止行为仅针对范围内且在该项目上下文中可利用的 CRITICAL 发现;范围外或不可利用的发现仅警告或忽略。工具栈包括 Trivy(Apache 2.0)、Semgrep(LGPL 2.1)与 github-ops 技能。其他细节暂未提供。