GitLab 18.1이 지난 19일 출시됐습니다. 이번 업데이트에서는 Maven 가상 레지스트리 베타 버전, Duo Code Review GA 버전, GitLab 기본 자격 증명의 유출된 비밀번호 탐지 기능을 선보였습니다. 아울러 CI/CD 컴포넌트 기반 SLSA Level 1 컴플라이언스 달성을 지원하며, Pipeline Execution Policy의 변수 우선순위 제어 기능을 업데이트했습니다.

위 내용은 이번 릴리즈에서 선보인 110개 이상 개선 사항 중 몇 가지 주요 사항입니다. 아래에 주요 업데이트 내용을 모두 확인하세요. 다음 달 릴리즈 내용을 미리 보려면, 예정 릴리즈 페이지를 살펴보세요.

Maven 가상 레지스트리 베타 버전 출시

PREMIUMULTIMATE

Maven 가상 레지스트리는 GitLab에서 Maven 의존성 관리를 간소화합니다. Maven 가상 레지스트리가 없으면 Maven Central, 프라이빗 리포지터리, 또는 GitLab 패키지 레지스트리에서 의존성에 접근하도록 각 프로젝트를 구성해야 합니다. 이 방식은 순차적인 리포지터리 쿼리 때문에 빌드 속도를 늦추고, 보안 감사와 컴플라이언스 보고를 복잡하게 만듭니다.

Maven 가상 레지스트리는 단일 엔드포인트 뒤에 여러 업스트림 리포지터리를 집계해 이러한 문제를 해결합니다. 플랫폼 엔지니어는 하나의 URL로 Maven Central, 프라이빗 레지스트리, GitLab 패키지 레지스트리를 구성할 수 있습니다. 지능형 캐싱은 빌드 성능을 향상하고, GitLab의 인증 시스템과 통합됩니다. 조직은 구성 오버헤드 감소, 더 빠른 빌드, 보안과 컴플라이언스 향상을 위한 중앙 집중식 액세스 제어의 이점을 누릴 수 있습니다.

Maven 가상 레지스트리는 현재 GitLab.com과 GitLab Self-Managed에서 GitLab Premium과 Ultimate 고객에게 베타 버전으로 제공됩니다. GA(Generally Available) 릴리즈에는 레지스트리 구성을 위한 웹 기반 사용자 인터페이스, 공유 가능한 업스트림 기능, 캐시 관리를 위한 라이프사이클 정책, 향상된 분석 기능이 추가됩니다. 현재 베타 제한 사항에는 최상위 그룹당 최대 20개의 가상 레지스트리, 가상 레지스트리당 최대 20개의 업스트림이 지원되며, 베타 기간에는 API 전용 구성만 가능합니다.

엔터프라이즈 고객 여러분이 Maven 가상 레지스트리 베타 프로그램에 참여해 최종 릴리즈 완성을 도와주시길 부탁드립니다. 베타 참여자는 기능의 조기 접근 권한, GitLab 제품 팀과 직접 소통, 평가 기간 중 우선 지원 혜택을 받을 수 있습니다. 베타 프로그램에 참여하려면, 이슈 498139에 참여 의사와 사용 사례 정보를 남겨주시고, 이슈 543045에 피드백과 제안 사항을 공유해 주시길 바랍니다.

Duo Code Review GA 버전 출시

PREMIUMULTIMATEDUO ENTERPRISE
출처=GitLab | 인포그랩 GitLab
출처=GitLab

Duo Code Review가 이제 GA 버전으로 출시돼 프로덕션 환경에서 사용할 수 있습니다. 이 AI 기반 코드 리뷰 어시스턴트는 Merge request(MR)에 지능적이고 자동화된 피드백을 제공해 기존 코드 리뷰 프로세스를 혁신합니다. 이는 인간 리뷰어가 개입하기 전에 잠재적 버그, 보안 취약점, 코드 품질 문제를 확인해 전체 리뷰 프로세스를 더 효율적이고 철저하게 만듭니다. 주요 기능은 다음과 같습니다.

  • 자동 초기 리뷰: Duo Code Review는 코드 변경 사항을 분석하고 잠재적 문제, 개선 사항, 모범 관행에 포괄적인 피드백을 제공합니다.
  • 인터랙티브 개선: MR 댓글에 @GitLabDuo를 멘션하면 특정 변경 사항이나 질문에 맞춤형 피드백을 받을 수 있습니다.
  • 실행 가능한 제안: 많은 제안을 브라우저에서 직접 적용할 수 있어 개선 과정이 간소화됩니다.
  • 컨텍스트 인식 분석: 변경된 파일을 이해해 관련성 있고 프로젝트에 특화된 권장 사항을 제공합니다.

코드 리뷰를 요청하려면,

  • MR에서 /assign_reviewer @GitLabDuo 퀵 액션을 사용해 @GitLabDuo를 리뷰어로 추가하거나, GitLab Duo를 직접 리뷰어로 지정하세요.
  • 댓글에 @GitLabDuo를 멘션해 특정 질문을 하거나, 논의 스레드에 집중 피드백을 요청하세요.
  • 프로젝트 설정에서 자동 리뷰를 활성화하면, GitLab Duo가 모든 새로운 MR을 자동으로 리뷰합니다.

Duo Code Review는 팀이 수동 리뷰 사이클에 소요되는 시간을 줄이면서 더 높은 코드 품질 기준을 유지하도록 돕습니다. 문제를 조기에 발견하고 교육적인 피드백을 제공해 개발 팀을 위한 품질 게이트와 학습 도구 역할을 합니다.

베타 릴리즈에서 Duo Code Review 영상을 확인하세요.

