GitLabはバージョン17.8のリリースを発表した。このバージョンには、大幅なセキュリティ強化、コンテナリポジトリの新機能、機械学習機能、より優れたデプロイメント追跡機能が含まれている。このアップデートには60以上の改良が含まれており、GitLabコミュニティから121の貢献があった。
しかし、この新リリースと旧バージョン17.6と17.7に、優先度の高いクロスサイトスクリプティングの脆弱性が最近見つかったため、GitLabはバージョン17.8.2へのアップグレードをユーザーに推奨している。この問題については脆弱性CVE-2025-0376が発行されており、攻撃者が変更ページ経由で不正なアクションを実行できるようになっている。
バージョン17.8リリースの主要な機能は、保護されたコンテナリポジトリの導入であり、イメージのプッシュ、プル、および管理操作に対して、より厳格なアクセス制御ときめ細かな権限を与える。このツールは、ユーザーがリポジトリにプッシュするために必要な最小アクセスレベルのパラメータを追加し、GitLab CI/CDパイプラインと統合することで、機密性の高いコンテナリポジトリへの不正アクセスのリスクを低減する。
GitLabのYouTubeチャンネルで公開されたデモビデオでは、開発者アドボケイトのDaniel Helfand氏とFernando Diaz氏が、新しい保護されたコンテナリポジトリ機能について説明している。Gerardo Navarro氏とSiemensのチームによって提供されたこの機能によって、組織はコンテナレジストリのプッシュに対してロールベースのアクセス制御を実装できるようになり、機密性の高いコンテナイメージのセキュリティが強化される。
デモでは、Helfand氏に開発者権限を、Diaz氏にオーナー権限を与えている。Diaz氏は次に、コンテナリポジトリの保護ルールを設定する方法を実演し、「リポジトリパスパターンを追加できます......真ん中に"main"という単語を含むものはすべて保護されます」と説明する。彼は、プッシュの最小アクセスレベルをメンテナに設定し、メンテナ権限を持つユーザだけが保護されたコンテナイメージを変更できるようにしている。
保護の有効性を証明するために、発表者は2つのテストを行った。まず、Diaz氏は自身のmentainerアカウントを使用してパイプラインを実行し、コンテナイメージをプッシュすることに成功した。このプロセスは問題なく完了し、適切な権限を持つユーザーが保護されたリポジトリを更新できることが示された。次にHelfand氏は、開発者アカウントで同じパイプラインを試行し、セキュリティ制御を実証した。予想通り、この試みはシステムによってプッシュが阻止されて失敗し、メンテナ権限のないユーザーは保護されたコンテナを変更できないことが確認された。
GitLab 17.8 には他にも多くの機能強化が施されている。リリースページでは、リリースがどこにデプロイされ、どの環境がデプロイ待ちなのかを追跡できるようになり、これまで別々の情報源から集められていた情報が一元化されている。
このリリースはまた、機械学習モデルの実験のトラッキングが一般公開され、データ サイエンティストがGitLab内で直接MLflow実験からパラメータ、メトリクス、成果物を記録できるようにした。これは実験の再現性にも役立つ。このリリースでは、新しいGitLab MLOps Pythonクライアントもベータ版として提供され、ユーザーはPythonスクリプトやノートブックから実験トラッキングやモデルレジストリ統合といったGitLabのMLOps機能を直接操作できるようになり、コンテキストスイッチの必要性が減った。
VS CodeでのSASTスキャンが、GitLab Ultimate購読者向けの実験的機能として利用可能になった。ローカルSASTスキャンにより、開発者はコードをコミットまたはプッシュする前にセキュリティの脆弱性を見つけることができる。
macOS 用の大規模な M2 Pro ホスト ランナーは現在ベータ版であり、Apple エコシステムでアプリケーションを開発するチーム向けに、M1ランナーの最大2倍のパフォーマンスを提供する。GitLabのシングルテナントSaaSソリューションであるGitLab Dedicatedでは、ホストされたLinuxランナーを限定的に利用できるようになった。この機能により、個別のランナーインフラを維持する必要がなくなった。
マージリクエストの承認ポリシーにおいて、複数の異なる承認アクションを新たにサポートすることで、コンプライアンスとセキュリティが改善された。この機能強化により、組織は異なるロールやグループの承認者の特定の組み合わせを必要とする複雑なワークフローを含め、1つのポリシーにつき最大5つの承認ルールを作成ができる。脆弱性管理も改善され、脆弱性を解決したコミットへのリンクが課題に追加されるようになった。
このアップデートには、他にも多くのワークフローの改善が含まれており、その中には以下のようなものがある:
-
課題またはマージリクエスト内の複数のToDo項目を追跡する機能
-
管理、時間追跡、健全性、およびエピック用の新しいウェブフックに関するエピック機能の強化
-
秘密漏れを修正するための修正ステップ
-
ロールを使って、コードオーナーにプロジェクトメンバーを定義できるようになった
GitLab 17.8は現在利用可能だ。