课程大纲

1. 静态代码分析的概念与范围

  • 定义:静态分析、SAST、规则类别与严重性
  • 静态分析在安全SDLC中的范围与风险覆盖
  • SonarQube如何融入安全控制与开发者工作流

2. SonarQube概述:功能与架构

  • 核心服务、数据库与扫描器组件
  • 质量门、质量配置文件与质量门最佳实践
  • 安全相关功能:漏洞、SAST规则与CWE映射

3. SonarQube服务器UI的导航与使用

  • 服务器UI导览:项目、问题、规则、度量与治理视图
  • 解读问题页面、可追溯性与修复指导
  • 报告生成与导出选项

4. 使用构建工具配置SonarScanner

  • 为Maven、Gradle、Ant和MSBuild设置SonarScanner
  • 扫描器属性、排除项与多模块项目的最佳实践
  • 生成必要的测试数据与覆盖率报告以确保分析准确性

5. 与Azure DevOps的集成

  • 在Azure DevOps中配置SonarQube服务连接
  • 将SonarQube任务添加到Azure Pipelines并启用PR装饰
  • 将Azure Repos导入SonarQube并自动化分析

6. 项目配置与第三方分析器

  • 项目级别的质量配置文件与Java和Angular的规则选择
  • 使用第三方分析器与插件生命周期
  • 定义分析参数与参数继承

7. 角色、职责与安全开发方法论回顾

  • 角色分离:开发者、评审者、DevOps、安全负责人
  • 构建CI/CD流程的角色与职责矩阵
  • 现有安全开发方法论的回顾与建议流程

8. 高级:添加规则、调优与增强全局安全功能

  • 使用SonarQube Web API添加与管理自定义规则
  • 调整质量门与自动化策略执行
  • 加强SonarQube服务器安全性与访问控制最佳实践

9. 实践实验室环节(应用)

  • 实验室A:为5个Java仓库(适用时使用Quarkus)配置SonarScanner并分析结果
  • 实验室B:为1个Angular前端配置Sonar分析并解读发现
  • 实验室C:完整流水线实验室——将SonarQube与Azure DevOps流水线集成并启用PR装饰

10. 测试、故障排除与报告解读

  • 测试数据生成与覆盖率测量的策略
  • 常见问题与扫描器、流水线、权限错误的故障排除
  • 如何阅读并向技术与非技术利益相关者展示SonarQube报告

11. 最佳实践与建议

  • 规则集选择与增量执行策略
  • 开发者、评审者与构建流水线的工作流建议
  • 在企业环境中扩展SonarQube的路线图

总结与下一步

要求

  • 了解软件开发生命周期
  • 具备源代码控制和基本CI/CD概念的经验
  • 熟悉Java或Angular开发环境

受众

  • 开发者(Java / Quarkus / Angular)
  • DevOps和CI/CD工程师
  • 安全工程师和应用安全评审员
 21 小时

客户评论 (1)

即将举行的公开课程

课程分类