Nov 28, 2022 - 极狐GitLab  
15.6

极狐GitLab 15.6 发布 安全策略级,CI/CD 变量 和 DAST API 扫描的功能升级

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.6 版本,新功能包括其中包括 Git滥用率限制,支持CI/CD变量中的特殊字符,群组级扫描结果策略,按需DAST API 扫描等等。

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.6 版本,新功能包括其中包括 Git滥用率限制,支持CI/CD变量中的特殊字符,群组级扫描结果策略,按需DAST API 扫描等等。

这些只是该版本中30多项改进中的几个亮点。请继续阅读,查看所有更新。

极狐GitLab 15.6 主要功能

群组级扫描结果策略

极狐GitLab 现在支持在群组和子群组级别管理扫描结果策略。这些策略会自动向下继承并应用于群组下的所有项目。这让拥有大量项目的大型组织更容易统一地执行这些策略。使用上,群组或子群组的所有者在 “安全与合规 > 策略 “页面上链接一个相关的安全策略项目。


Git滥用率限制

在极狐GitLab 15.6中,我们将引入Git滥用率限制。启用该功能,当用户在给定的时间范围内下载或克隆某个组或其任何子组中的仓库超过指定数量时,就会自动通知管理员。

你也可以自动禁止超过速率限制的用户。被禁止的用户不能访问主群组或其任何非公开的子群组。对不相关群组的访问则不受影响。默认情况下,禁止是永久性的,但群组管理员可以随时取消被禁止的用户。

Git滥用率限制

按需DAST API 扫描

随着极狐GitLab 15.6 的推出,DAST API分析器现在可以用于极狐GitLab的按需 DAST API扫描。在以前的极狐GitLab版本中,这些按需扫描使用的分析器是传统的DAST分析器。我们的基准测试显示,我们的DAST API分析器发现了更多的漏洞,而且错误率率比我们的传统分析器低。我们的DAST API分析器针对一个有漏洞的API的基准测试显示了86%的正确率,而传统分析器的正确率为36%。此外,基准测试显示,使用我们新的DAST API分析器,误报率下降了78%。DAST API分析器还引入了新的功能,如GraphQL扫描,支持过期的认证令牌,使用Postman集合进行扫描,以及使用HAR文件进行扫描。随着切换到DAST API分析器,一些功能在按需网站配置文件中已经可用。除了在站点配置文件中使用OpenAPI规范来定义API测试外,你现在可以使用Postman集合或HAR文件来确保你的测试得到你所期望的API覆盖。另外,我们还增加了基本认证功能,作为按需API扫描的一个选项,能增加了授权头中使用token认证的功能。下一步,我们将致力于为按需API扫描增加GraphQL支持。在接下来的几个版本中,随着我们加入更多DAST API分析器的高级功能,我们将看到更多的改进。

按需DAST API 扫描

CI/CD变量支持特殊字符

以前,在CI/CD变量中使用 $ 字符很困难,因为 $ 通常表示另一个变量的开始。极狐GitLab 会将其解释为一个变量并试图将其扩展。在这个版本中,我们引入了 variable: expand: 关键字,允许你将一个变量标记为 “raw”。一个原始变量可以包含任何特殊字符,并且在传递给GitLab运行器时不会被展开。

CI/CD变量支持特殊字符

CI/CD 变量支持 rules:exists 配置

.gitlab-ci.yml 配置越复杂,维护和扩展就越困难。通过增加对CI/CD变量支持使用 rules: exists 关键字,你现在可以对路径或文件名使用变量。通过在变量中存储经常使用的值,拥有一个单一的数据来源,确保了行为的一致性,使你的配置更容易管理。

CI/CD 变量支持 `rules:exists` 配置

极狐GitLab 15.6 其他功能

从GitHub导入拉动请求指定的审核人

以前,当把项目从GitHub导入到GitLab时,在GitHub中分配给拉动请求的审核员不会被导入为在GitLab中分配给合并请求的审核员。

在这个版本中,指定的审阅人将作为GitLab中的指定审阅人被导入。以下内容不在此版本的范围内。

  • 审查批准状态。
  • 来自团队的审查请求。

导入GitHub分支保护规则

