联系我们
 课程时长 21 小时

课程大纲

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

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

2. SonarQube概述:功能和架构

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

3. SonarQube服务器界面的导航和使用

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

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工程师
  • 安全工程师和应用安全审查人员

客户评论 (1)

即将举行的公开课程

课程分类