用途:该技能用于搭建与配置静态应用安全测试(SAST)工具,在应用代码中自动检测安全漏洞,适用于在 CI/CD 流水线中建立安全扫描、编写自定义规则、配置质量门禁与合规策略。
主要能力: 一、Semgrep 配置:基于模式匹配编写自定义规则,覆盖 Python、JavaScript、Go、Java 等语言的安全规则,集成 GitHub Actions、GitLab CI、Jenkins,支持误报调优与组织策略执行。 二、SonarQube 配置:质量门禁、安全热点分析、代码覆盖率与技术债务跟踪、按语言定制质量配置、LDAP/SAML 企业集成。 三、CodeQL 分析:集成 GitHub Advanced Security,开发自定义查询,进行变体分析与安全研究,处理 SARIF 结果。
基本用法(命令保持原样): Semgrep 快速开始:pip install semgrep;semgrep --config=auto --error SonarQube(Docker):docker run -d --name sonarqube -p 9000:9000 sonarqube:latest CodeQL CLI:gh extension install github/gh-codeql;codeql database create mydb --language=python 合规扫描示例:semgrep --config p/pci-dss --json -o pci-scan-results.json
最佳实践与限制:先从基线扫描开始,优先处理严重与高危问题;采用增量式引入,先启用安全规则再逐步加入质量规则;管理误报时记录合理抑制项并定期复核;优化性能可排除测试与生成代码、使用增量扫描并缓存结果。常见问题包括误报率高(需调优规则、添加路径过滤)、性能问题(增量、并行、缓存)、集成失败(检查令牌、网络代理、SARIF 格式与运行器权限)。工具对比:Semgrep 适合自定义规则与快速扫描,支持 30+ 语言,免费/企业版;SonarQube 兼顾代码质量与安全,25+ 语言,免费/商业;CodeQL 侧重深度分析与研究,10+ 语言,开源免费,与 GitHub 原生集成。具体价格、平台限制与官方支持范围暂未提供。