联系我们
 课程时长 21 小时

课程大纲

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服务连接。
  • 在Azure Pipelines中添加SonarQube任务及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工程师
  • 安全工程师及应用安全审查员

客户评论 (1)

即将举行的公开课程

课程分类