이 기능의 지속적인 개선을 위해 이슈 517386에 경험과 피드백을 공유해 주세요.

GitLab 기본 자격 증명의 유출된 비밀번호 탐지

FREEPREMIUMULTIMATE

(SaaS 전용)

GitLab 프로젝트 화면에 뜬 비밀번호 유출 가능성 알림 배너. 출처=GitLab | 인포그랩 GitLab
GitLab 프로젝트 화면에 뜬 비밀번호 유출 가능성 알림 배너. 출처=GitLab

이제 GitLab.com에 로그인할 때, GitLab.com은 계정 자격 증명의 보안 검사를 수행합니다. 비밀번호가 알려진 유출 목록에 포함됐다면, GitLab은 배너를 표시하고 이메일 알림을 보냅니다. 이 알림에는 자격 증명을 업데이트하는 방법 안내가 포함됩니다.

최대 보안을 위해 GitLab은 GitLab 전용으로 고유하고 강력한 비밀번호를 사용하며, 2단계 인증을 활성화하고, 계정 활동을 정기적으로 검토할 것을 권장합니다.

참고: 이 기능은 GitLab의 기본 사용자 이름과 비밀번호에만 적용됩니다. SSO 자격 증명은 검사하지 않습니다.

CI/CD 컴포넌트 기반 SLSA Level 1 컴플라이언스 달성 지원

FREEPREMIUMULTIMATE
GitLab CI/CD 카탈로그의 SLSA 관련 컴포넌트 리드미 화면. 출처=GitLab | 인포그랩 GitLab
GitLab CI/CD 카탈로그의 SLSA 관련 컴포넌트 리드미 화면. 출처=GitLab

이제 GitLab Runner에서 생성된 SLSA 준수 아티팩트 프로비넌스 메타데이터에 서명하고 검증하는, GitLab의 새로운 CI/CD 컴포넌트를 사용해 SLSA Level 1 컴플라이언스를 달성할 수 있습니다. 이 컴포넌트는 Sigstore Cosign 기능을 CI/CD 워크플로에 쉽게 통합할 수 있는 재사용 가능한 모듈로 래핑합니다.

Pipeline Execution Policy의 변수 우선순위 제어

ULTIMATE
GitLab Pipeline Execution Policy의 변수 제어 화면. 출처=GitLab | 인포그랩 GitLab
GitLab Pipeline Execution Policy의 변수 제어 화면. 출처=GitLab

보안 팀은 보안 보장과 개발자 경험 사이에서 미묘한 균형을 유지해야 할 때가 많습니다. 보안 스캔이 적절히 적용되도록 보장하는 게 중요하지만, 보안 분석기는 정상적으로 동작하기 위해 개발 팀의 특정 입력이 필요할 수 있습니다. 이제 변수 우선순위 제어 기능을 사용해 보안 팀은 새로운 variables_override 구성 옵션으로 Pipeline Execution Policy에서 변수 처리 방식을 세밀하게 제어할 수 있습니다.

이 새로운 구성을 사용하면, 다음 작업을 수행할 수 있습니다.

  • 프로젝트별 컨테이너 이미지 경로를 허용하는 컨테이너 스캐닝 정책을 적용합니다(CS_IMAGE).
  • SAST_EXCLUDED_PATHS와 같은 저위험 변수를 허용하면서, SAST_DISABLED와 같은 고위험 변수를 차단합니다.
  • AWS_CREDENTIALS와 같은 전역 CI/CD 변수로 보안이 적용된(마스킹 또는 숨김 처리) 전역 공유 자격 증명을 정의하면서, 필요 시 프로젝트 수준의 CI/CD 변수로 프로젝트별 오버라이드를 허용합니다.

이 강력한 기능은 두 가지 접근 방식을 지원합니다.

  • 변수 기본 잠금 (allow: false): 예외로 지정된 특정 변수를 제외하고 모든 변수를 잠급니다.
  • 변수 기본 허용 (allow: true): 변수를 맞춤화하도록 허용하지만, 중요한 위험 변수는 예외로 지정해 제한합니다.

Pipeline Execution Policy가 CI/CD job의 소스일 때 추적성과 문제 해결을 개선하기 위해, GitLab은 개발자와 보안 팀이 정책으로 실행된 job을 확인하도록 돕는 job 로그를 도입합니다. Job 로그는 변수 오버라이드의 영향을 상세히 알려줘 변수가 정책으로 오버라이드되거나 잠겼는지 이해하도록 돕습니다.

실제 영향

이 개선 사항은 보안 요구 사항과 개발자 유연성 간의 간극을 해소합니다.

  • 보안 팀은 표준화된 스캐닝을 강제 적용하면서도, 프로젝트별 맞춤 설정을 허용할 수 있습니다.
  • 개발자는 정책 예외를 요청하지 않고도, 프로젝트별 변수에 제어 권한을 유지합니다.
  • 조직은 개발 워크플로를 방해하지 않으면서 일관된 보안 정책을 구현할 수 있습니다.

이 중요한 변수 제어 문제를 해결함으로써, GitLab은 조직에서 팀이 소프트웨어를 효율적으로 제공하는 데 필요한 유연성을 희생하지 않고도 강력한 보안 정책을 구현하도록 지원합니다.

인포그랩의 기술지원 서비스를 받으세요!

완벽한 GitLab 구축부터 성공적인 DevOps 도입까지! 인포그랩과 DevOps 라이프사이클을 함께하세요.

(이 포스트는 GitLab의 동의를 받아 공식 블로그의 영문 포스트를 우리말로 번역한 글입니다.)

Tip! 인포그랩의 GitLab 버전별 기능에서 버전별로 추가된 기능을 검색해 볼 수 있습니다.