当你从 GitHub 导入项目到 极狐GitLab 时,GitHub 的分支保护规则如果在 极狐GitLab 上有对应的规则,就会被映射到 极狐GitLab 的分支保护规则中。

  • GitHub 规则“要求在合并项目的默认分支前解决对话问题”映射到 极狐GitLab 设置“所有评论必须解决”。
  • GitHub 规则“要求在合并前提出拉取请求”映射到 极狐GitLab 设置“分支保护规则的允许推送列表中的No one选项”。
  • GitHub 规则“合并前需要拉取请求 - 需要代码所有者的审查”映射到极狐GitLab 设置“代码所有者批准分支保护规则”,需要极狐GitLab 专业版或旗舰版。
  • GitHub 规则“要求项目默认分支的签名提交”映射到极狐GitLab 设置“拒绝无签名提交的推送规则”,需要极狐GitLab 专业版或旗舰版。
  • GitHub 规则“允许强制推送–所有人”映射到极狐GitLab “允许强制推送“分支保护规则。

用于分析已废弃的 schema 的 GraphQL 参数

现在你可以调用GraphQL API 查看所有废弃的schema是否已经移除。要进行这些调用,请将新的 remove_deprecated=true 查询参数添加到GitLab GraphQL API 中。这样,你就可以调用 API 时来验证 GraphQL schema ,而不需要废弃 schema。

防止访客用户查看内部评论

内部评论为组织提供了一种管理议题或史诗的内部沟通方式。我们改进了对这个功能的支持,确保具有访客角色的用户不能创建或查看极狐GitLab议题和史诗的内部评论,即使他们是该议题或史诗的指定人或作者。这为组织提供了保证,即他们的内部评论中的信息只对其组织的成员可见。

从受保护分支的API更新访问级别

以前,用户界面需要更新受保护分支的访问级别。在更新分支的访问级别时,API 要求你先取消保护,然后再重新保护。现在,受保护分支的 API 使你能够直接更新哪些用户或群组被允许推送、允许合并、允许解除保护等等。这种一步到位的方法减少了机器人改变这一设置并使一个分支不受保护的风险。

后台管理中心 Runner 显示任务队列和持续时间

当极狐GitLab管理员从他们的开发团队那里得到报告说某个CI任务在排队等待,比预期时间要慢,他们首先调查的内容之一就是 Runner 的可用性和CI任务的排队时间。虽然有各种方法可以从极狐GitLab中检索到这些数据,但应该提供用户更需要的功能 —— 更清楚地了解某个特定 Runner 是否存在瓶颈的视图。

极狐GitLab管理员现在可以使用 “ Admin > Runner “ 中的 Runner 详情视图来查看 CI 任务的排队时间和任务执行时间指标。

后台管理中心 Runner 显示任务队列和持续时间

Beta:自动撤销被泄露的个人访问令牌

极狐GitLab Secret Detection可以发现代码库中被泄露的凭证,这样就可以撤销并保护组织。它可以检测多种敏感值,包括极狐GitLab个人访问令牌。

极狐GitLab正在开发一项新功能,如果秘密检测发现 jihulab.com 上的个人访问令牌在公共仓库的默认分支上被泄露,就会自动撤销。

查看流水线的多次代码质量扫描报告

极狐GitLab 代码质量功能包括一个MR组件、一个流水线报告和MR diff 注释,以帮助你发现和修复代码中的问题。许多工具,包括代码扫描器和技术文档的翻译器,都可以用代码质量的开放报告格式输出结果。

以前,你只能在流水线报告和MR diff注释中看到单一扫描的结果,使得在流水线中添加自定义扫描工具很困难。

现在,所有的代码质量视图都显示了流水线中保存的所有报告结果。

这个新功能由一个功能标志控制,计划在 15.7 版本中默认启用。

发布版本而不允许访问源代码

以前,授予公共项目的发布功能权限也会允许对源代码的访问。本次更新,可以在不允许访问源代码的情况下发布版本。这对那些使用发布版作为访问软件新版本的方式,但不希望源代码被公开的组织很有用。

Kubernetes 1.25 的支持

这个版本增加了对2022年8月发布的Kubernetes 1.25版本的全面支持。如果你使用Kubernetes,你现在可以将你的集群升级到最新的版本,并利用其所有功能。

阅读更多关于我们的Kubernetes支持政策和其他支持的Kubernetes版本。

用Auto Deploy chart将ConfigMap挂载到volume中

默认的Auto Deploy Helm chart 现在支持 extraVolumesextraVolumeMounts 选项。在过去的版本中,你只能为Kubernetes指定持久性 volume。在其他用例中,你现在可以装载:

  • Secrets和ConfigMaps作为文件挂载到Deployments、CronJob和Workers。
  • 当前或外部的持久性 Volume 挂载到 Deployments、CronJob和Worker。
  • 用 hostPath 挂载私人PKI CA证书,以实现对PKI的信任。

