注释
自 2022 年 12 月 31 日起,Microsoft安全代码分析(MSCA)扩展已停用。 MSCA 被 Microsoft Security DevOps Azure DevOps extension 替换。 按照 “配置” 中的说明安装和配置扩展。
借助Microsoft安全代码分析扩展,团队可以将安全代码分析添加到其 Azure DevOps 持续集成和交付(CI/CD)管道。 Microsoft 安全开发生命周期(SDL) 专家建议此分析。
一致的 UX 通过隐藏运行工具的复杂性来简化安全性。 借助基于 NuGet 的工具交付,团队不再需要管理工具的安装或更新。 使用用于生成任务的命令行和基本接口,所有用户都可以尽可能多地控制所需的工具。
团队还可以使用强大的后期处理功能,例如:
- 发布日志以供保留。
- 生成可操作的、面向开发人员的报表。
- 在回归测试上配置生成中断。
为何应使用Microsoft安全代码分析?
安全性简化
将Microsoft安全代码分析工具添加到 Azure DevOps 管道就像添加新任务一样简单。 自定义任务或使用其默认行为。 任务作为 Azure DevOps 管道的一部分运行,并生成详细描述多种结果的日志。
洁净构建
解决工具报告的初始问题后,可以将扩展配置为中断新问题的生成。 在每个拉取请求上很容易地进行持续集成构建。
设置并忘记它
默认情况下,生成任务和工具维持up-to版本。 如果有工具的更新版本,则无需下载并安装该工具。 该扩展为你负责更新。
揭秘
扩展的生成任务隐藏了以下各项的复杂性:
- 运行安全静态分析工具。
- 处理日志文件的分析结果,以创建摘要报告或终止构建。
Microsoft安全代码分析工具集
Microsoft安全代码分析扩展使最新版本的重要分析工具可供你使用。 该扩展包括Microsoft托管工具和开源工具。
使用相应的生成任务配置和运行管道后,这些工具会自动下载到云托管代理。
本部分列出了扩展中当前可用的工具集。 观看更多工具的添加。 此外,请向我们发送你希望我们添加的工具的建议。
反恶意软件扫描程序
反恶意软件扫描程序生成任务现在包含在Microsoft安全代码分析扩展中。 此任务必须在已安装 Windows Defender 的生成代理上运行。 有关详细信息,请参阅 Windows Defender 网站。
BinSkim
BinSkim 是一种可移植可执行文件(PE)轻型扫描程序,用于验证二进制文件的编译器设置、链接器设置和其他安全相关特征。 此构建任务为 binskim.exe 控制台应用程序提供命令行包装器。 BinSkim 是一个开源工具。 有关详细信息,请参阅 GitHub 上的 BinSkim。
凭据扫描程序
存储在源代码中的密码和其他机密是一个重大问题。 凭据扫描程序是一种专有静态分析工具,可帮助解决此问题。 该工具检测源代码和生成输出中的凭据、机密、证书和其他敏感内容。
Roslyn 分析器
Roslyn 分析器是Microsoft编译器集成的工具,用于静态分析托管 C# 和 Visual Basic 代码。 有关详细信息,请参阅 基于 Roslyn 的分析器。
TSLint
TSLint 是一种可扩展的静态分析工具,用于检查 TypeScript 代码中的可读性、可维护性和功能错误。 它受到现代编辑器和生成系统的广泛支持。 可以使用自己的 lint 规则、配置和格式化程序对其进行自定义。 TSLint 是一种开源工具。 有关详细信息,请参阅 GitHub 上的 TSLint。
结果分析和后处理
Microsoft安全代码分析扩展还具有三个后处理任务。 这些任务可帮助你分析安全工具任务找到的结果。 添加到管道时,这些任务通常排在所有其他工具任务之后。
发布安全分析日志
发布安全分析日志生成任务保留生成过程中运行的安全工具的日志文件。 可以读取这些日志以进行调查和跟进。
可以将日志文件作为 .zip 文件发布到 Azure Artifacts。 还可以从专用生成代理将其复制到可访问的文件共享。
安全报告
安全报告生成任务分析日志文件。 这些文件由生成期间运行的安全工具创建。 然后,生成任务将创建单个摘要报表文件。 此文件显示分析工具发现的所有问题。
可以将此任务配置为报告特定工具或所有工具的结果。 还可以选择要报告的问题级别,例如仅错误或同时报告错误和警告。
分析后(生成中断)
使用分析后生成任务,您可以注入一个故意导致生成失败的中断。 如果一个或多个分析工具报告代码中的问题,则注入生成中断。
可以配置此任务以停止因特定工具或所有工具发现的问题而进行的构建。 还可以根据所发现问题的严重性(如错误或警告)对其进行配置。
注释
根据设计,如果任务成功完成,则每个生成任务都会成功。 无论工具是否发现问题,始终如此,这样所有工具都可以运行以确保构建完整完成。
后续步骤
有关如何载入和安装Microsoft安全代码分析的说明,请参阅我们的 载入和安装指南。
有关配置生成任务的详细信息,请参阅 我们的配置指南 或 YAML 配置指南。
如果对扩展和提供的工具有进一步的问题,请查看我们的 常见问题解答页面。