用途:本技能提供静态应用安全测试(SAST)工具的安装、配置与自定义规则创建指导,用于在应用代码中自动检测漏洞,覆盖多种编程语言。适用场合包括在 CI/CD 流水线中搭建 SAST 扫描、为代码库创建自定义安全规则、配置质量门禁与合规策略、优化扫描性能并降低误报,以及集成多个 SAST 工具实现纵深防御。
主要能力按工具划分: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 run -d --name sonarqube -p 9000:9000 sonarqube:10.8-community 启动;CodeQL 可先执行 gh extension install github/gh-codeql,再运行 codeql database create mydb --language=python。可将 Semgrep 接入 GitHub Actions 或 .pre-commit-config.yaml,也可用 semgrep --config p/pci-dss --json -o pci-scan-results.json 做合规扫描。
最佳实践包括:先跑基线扫描确定安全现状并优先修复严重问题;增量采用规则,先安全规则后质量规则,仅对严重问题做阻断;通过文档化抑制、允许列表和定期复核管理误报;排除测试与生成代码、采用增量扫描并缓存结果来优化性能;为团队提供安全培训与内部文档。常见问题:误报率高可调规则敏感度、加路径过滤或创建组织级例外;性能问题可启用增量扫描、并行化、优化规则模式并缓存依赖与结果;集成失败需核对 API 令牌、网络与代理、SARIF 格式兼容性及 CI/CD 运行器权限。
限制:资料未提供具体定价、各工具版本兼容性细节和完整命令参数说明,使用前需结合官方文档确认。