自动将事件严重程度的变化添加到事件时间轴上

事件的严重程度在事件发生之初就被确定,以确保组织采取对应措施。事件的严重程度是根据当时的信息确定的,但随着更多信息的出现,会调整严重程度。在此版本中,事件严重性的变化会自动出现在事件时间轴中。

自动将事件严重程度的变化添加到事件时间轴上

支持依赖项扫描的扫描执行策略

用户现在可以要求依赖项扫描定期运行,或作为项目CI 流水线的一部分,独立于 .gitlab-ci.yml 文件的内容。这使得安全团队可以单独管理这些扫描要求,而不允许开发人员改变配置。你可以通过在 安全与合规性 > 策略 页面创建一个扫描执行策略。

支持依赖项扫描的扫描执行策略

极狐GitLab chart 改进

  • 云原生极狐GitLab将在15.7中用gitlab-base取代alpine-certificates行为。为了防止Alpine和Debian之间的不同行为,并提高容器之间的一致性,我们将在gitlab-base上构建模式。这意味着运营服务容器将共享一个共同的根层,这为Pod实例化时间提供了效率提升。这一变化对用户的影响是,我们将改变使用的镜像名称和标签。我们将在一个短暂的时期内维持一个镜像的标签。

  • 在下一个极狐GitLab主要版本之前,极狐GitLab Helm Chart会有一个新的主要版本发布,与下一个主要版本整体分开。我们不确定这个下一个Helm Chart的主要版本将在何时发布。预计它不会早于2个里程碑,也可能更长。这一点在15.5中已经宣布。这个主要的Helm Chart版本将需要停机,因为我们纳入了大型的更新,需要手动干预升级路径。

在删除前显示一个用户的贡献摘要

以前,当你从管理区删除一个用户和他们的贡献时,并不清楚将要删除的相关贡献是什么,以及有多少。现在,在继续删除一个用户之前,一条确认信息会列出与该用户相关的组、项目、问题和合并请求的数量。这个摘要可以帮助你防止意外地删除项目或子组。

在删除前显示一个用户的贡献摘要

当群组级迁移项目时可以保留MR和议题的关联

当使用极狐GitLab 迁移群组时,极狐GitLab 可以保留导入的合并请求与议题的关联,会在议题详情页上显示相关合并请求信息。

当群组级迁移项目时可以保留MR和议题的关联

贡献分析的新GraphQL API

为了帮助你分析团队的贡献,我们现在已经通过GraphQL公开了贡献分析的数据。使用这个新的API,你可以确定改进的机会,并深入了解你的团队中的最大贡献者。

贡献分析报告将团队的推送事件、合并请求、以及随着时间推移在群组层面上打开或关闭的议题可视化。

贡献分析的新GraphQL API

为从议题中创建的分支配置默认名称

定义一个自定义模板,用于命名由议题创建的分支。之前的设置 {issue ID}-{issue-title-hyphenated} 仍然是默认的。要为你的项目定义一个自定义模板,请进入 Repository Settings > Branch defaults。

为从议题中创建的分支配置默认名称

在 Web 编辑器中为预览 Markdown 的默认分割视图

极狐GitLab 14.2 中引入了预览Markdown文件的分割视图功能。在这个版本中,我们已经将分割视图作为 web 编辑器中预览Markdown的默认视图。在预览选项卡中,你现在可以看到一个实时的Markdown预览,它随着你输入的内容而更新。这样,你可以确定你的语法正确,并按照你的意图渲染,而不必在编辑和预览标签之间切换。

极狐GitLab Runner 15.6

我们今天还发布了极狐GitLab Runner 15.6! 极狐GitLab Runner是一个轻量级、高扩展性的代理,它可以运行你的CI/CD工作并将结果发回给极狐GitLab实例。极狐GitLab Runner与极狐GitLab CI/CD协同工作,后者是极狐GitLab包含的开源持续集成服务。

Bug修复: - Kubernetes中Windows上的极狐GitLab Runner:错误准备失败

所有更改的列表在极狐GitLab Runner CHANGELOG中。

为Python制定的更准确的SAST规则

极狐GitLab漏洞研究团队已经更新了用于Python SAST扫描的规则,以捕捉更多的相关问题,减少假阳性结果。

