扩展对 GitHub 拉取请求的安全扫描和状态转换支持

我们正在扩展 GitHub 高级安全性中的支持,以包含 URI 位置的结果,从而从容器和动态扫描工具提供更广泛的覆盖范围。

我们还改进了 GitHub 拉取请求连接到 Azure Boards 工作项的方式,使得在合并拉取请求时,使工作项状态保持最新变得更加容易。

有关详细信息,请查看发行说明。

概况

GitHub 为 Azure DevOps 提供的高级安全功能

Azure Boards:

概况

管理高权限范围、管道装饰器和未发布的扩展插件

Azure DevOps 扩展可改进产品功能和工作流,但特权范围较高的扩展可能会带来各种风险。

我们添加了一项新功能,用于标记每个组织的管理页面和 Visual Studio Marketplace 安装页上的这些范围,帮助管理员做出明智的决策。 未发布的扩展和管道修饰器也标记为管理员注意并采取适当的措施。

反馈框的屏幕截图。

有关详细信息,请访问 文档 页。

OAuth 应用的重叠秘密

Azure DevOps 为 OAuth 应用引入了重叠机密,这是 UI 和 API 上提供的一项新功能,旨在简化机密轮换并减少停机时间。

应用程序设置的屏幕截图。

使用重叠的机密,开发人员可以生成新机密,而旧机密仍然有效,确保在机密轮换期间不间断访问。 通过此更新,我们还将默认机密有效期缩短到 60 天。 随着 Azure DevOps OAuth 应用在 2026 年即将被弃用,此更新为仍然依赖它们的团队提供了重要的安全性改进。 立即试用,以简化机密管理并提高复原能力。 在我们的博客文章中了解详细信息。

GitHub 为 Azure DevOps 提供的高级安全功能

高级安全性现在接受带有 URI 位置的结果

以前,高级安全拒绝了包含 URI 列为警报位置的结果的 SARIF 文件。 这通常影响容器扫描工具和动态应用程序扫描工具。 高级安全性现在可以有条件地接受和显示这些工具的发现。

若要启用此功能,请设置管道变量 advancedsecurity.publish.allowmissingpartialfingerprints

trigger: none

variables:
  advancedsecurity.publish.allowmissingpartialfingerprints: true


jobs:
  - job: "AdvancedSecurityPublish"
    displayName: "🛡 Publish ZAP SARIF"
    steps:
      - task: AdvancedSecurity-Publish@1
        displayName: Publish to ZAP SARIF to Advanced Security
        inputs:
          SarifsInputDirectory: $(Build.SourcesDirectory)/sarifs/

Azure Boards

GitHub 集成:状态转换支持

我们扩展了将 GitHub 拉取请求链接到 Azure Boards 工作项的支持! 以前,仅支持关键字 Fixes AB#{ID} 。 通过此更新,现在可以用于 {State or Category} AB#{ID} 自动将工作项转换为合并时所需的状态。

如果 GitHub 拉取请求说明包含状态名称(例如, Validate AB#1234),则链接的工作项的状态将因此更新。 如果无法识别状态名称,我们将检查它是否与状态类别匹配(如 Resolved)。 如果这样做,工作项将转换为该类别中的第一个可用状态。

验证工作项的屏幕截图。

如果未找到匹配的状态或类别,则忽略关键字,并且不会更新工作项的状态。

最后,Fixes AB#{ID} 关键字继续如预期地正常工作,默认为“已关闭”状态值。

后续步骤

注释

这些功能将在未来两到三周内推出。

请去 Azure DevOps 上看看。

如何提供反馈

我们很乐意听到你对这些功能的看法。 使用帮助菜单报告问题或提供建议。

提出建议

还可以获取 Stack Overflow 上的社区解答的建议和问题。

谢谢

丹·海雷姆