更新后的规则包含在基于Semgrep的SAST分析器的最新版本中。如果你在极狐GitLab 15.0或更高版本上使用默认的极狐GitLab管理的CI/CD模板进行SAST,你的管道会自动更新基于Semgrep的SAST分析器以使用新规则。

在更新后的第一次扫描中,我们已经确定为假阳性的现有发现将被标记为 “不再检测”,新的发现可能被创建。

静态分析器更新

极狐GitLab静态分析包括许多安全分析器,极狐GitLab静态分析团队积极管理、维护和更新。以下是15.6版本里程碑期间发布的分析器更新。这些更新带来了额外的覆盖面、错误修复和改进。

  • 基于Gitleaks的分析器更新到8.15.0版本。详情见CHANGELOG。这个月,我们还
    • 修复了Slack webhook URLs的规则。
  • 基于KICS的分析器更新到1.6.2版本。更多细节见CHANGELOG。这个月,我们还
    • 增加了CloudFormation和Terraform的新规则。
    • 解决了现有规则中的几个假阳性检测问题。这些规则的检测结果将被标记为 “不再检测”。
    • 改变了一些现有规则的严重程度。
    • 修正了一个问题,即信息级别的发现被错误地映射到未知的严重程度。
  • 基于MobSF的分析器更新到3.6.0版本。参见CHANGELOG了解更多细节。
  • 基于PMD Apex的分析器更新到6.50.0版本。更多细节请参见CHANGELOG。
  • 基于Semgrep的分析器更新到了0.121.2版本。更多详情请见CHANGELOG。
  • 基于SpotBugs的分析器更新至4.7.3版。更多详情请见CHANGELOG。

如果你使用极狐GitLab管理的SAST模板(SAST.gitlab-ci.yml),你不需要做任何事情来接收这些更新。然而,如果你覆盖或定制自己的CI/CD模板,你需要更新你的CI/CD配置。

为了保持在任何分析器的特定版本上,你可以钉在一个分析器的次要版本上。钉在以前的版本上会阻止你接收自动分析器的更新,并需要你在CI/CD模板中手动撞上你的分析器版本。

关于以前的变化,请看上个月的更新。

在部署审批用户界面中显示多个审批规则

在这个版本中,我们在审批界面中为多个审批规则增加了额外的关键信息。现在,在批准部署的工作流程中,你可以看到谁已经批准了,以及还需要多少批准,来自哪些组。这一关键信息使审批决策的透明度和背景得以实现,同时也确保了审计审查期间的合规性。

在部署审批用户界面中显示多个审批规则

基于Helm的部署改进了数值支持

我们在极狐GitLab 15.4中为Kubernetes agent 提供了初版的Helm chart 支持。在那个版本中,Helm value必须包含在Helm chart中,这给用户带来了大规模的代码重复。

这个版本允许你将 Helm value 作为 agent 配置的一部分,在agent配置文件中添加特定环境的值,并在Helm chart 中保留通用值。

用快速操作将链接的资源添加到一个事件中

重要的链接可能最终被埋没在整个事件的评论中。我们在 15.3 中增加了事件中的链接资源。在这个版本中,您可以使用快速操作将一个或多个链接资源添加到事件中。

用快速操作将链接的资源添加到一个事件中

Omnibus 改进

极狐GitLab 15.6 包含了 Mattermost 7.4,其中有 Calls 键盘快捷键和对Board 的多项改进,包括最小默认 Board 角色、访客账户支持和多人属性。这个版本还包括安全更新,建议从早期版本升级。

最低要求的Git版本现在是v2.37.0

现在,Git 的最低要求版本是 v2.37.0。这个较新的版本有很多我们和其他Git社区成员所做的改变,提供了更好的体验并解决了很多问题,包括。

  • 改进了git-fetch的复制速度。
  • 对git-cat-file的改进,减少了所需的生成进程的数量。
  • 一个更新,修复了使用新的core.fsync选项的Git引用中的损坏。
  • 对 git-update-ref 的错误修正,修正了冲刷语义,以便我们能正确地锁定引用。
  • 支持cruft包。
  • 使用 git-merge-tree 计算裸仓库的合并的新功能。

如果你在你的极狐GitLab实例上使用的是未与极狐GitLab捆绑的Git版本,请确保你至少升级到v2.37.0。

60天免费试用极狐GitLab专业版

极狐GitLab不仅是源代码管理或CI/CD工具,它是一个覆盖完整软件开发生命周期和DevOps的开放式一体化平台。

企业版试用