GitLab/vulnerability-management

10 개의 포스트

gitlab

GitLab 19.2 릴리스 노트 | GitLab Docs (새 탭에서 열림)

GitLab 19.2는 GitLab Duo와 AI 에이전트 기능을 중심으로 개발·보안·운영 자동화를 강화한 릴리스입니다. Duo CLI와 커스텀 플로우가 정식 출시되었고, 정책 기반 예약 파이프라인과 Agentic Chat 연동이 추가되었습니다. 또한 의존성 취약점 자동 수정, 비기본 브랜치 취약점 추적, 하위 그룹 단위의 Duo 접근 제어가 베타 또는 정식 기능으로 제공됩니다. ## GitLab Duo CLI 정식 출시 - 터미널에서 GitLab Duo Agent Platform을 사용할 수 있습니다. - 코드베이스에 대한 복잡한 질문을 하거나 변경 작업을 자율적으로 수행하도록 요청할 수 있습니다. - 외부 AI 도구와 달리 GitLab 프로젝트, 파이프라인, 에이전트 설정을 문맥으로 활용합니다. - 주요 기능: - 대화형 모드와 CI/CD용 헤드리스 모드 - 모델 선택 및 세션 공유 - 도구 실행 승인 - MCP(Model Context Protocol) 연결 - 슬래시 명령어와 컨텍스트 사용량·압축 관리 - `AGENTS.md`와 스킬을 활용한 사용자 정의 - `glab`을 통해 설치하거나 독립 실행형 도구로 설치할 수 있습니다. - GitLab Self-Managed와 Dedicated에서는 관리자가 기능을 켜거나 끌 수 있습니다. ## GitLab Duo 커스텀 플로우 정식 출시 - 여러 단계로 구성된 AI 기반 작업 흐름을 YAML로 정의하고 재사용할 수 있습니다. - GitLab 이벤트에 따라 반복적인 개발·운영 작업을 자동 실행합니다. - 주요 기능: - 팀별 YAML 워크플로 - 복잡한 작업을 위한 멀티 에이전트 오케스트레이션 - 승인이나 피드백을 받는 HITL(Human-in-the-loop) 체크포인트 - 멘션, 담당자 지정, 파이프라인, 머지 리퀘스트 이벤트 트리거 - 프로젝트 또는 AI Catalog에서 플로우 생성·관리 - 공개·비공개 가시성 설정 - 서비스 계정과 복합 ID를 이용한 보안 실행 - 실행 전 YAML 검증 - GitLab CI/CD 안에서 실행되므로 별도 외부 자동화 플랫폼 없이 운영할 수 있습니다. ## 예약 파이프라인 실행 정책 정식 출시 - 보안 정책 프로젝트에서 일정을 한 번 정의하면 범위 내 여러 프로젝트에 강제 적용할 수 있습니다. - 각 프로젝트의 `.gitlab-ci.yml`을 직접 수정하지 않아도 됩니다. - 커밋 활동과 무관하게 일·주·월 단위로 다음 작업을 실행할 수 있습니다. - 컴플라이언스 검사 - 보안 스캔 - 의존성 취약점 점검 - 각 정책은 별도 파이프라인으로 실행됩니다. - 시간대, 실행 시간 분산 범위, 대상 브랜치를 설정할 수 있습니다. - 코드 변경이 드문 저장소에서도 새롭게 발견된 취약점을 주기적으로 탐지하는 데 유용합니다. ## Agentic Chat에서 기본 플로우 시작 - 기존에는 특정 UI 동작, 멘션, 담당자 지정 등을 통해 시작하던 기본 플로우를 Agentic Chat 대화 중에도 실행할 수 있습니다. - 요청 내용에 맞춰 전문 플로우로 넘길 수 있습니다. - Developer Flow: 코드 변경 또는 머지 리퀘스트 생성 - Code Review Flow: 머지 리퀘스트 검토 - Fix CI/CD Pipeline Flow: 실패한 파이프라인 진단 및 수정 - 사용자가 채팅에서 전환을 승인한 뒤, 대화창이나 **AI > Sessions**에서 진행 상황을 확인합니다. ## 의존성 스캔 자동 수정 베타 - 취약한 의존성을 자동으로 수정하는 두 가지 기능이 추가되었습니다. - 자동 의존성 버전 업데이트: - 취약한 의존성을 안전한 버전으로 올리는 머지 리퀘스트를 자동 생성합니다. - 기본적으로 패치 및 마이너 버전 업데이트를 대상으로 합니다. - Agentic Breaking Change Resolution: - 의존성 업데이트 후 파이프라인이 주요 변경 사항으로 실패하면 GitLab Duo가 원인을 분석합니다. - 파이프라인 오류, 의존성 변경 로그, 프로젝트의 실제 사용 방식을 함께 검토합니다. - 같은 머지 리퀘스트에 수정 사항을 커밋하고 파이프라인을 통과할 때까지 재실행합니다. - 활성화하면 메이저 버전 업데이트도 대상에 포함됩니다. - GitLab Credits를 사용합니다. - 결과적으로 GitLab이 수정 머지 리퀘스트를 생성하고, Duo가 복잡한 호환성 문제까지 해결하는 자동화된 보안 수정 흐름을 제공합니다. ## 비기본 브랜치 취약점 추적 베타 - 기본 브랜치 외에도 장기 유지되는 릴리스·배포 브랜치의 취약점을 추적할 수 있습니다. - 예시는 다음과 같습니다. - `project-qa` - `project-prod` - `project-iOS` - `project-android` - 보안 설정에서 추적 브랜치를 추가할 수 있으며, 네임스페이스 프로젝트 수의 최대 두 배까지 등록할 수 있습니다. - 취약점 보고서와 프로젝트 보안 대시보드에서 브랜치별 필터링을 지원합니다. - CVE를 포함한 모든 취약점 유형을 추적합니다. - 브랜치가 기본 브랜치에 병합될 때 취약점 상태 메타데이터를 일관되게 유지합니다. - 추적 브랜치의 취약점 상태도 갱신할 수 있습니다. - 사용 브랜치는 너무 많이 지정하기보다 환경별·플랫폼별 장기 브랜치로 제한하는 것이 권장됩니다. ## 하위 그룹별 GitLab Duo 접근 제어 - GitLab Dedicated 및 Dedicated for Government 관리자는 특정 하위 그룹에서 Duo와 Duo Agent Platform을 제한할 수 있습니다. - 기존에는 전체 인스턴스에서 비활성화하거나 모든 그룹에서 사용 가능하게 하는 방식만 제공되었습니다. - 이제 하위 그룹별 기본 거부(default-deny) 및 허용 목록(allowlist) 정책을 적용할 수 있습니다. - 특정 그룹을 **Always off**로 잠그면 하위 그룹과 프로젝트에서도 기능을 활성화할 수 없습니다. - 다른 그룹은 Owner 권한 사용자의 선택에 맡길 수 있습니다. - 잠금 설정과 해제는 관리자만 수행할 수 있으며, 영향을 받는 Owner에게는 상위 그룹 정책으로 기능이 잠겼다는 안내가 표시됩니다. - 조직의 규정 준수와 AI 기능 사용 범위에 대한 플랫폼 거버넌스를 세밀하게 관리할 수 있습니다. ## 실용적인 적용 방향 - 개발팀은 Duo CLI와 Agentic Chat을 코드 작성, 코드 리뷰, 실패한 파이프라인 수정에 활용할 수 있습니다. - 보안팀은 예약 파이프라인 정책과 의존성 자동 수정으로 지속적인 취약점 대응 체계를 구성할 수 있습니다. - 릴리스 브랜치를 운영하는 조직은 비기본 브랜치 추적을 제한적으로 적용하는 것이 좋습니다. - 규제 환경에서는 하위 그룹별 Duo 허용 정책을 사용해 AI 기능을 조직 단위로 통제하는 것이 적합합니다.

gitlab

취약점 통합 관점: 스캐너 커버리지에서 AI 거버넌스까지 (새 탭에서 열림)

GitLab 19.1은 여러 보안 스캐너의 결과와 적용 범위를 하나의 취약점 화면에서 관리하고, 프로젝트 전체에 스캐너 정책을 강제할 수 있도록 한다. 또한 시크릿 탐지 정확도를 높이고, AI 에이전트의 도구 사용을 승인 절차와 감사 로그로 통제해 자동화와 보안을 함께 확보하는 것이 글의 핵심이다. 궁극적으로 목표는 검증 가능한 스캐너 적용 범위와 통제된 AI 에이전트 자율성이다. ## 서드파티 스캐너 적용 범위의 중앙 관리 - 기업에서는 프로젝트마다 서로 다른 보안 스캐너를 설정하는 경우가 많아, 어떤 프로젝트가 실제로 검사되고 있는지 파악하기 어렵다. - 신규 프로젝트가 스캐너 설정에서 빠지면 몇 주 동안 검사되지 않은 코드가 배포될 수 있다. - GitLab 19.1에서는 **SARIF 형식으로 결과를 출력하는 서드파티 스캐너**를 GitLab 정책에 따라 모든 프로젝트에 적용할 수 있다. - 각 스캐너의 결과는 GitLab의 단일 취약점 화면으로 통합되며, 동일한 정책과 규칙으로 관리된다. - 이를 통해 스캐너 적용 범위를 추정하는 대신 감사나 보고에서 입증할 수 있다. ## 서드파티 취약점의 자동 remediation - 서드파티 스캐너에서 발견한 취약점도 GitLab 네이티브 스캐너 결과와 동일한 자동화 흐름에 포함된다. - **SAST False Positive Detection**이 오탐 가능성을 분류해 실제 위험이 높은 이슈를 우선 처리한다. - **Agentic SAST Vulnerability Resolution**은 수정안을 생성하고 바로 병합할 수 있는 머지 리퀘스트를 자동으로 연다. - 결과적으로 취약점이 프로덕션에 도달하기 전에 자동 수정할 가능성이 높아진다. ## 시크릿 탐지 범위 확대와 오탐 감소 - 기존에는 새 브랜치에서 최신 커밋만 검사했기 때문에, 이전 커밋에 포함된 비밀 정보가 탐지되지 않을 수 있었다. - 이제 새 브랜치의 **모든 커밋을 검사**해 시크릿이 처음 도입된 지점을 놓칠 가능성을 줄인다. - 정식 출시된 **Secret False Positive Detection**은 각 탐지 결과에 신뢰도 점수와 설명을 제공한다. - 테스트용 자격 증명, 예시 토큰, 플레이스홀더 값과 실제 유출된 비밀 정보를 구분하는 데 도움을 준다. - 개발자는 오탐을 정리하는 데 쓰는 시간을 줄이고 실제 자격 증명 노출에 집중할 수 있다. ## AI 에이전트의 도구 사용 통제 - 코딩 에이전트는 머지 리퀘스트 생성, 도구 호출, 코드 커밋 등을 수행할 수 있지만, 승인 후에는 파일 작성·삭제·푸시까지 자동으로 실행할 위험이 있다. - 조직은 에이전트가 행동하기 전에 허용 범위를 정하고, 행동 이후에는 무엇을 했는지 증명할 수 있어야 한다. - 베타 기능인 **Agent tool approval guardrails**를 사용하면 관리자마다 에이전트 도구를 다음처럼 설정할 수 있다. - 자동 실행 - 사람의 승인 후 실행 - 실행 차단 - 파일 작성이나 리소스 삭제처럼 민감한 작업은 담당자의 승인 전까지 보류할 수 있다. ## AI 감사 이벤트와 책임 추적 - 베타 기능인 **AI audit event streaming**은 에이전트의 모든 활동을 감사 이벤트로 기록하고 기존 감사 로그 저장소로 스트리밍한다. - 사람이 승인하거나 거부한 결정도 감사 이벤트로 남는다. - 사고 대응이나 감사 시 에이전트가 언제 어떤 도구를 사용했고, 어떤 변경을 수행했는지 확인할 수 있다. - 이를 통해 에이전트가 완전히 제한되는 것이 아니라, 사전에 정한 경계 안에서 자율적으로 작업하는 **통제된 자율성(governed autonomy)**을 구현한다. ## 실용적인 적용 방향 조직은 먼저 모든 프로젝트에 SARIF 기반 스캐너 정책을 강제해 보안 검사 공백을 제거하고, 통합 취약점 화면에서 결과를 관리하는 것이 좋다. 이후 시크릿 탐지와 오탐 분류를 활성화하고, AI 에이전트에는 파일 삭제·코드 푸시 등 고위험 작업에 사람 승인과 감사 로그를 적용하는 방식이 적절하다.

gitlab

SBOM 기반 종속성 스캔으로 공급망 위험 줄이기 (새 탭에서 열림)

오늘날 소프트웨어 공급망에서는 직접 선언한 패키지만 확인하는 기존 방식으로는 취약점의 유입 경로와 실제 위험 범위를 파악하기 어렵다. GitLab 19.0의 SBOM 기반 의존성 스캐닝은 직접·간접 의존성을 모두 목록화하고, 취약 패키지가 어떤 경로로 포함됐는지와 애플리케이션에서 실제 사용되는지를 분석한다. 이를 통해 개발자는 병합 전에 문제를 수정하고, 보안팀은 실제 노출 가능성이 높은 취약점부터 대응할 수 있다. ## SBOM 기반 의존성 스캐닝의 동작 방식 - 프로젝트의 서드파티 라이브러리와 패키지를 분석해 CycloneDX 형식의 SBOM을 생성한다. - 생성된 구성 요소를 GitLab Advisory Database와 대조해 알려진 취약점을 탐지한다. - 결과는 다음 위치에 표시된다. - 취약점을 유발한 변경 사항이 포함된 머지 리퀘스트 - 취약점 대시보드 - 보안 보고서 - SBOM과 의존성 스캐닝 보고서는 기계 판독이 가능해 컴플라이언스 보고나 다른 공급망 보안 도구와 연계할 수 있다. ## 전이 의존성의 유입 경로 추적 - 직접 추가한 패키지뿐 아니라 여러 단계로 중첩된 전이 의존성까지 분석한다. - 예를 들어 `library-a → library-b → library-c` 구조에서 `library-c`에 취약점이 있으면, 해당 패키지가 어떤 의존성 체인을 통해 들어왔는지 보여준다. - 취약점이 발견된 패키지를 직접 수정할지, 상위 의존성을 업데이트할지 등 적절한 개입 지점을 판단할 수 있다. ## 실제 코드 사용 여부에 따른 우선순위 지정 - 매니페스트나 빌드 파일에 존재한다고 해서 모든 의존성이 애플리케이션에서 실행되는 것은 아니다. - Java, JavaScript/TypeScript, Python 프로젝트에서는 코드가 취약 패키지를 직접 `import` 또는 `require`하는지 확인한다. - 취약점별로 도달 가능성(reachability) 상태를 표시해 다음을 구분한다. - 애플리케이션 코드가 실제로 사용하는 취약 의존성 - 전이적으로 포함됐지만 코드에서 참조되지 않는 의존성 - 개발팀은 실제 노출 가능성이 높은 취약점에 우선 대응하고, 사용되지 않는 패키지의 문제는 상대적으로 낮은 우선순위로 관리할 수 있다. ## 지속적인 취약점 탐지 - 모든 머지 리퀘스트와 파이프라인 실행 시 의존성을 검사한다. - 새로운 보안 권고가 발표될 때도 분석기를 실행할 수 있다. - 개발이 중단된 프로젝트라도 운영 중이라면 새로운 취약점이 발생할 수 있으므로 지속적인 스캔이 중요하다. ## 지원되는 생태계와 파일 형식 - 이번 릴리스는 24개 이상의 패키지 생태계를 지원하며, 향후 지원 범위가 확대될 예정이다. - 패키지 관리자의 빌드 도구를 재현하기보다 lockfile과 의존성 그래프를 직접 분석하므로 새로운 언어와 파일 형식 지원을 추가하기 쉽다. - 지원되는 lockfile이나 의존성 그래프가 없으면 다음과 같은 매니페스트 파일을 분석한다. - `pom.xml` - `requirements.txt` - Gradle 빌드 파일 - 매니페스트 기반 분석은 직접 의존성만 확인하고 전이 의존성은 파악하지 못할 수 있어, 전체적인 분석 정확도와 범위는 lockfile 기반 방식보다 낮다. - 따라서 가능한 경우 lockfile을 사용하는 것이 권장된다. ## 중앙 집중식 보안 정책 적용 - 프로젝트마다 `.gitlab-ci.yml`을 직접 수정하면 설정 누락, 구성 불일치, 감사 과정의 사각지대가 발생할 수 있다. - GitLab 19.0에서는 보안 구성 프로필을 사용해 의존성 스캐닝을 한 번 설정하고 여러 프로젝트에 적용할 수 있다. - 스캔 실행 정책과 파이프라인 실행 정책을 이용하면 그룹 또는 인스턴스 수준에서 보안 기준을 강제할 수 있다. - 수백 개의 프로젝트에도 각 저장소의 CI 설정을 개별적으로 수정하지 않고 동일한 의존성 검사 정책을 적용할 수 있다. ## 도입 대상과 마이그레이션 - SBOM 기반 의존성 스캐닝은 GitLab Ultimate 고객에게 제공된다. - GitLab.com에서 사용할 수 있으며, GitLab Dedicated와 self-managed 환경에는 표준 릴리스 일정에 따라 제공된다. - 기존 Gemnasium 분석기에서 이전할 때는 전환 기간 동안 두 분석기를 동시에 실행해 결과를 비교할 수 있다. - 신규 도입 팀은 GitLab의 설정 튜토리얼과 기술 문서를 통해 지원 언어, 구성 방식, 고급 옵션을 확인할 수 있다. 실무적으로는 먼저 lockfile을 저장소에 포함하고, SBOM 스캔을 머지 리퀘스트와 정기 파이프라인에 연결하는 것이 좋다. 이후 도달 가능성 정보를 기준으로 실제 코드가 사용하는 취약점부터 우선 처리하고, 조직 전체에는 그룹 또는 인스턴스 수준의 실행 정책으로 스캔을 강제하는 방식이 효과적이다.

gitlab

정책으로 오해를 불러일으키는 취약점 심각도를 수정하는 5가지 방법 (새 탭에서 열림)

CVSS는 취약점의 이론적 특성만 평가하므로, 실제 배포 환경과 노출 정도를 충분히 반영하지 못한다. GitLab의 취약점 관리 정책을 사용하면 CVE·CWE·파일 경로·디렉터리 조건에 따라 심각도를 자동 조정해 조직의 실제 위험 모델에 맞출 수 있다. 이를 통해 대규모 스캔 결과를 수동으로 분류하는 부담을 줄이고, 중요한 취약점에 대응 우선순위를 일관되게 부여할 수 있다. ## GitLab 심각도 재정의 정책의 작동 방식 - 정책은 기본 브랜치의 파이프라인이 실행될 때마다 취약점 결과에 적용된다. - 다음 조건으로 취약점을 선택할 수 있다. - CVE ID - CWE ID - 특정 파일 경로 - 특정 디렉터리 - 제공되는 심각도 조정 방식은 세 가지다. - **Set Severity**: `info`, `low`, `medium`, `high`, `critical` 중 하나로 고정 - **Increase Severity**: 한 단계 상향 - **Decrease Severity**: 한 단계 하향 - 권한이 있는 사용자가 직접 변경한 심각도는 정책보다 우선한다. - 정책으로 변경된 내역은 취약점 이력과 감사 이벤트에 기록되어 변경 이유를 추적할 수 있다. ## 내부 서비스의 낮은 노출 위험 반영 내부 관리자 도구, 개발자용 유틸리티, 배치 작업처럼 외부 트래픽을 받지 않는 서비스는 동일한 CVE라도 공개 API보다 실제 위험이 낮을 수 있다. - `internal/**/*` 같은 내부 서비스 디렉터리를 대상으로 정책을 적용한다. - 특정 CVE가 해당 디렉터리에서 발견되면 심각도를 한 단계 낮춘다. - 예를 들어 `Critical`은 `High`, `High`는 `Medium`으로 조정된다. - 전체 심각도를 무조건 낮추지 않고 상대적인 우선순위를 유지하는 방식이다. - 조직이 내부 배포 환경에서 위험이 낮다고 판단한 CVE 목록으로 값을 교체해 사용해야 한다. ## 운영 코드의 인젝션 취약점 상향 XSS와 SQL 인젝션은 실제 공격에 자주 악용되는 대표적인 취약점이므로, 운영 소스 코드에서 발견되면 기본 CVSS보다 엄격하게 처리할 수 있다. - `CWE-79`(Cross-Site Scripting)와 `CWE-89`(SQL Injection)를 조건으로 지정한다. - `src/**/*` 등 운영 코드 디렉터리에서 발견된 경우 심각도를 `Critical`로 고정한다. - CWE와 경로를 함께 조건으로 사용해 테스트 코드나 비운영 영역의 불필요한 상향을 줄인다. - Critical 취약점에 보안팀 승인을 요구하는 머지 리퀘스트 승인 정책과 결합하면: - 취약점 보고서에서 우선순위가 상향되고 - 검토 없이 해당 코드가 프로덕션에 병합되는 것을 방지할 수 있다. ## 여러 스캐너 간 심각도 통일 SAST, 의존성 스캔, 컨테이너 스캔 등은 같은 CVE를 서로 다른 심각도로 보고할 수 있다. 이 차이는 대응 기준과 승인 임계값을 혼란스럽게 만든다. - 조직이 특정 CVE를 항상 같은 수준으로 처리해야 한다고 판단하면 심각도를 고정한다. - 예를 들어 Log4j 관련 CVE인 `CVE-2021-44228`, `CVE-2021-45046`, `CVE-2021-45105`를 모두 `High`로 설정할 수 있다. - 어떤 스캐너가 발견했는지와 관계없이 동일한 기준을 적용할 수 있다. - 여러 종류의 보안 스캔을 운영하는 조직에서 보고서와 승인 절차를 일관되게 만드는 데 유용하다. ## 실제 악용 정보에 따른 상향 CVSS는 정적인 점수이므로 취약점이 실제 공격에 사용되기 시작했는지 즉시 반영하지 못한다. 이를 보완하기 위해 EPSS와 CISA KEV 같은 위협 인텔리전스를 정책 조건에 활용할 수 있다. - CISA KEV 카탈로그에 등록된 CVE는 실제 악용 사례가 확인된 것으로 보고 `Critical`로 상향할 수 있다. - EPSS가 높은 취약점, 예를 들어 악용 가능성이 `0.5`를 넘는 CVE도 더 높은 우선순위로 처리할 수 있다. - 글에서는 `CVE-2024-3094`, `CVE-2023-4966`, `CVE-2023-22515` 등을 KEV 기반 상향 예시로 제시한다. - 다만 제공된 글 내용은 이 네 번째 예시의 정책 설정 중간에서 끝나 있어, 다섯 번째 방법과 이후 세부 내용은 확인할 수 없다. ## 적용 시 권장 사항 - 심각도 조정은 CVSS를 임의로 왜곡하기보다 배포 위치, 공격 노출도, 실제 악용 여부를 반영하는 조직별 위험 모델로 사용한다. - 디렉터리 조건을 함께 지정해 내부·테스트·운영 코드를 구분한다. - 정책 변경 이력과 수동 재정의 우선순위를 고려해 정기적으로 정책을 검토한다. - Critical 상향 정책은 머지 승인 정책과 연계해 보고서 분류뿐 아니라 배포 통제까지 자동화하는 것이 좋다.

gitlab

GitLab 패치 릴리스: 18.11.1, 18.10.4, 18.9.6 | GitLab 문서 (새 탭에서 열림)

GitLab은 2026년 4월 22일, 다수의 보안 취약점과 버그를 해결하기 위해 GitLab Community Edition(CE) 및 Enterprise Edition(EE)의 패치 버전인 18.11.1, 18.10.4, 18.9.6을 출시했습니다. 이번 업데이트는 GraphQL API의 CSRF 문제와 Web IDE 내 임의 자바스크립트 실행 등 심각도가 높은 보안 결함을 포함하여 총 10건 이상의 취약점을 해결하는 것을 핵심으로 합니다. 시스템의 안전한 운영을 위해 자체 호스팅(Self-managed) 환경을 사용하는 모든 관리자는 최신 패치 버전으로 즉시 업그레이드할 것을 강력히 권고합니다. ### 고위험 보안 취약점 해결 * **CVE-2026-4922 (GraphQL API CSRF):** GraphQL API의 CSRF 보호가 불충분하여 인증되지 않은 사용자가 인증된 사용자를 대신해 뮤테이션(Mutation)을 실행할 수 있는 문제를 해결했습니다. (CVSS 점수 8.1) * **CVE-2026-5816 (Web IDE 경로 검증 오류):** 특정 조건에서 웹 IDE 자산의 경로 검증이 부적절하게 이루어져, 인증되지 않은 사용자가 사용자의 브라우저 세션에서 임의의 자바스크립트를 실행할 수 있는 취약점을 수정했습니다. (CVSS 점수 8.0) * **CVE-2026-5262 (Storybook XSS):** Storybook 개발 환경에서 입력값 검증 미흡으로 인해 인증되지 않은 사용자가 토큰에 접근할 수 있는 교차 사이트 스크립팅(XSS) 이슈를 해결했습니다. (CVSS 점수 8.0) ### 서비스 거부(DoS) 취약점 보완 * **리소스 고갈 방지:** 토론(Discussions) 엔드포인트(CVE-2025-0186), 노트(Notes) 엔드포인트(CVE-2025-6016), GraphQL API(CVE-2025-3922)에서 리소스 할당 제한이 미흡하여 서버 자원을 고갈시킬 수 있는 DoS 문제를 수정했습니다. * **Jira 가져오기 오류(CVE-2026-1660):** 이슈를 가져오는 과정에서 부적절한 입력값 검증으로 인해 인증된 사용자가 DoS를 유발할 수 있는 취약점을 해결했습니다. ### 접근 제어 및 세션 관리 개선 * **가상 레지스트리 세션(CVE-2026-6515):** 만료되거나 잘못된 범위의 인증 정보를 사용하여 가상 레지스트리에 접근할 수 있었던 세션 만료 관련 이슈를 수정했습니다. * **비공개 정보 노출 차단(CVE-2026-5377):** 이슈 설명 렌더링 과정의 접근 제어 오류로 인해, 공개 프로젝트 내에서 비공개 이슈의 제목이 노출될 수 있는 문제를 해결했습니다. * **UI 레이어 및 API 보안:** Mermaid 샌드박스 내 입력값 검증 오류(CVE-2026-3254)와 프로젝트 포크(Fork) 관계 API의 부적절한 접근 제어 문제를 수정했습니다. 현재 GitLab.com은 이미 패치된 버전이 적용되어 있으며, GitLab Dedicated 고객은 별도의 조치가 필요하지 않습니다. 그러나 Omnibus, Helm Chart, 소스 코드 설치 등 모든 유형의 자체 호스팅 설치 환경은 이번 취약점의 영향을 받으므로, 관리자는 보안 하이진 유지를 위해 지원되는 최신 패치 버전으로 즉시 업그레이드해야 합니다. 상세한 취약점 정보는 패치 릴리스 30일 후에 GitLab 이슈 트래커를 통해 공개될 예정입니다.

gitlab

AI가 발견한 제로데이에 대비해 파이프라인을 준비하세요 (새 탭에서 열림)

AI는 이제 수십 년간 발견되지 않은 제로데이 취약점을 순식간에 찾아내고 공격 도구화하고 있으며, 이에 따라 기존의 수동적인 보안 대응 방식은 한계에 직면했습니다. 기업은 보안 통제를 개발 파이프라인(CI/CD)에 완전히 통합하고 AI 기반의 자동화된 탐지, 분류 및 복구 체계를 구축함으로써 공격과 방어 사이의 시간 간극을 좁혀야 합니다. **기존 취약점 관리의 한계와 AI 코드의 위험성** * 대부분의 보안 침해는 이미 패치가 존재함에도 적시에 조치하지 못한 '알려진 취약점'에서 발생하며, 취약점 조치에 걸리는 중앙값은 약 361일에 달할 정도로 대응이 느립니다. * AI 보조 도구(AI Coding Assistant)의 확산으로 인해 코드 생산량이 늘어남과 동시에, AI가 생성한 코드 내 보안 결함 또한 6개월 만에 10배 이상 급증했습니다. * AI는 패키지 이름을 환각(Hallucination)하거나 보안에 취약한 패턴을 복제하는 등 새로운 유형의 취약점을 양산하며 보안 팀의 검토 부담을 가중시키고 있습니다. **AI 속도에 맞춘 파이프라인 보안 전략** * **변경 시점의 정책 강제:** 보안 검토를 별도의 과정으로 두지 않고, 모든 코드 병합 요청(MR) 단계에서 보안 정책이 자동으로 실행되고 강제되도록 파이프라인을 설계해야 합니다. * **IDE 단계의 조기 차단:** 하드코딩된 비밀정보나 취약한 임포트 등 단순한 문제는 개발자가 코드를 푸시하기 전 IDE 단계에서 즉시 식별하여 피드백을 제공해야 합니다. * **자동화된 취약점 분류(Triage):** AI를 활용해 수많은 스캔 결과 중 실제 공격 도달 가능성(Reachability)과 위험도가 높은 항목을 선별함으로써 개발자의 불필요한 피로도를 줄여야 합니다. * **거버넌스 기반의 AI 복구:** AI가 제안한 수정안도 인간이 작성한 코드와 동일하게 자동 스캔, 승인 절차, 감사 추적(Audit Trail) 시스템을 거치도록 관리하여 신뢰성을 확보합니다. **지능형 파이프라인의 실무 대응 시나리오** * 새로운 제로데이 취약점이 발견되면 AI 보안 에이전트가 전사 리포지토리를 즉시 검색하여 해당 패키지의 사용 여부와 실제 노출 위험을 분 단위로 파악합니다. * 보안 엔지니어는 AI를 통해 영향받는 모든 프로젝트에 대한 복구 캠페인을 시작하며, AI가 제안한 패치가 테스트를 통과하지 못할 경우 AI가 스스로 코드를 수정하여 재시도합니다. * 모든 대응 과정은 자동으로 기록되어 사후 감사 시 스캔 결과, 적용 정책, 승인자 정보를 포함한 보고서로 즉각 출력됩니다. **실용적인 제언** 공격자들이 AI를 고도화하기 전, 조직은 다음 질문을 통해 파이프라인을 점검해야 합니다. 모든 병합 요청(MR)에서 보안 스캔이 강제로 실행되고 있는가? 취약점이 발견되었을 때 여러 도구를 거치느라 대응 시간이 지체되고 있지는 않은가? 지금 바로 파이프라인 내의 보안 파편화를 제거하고 통합된 자동화 체계를 구축하는 것이 미래의 AI 기반 공격을 막는 핵심입니다.

gitlab

자동 종료 정책으로 대규모 취약점 노이즈 관리하기 (새 탭에서 열림)

GitLab의 자동 취약점 상태 해제(auto-dismiss) 정책은 보안 스캐너에서 발생하는 막대한 양의 노이즈를 효과적으로 관리하여 보안팀이 실제 중요한 취약점에 집중할 수 있게 돕습니다. 테스트 코드, 외부 라이브러리, 자동 생성된 파일 등 실제 수정이 필요 없는 항목들을 정책에 따라 자동으로 제외함으로써 보안 심사 효율을 높이고 개발 부서와의 마찰을 줄일 수 있습니다. 이 기능은 단순히 경고를 숨기는 것이 아니라 해제 사유를 투명하게 기록하고 대규모 프로젝트에 일관된 기준을 적용한다는 점에서 핵심적인 보안 운영 도구입니다. ### 자동 취약점 상태 해제의 필요성과 장점 * **트리아지(Triage) 노이즈 제거:** 테스트 코드나 벤더링된 의존성 파일에서 반복적으로 발생하는 불필요한 보안 경고를 자동으로 처리하여 보안팀의 업무 과부하를 방지합니다. * **조직적 일관성 유지:** 조직 전체에 공통적으로 적용되는 오탐(False Positive) 기준을 중앙에서 정책으로 관리하여 모든 프로젝트에 일관되게 적용할 수 있습니다. * **감사 투명성 및 데이터 보존:** 스캐너 제외 방식과 달리, 해제된 취약점도 보고서에 기록으로 남으며 정책 링크와 해제 사유가 포함되어 사후 검토 및 감사가 용이합니다. ### 정책 작동 원리 및 적용 단계 * **YAML 기반 정책 정의:** 취약점 관리 정책 파일에 파일 경로, 디렉토리명 또는 특정 식별자(CVE, CWE)를 매칭 기준으로 설정하고, 해제 사유(예: 테스트 용도, 완화 제어 등)를 명시합니다. * **정책 활성화:** GitLab의 '보안 > 정책' 메뉴에서 취약점 관리 정책을 새로 생성하고 머지 요청(MR)을 통해 활성화합니다. * **파이프라인 연동:** 기본 브랜치 파이프라인이 실행될 때마다 정책이 적용되며, 실행당 최대 1,000개의 일치하는 취약점을 자동으로 '해제(Dismissed)' 상태로 변경합니다. * **결과 분석:** 취약점 보고서에서 '해제됨' 상태로 필터링하여 정책이 의도대로 작동했는지 확인하고 보안 임팩트를 측정할 수 있습니다. ### 주요 활용 사례 및 구성 시나리오 * **테스트 및 스펙 코드 제외:** `test/**/*`, `spec/**/*` 등 테스트 디렉토리에서 발견되는 하드코딩된 자격 증명이나 안전하지 않은 픽스처 관련 경고를 '테스트 사용' 사유로 자동 해제합니다. * **외부 의존성 및 벤더링 코드 관리:** `vendor/`, `node_modules` 등 직접 수정 권한이 없거나 상류(Upstream)에서 관리되는 외부 코드의 취약점을 필터링합니다. * **알려진 오탐 CVE 처리:** 조직 환경에서 위협이 되지 않는 것으로 확인된 특정 CVE 번호를 식별자로 등록하여 반복적인 수동 개입을 방지합니다. * **자동 생성된 코드 예외 처리:** Protobuf, gRPC, OpenAPI 생성기 등이 만든 파일(`**/*.pb.go` 등)에서 발생하는 수정 불가능한 패턴을 관리 대상에서 제외합니다. * **인프라 수준의 완화 조치 반영:** WAF(웹 방화벽)나 런타임 보호 도구에 의해 이미 방어되고 있는 XSS(CWE-79), SQL 주입(CWE-89) 등의 취약점에 '완화 제어 적용' 사유를 부여합니다. 효율적인 보안 운영을 위해서는 무분별한 경고 확인보다 정교한 정책 수립이 중요합니다. 처음에는 테스트 디렉토리와 같이 명확한 영역부터 자동 해제 정책을 적용해보고, 점진적으로 오탐으로 확인된 CVE나 CWE로 범위를 넓혀가며 보안 팀의 생산성을 극대화할 것을 추천합니다.

gitlab

GitLab 18.10, AI 네이티브 트리아지 및 문제 해결 기능 도입 (새 탭에서 열림)

GitLab 18.10은 AI 기반의 보안 기능을 강화하여 취약점 관리의 효율성을 획기적으로 높였습니다. GitLab Duo Agent 플랫폼을 통해 보안 탐지 결과의 노이즈를 줄이고 실제 위험에 집중하게 함으로써, 개발자가 보안 전문가가 아니더라도 신속하고 정확하게 취약점을 해결할 수 있는 환경을 제공합니다. 특히 정적 응용 프로그램 보안 테스트(SAST) 및 기밀 정보 탐지에서의 지능형 분석과 자동 수정 제안 기능이 핵심입니다. ### SAST 오탐 감지 및 분석 (정식 출시) * 기존 SAST 스캐너는 코드의 실행 맥락을 이해하지 못해 실제 위협이 아닌 코드도 경고를 띄우는 '오탐(False Positive)' 문제가 빈번했습니다. * GitLab Duo Agent는 LLM 기반의 추론을 통해 감지된 취약점이 실제 위협인지 아니면 안전한 코드인지를 분석합니다. * 취약점 리포트에 신뢰도 점수, AI가 작성한 판단 근거 설명, "오탐 가능성 높음/낮음"을 나타내는 시각적 배지를 제공하여 보안 팀이 중요한 문제에 먼저 집중할 수 있도록 돕습니다. ### 에이전트 기반 취약점 자동 수정 (베타) * 식별된 취약점을 확인하는 단계에서 더 나아가, AI가 직접 코드 수정안을 포함한 병합 요청(Merge Request)을 자동으로 생성합니다. * AI 에이전트가 코드 저장소의 주변 문맥을 읽고 고품질의 패치를 생성한 뒤, 자동화된 테스트를 통해 수정 사항이 안전한지 검증합니다. * 생성된 병합 요청에는 구체적인 코드 변경 사항과 함께 변경 이유에 대한 AI의 설명이 포함되어 개발자의 검토 및 반영 속도를 높여줍니다. ### 기밀 정보(Secret) 탐지의 정확도 향상 (베타) * 테스트용 자격 증명이나 예시 토큰과 같은 더미 데이터가 실제 보안 위협으로 분류되어 발생하는 리포트 노이즈를 제거합니다. * 기본 브랜치에서 스캔을 실행할 때 각 발견 항목을 분석하여 실제 노출된 기밀인지 아니면 테스트용 값인지를 구분하고 신뢰도 점수를 부여합니다. * 개발자는 취약점 리포트에서 수동으로 '오탐 확인'을 요청하여 보안 위험이 없는 항목을 빠르게 정리하고 실제 유출 사고에 즉각 대응할 수 있습니다. GitLab 18.10의 새로운 AI 보안 기능은 취약점의 탐지부터 해결까지의 전체 워크플로우를 자동화하여 개발 주기를 단축합니다. GitLab Ultimate 사용자는 GitLab Duo Agent 플랫폼을 통해 보안 검증 시간을 줄이고 코드의 안전성을 강화할 수 있으며, 무료 트라이얼을 통해 이러한 지능형 보안 워크플로우를 직접 경험해 보는 것을 추천합니다.

gitlab

업데이트된 GitLab 보안 대시 (새 탭에서 열림)

업데이트된 GitLab 보안 대시보드는 수많은 취약점 데이터 속에서 단순한 탐지를 넘어 실제적인 복구 우선순위를 설정하고 위험을 관리하는 데 초점을 맞춥니다. 팀은 취약점의 연령 분포, 복구 속도, 프로젝트별 위험 점수(Risk Score)를 시각화하여 가장 시급한 보안 위협에 집중할 수 있으며, 이를 통해 조직 전반의 보안 태세를 정량적으로 측정하고 개선할 수 있습니다. ## 탐지를 넘어선 복구 중심의 통찰력 애플리케이션 보안 팀의 핵심 과제는 단순히 취약점을 찾는 것이 아니라, 방대한 데이터 중에서 어떤 것이 실제적인 위험을 초래하는지 파악하는 것입니다. GitLab 보안 대시보드는 여러 프로젝트와 그룹, 사업 단위에 흩어진 보안 데이터를 하나의 뷰로 통합하여 제공합니다. * 단순한 취약점 개수 나열이 아닌, 데이터에 문맥(Context)을 부여하여 팀이 가장 큰 위험에 노출된 지점을 즉각 파악하도록 돕습니다. * 18.6 버전에서 도입된 시계열 취약점 분석 기능을 바탕으로, 18.9 버전에서는 심각도, 상태, 스캐너 종류 및 프로젝트별로 데이터를 세분화할 수 있는 필터와 차트가 대폭 강화되었습니다. * 복구 속도(Remediation Velocity)와 취약점 연령 분포 등의 지표를 통해 보안 프로그램의 실질적인 효과를 측정할 수 있습니다. ## 리스크 점수를 활용한 우선순위 결정 모든 취약점이 동일한 수준의 위험을 갖지 않으므로, 데이터에 기반한 정밀한 위험 평가 모델을 도입했습니다. * **리스크 점수(Risk Score):** 취약점의 노출 기간, EPSS(Exploit Prediction Scoring System), KEV(Known Exploited Vulnerability) 점수 및 관련 저장소의 보안 상태를 종합하여 계산됩니다. * 보안 팀은 이 점수를 통해 프로덕션 시스템에 가장 큰 위협이 되는 요소를 식별하고 리소스를 집중 투입할 수 있습니다. * 특정 팀이나 프로젝트에서 정책에 따른 복구가 지연되는 지점을 파악하여, 추가적인 교육이나 지원이 필요한 영역을 데이터로 증명할 수 있습니다. ## 개발자와 경영진을 위한 통합 워크플로우 보안 대시보드는 보안 전문가뿐만 아니라 경영진과 개발자 모두에게 일관된 보안 가시성을 제공하여 협업을 효율화합니다. * **경영진 보고 최적화:** 외부 대시보드나 스프레드시트 작업 없이도 취약점 백로그 감소 추세, CWE 유형별 개선 현황, 전반적인 리스크 점수 변화를 시각화하여 투자 대비 보안 성과를 증명할 수 있습니다. * **개발자 생산성 향상:** 개발자는 도구를 전환하거나 데이터를 내보낼 필요 없이 GitLab 내에서 활성 프로젝트의 치명적인 취약점을 즉시 확인하고 조치할 수 있습니다. * **수동 보고 절차 간소화:** 모든 추적 작업이 GitLab 플랫폼 내에서 통합 관리되므로 수동 보고서 작성에 드는 시간을 줄이고 실제 복구 작업에 더 많은 시간을 할애할 수 있습니다. 조직은 업데이트된 보안 대시보드를 활용하여 보안 부채를 체계적으로 줄이고, 단순히 취약점을 발견하는 수준을 넘어 보안 사고 발생 가능성을 실질적으로 낮추는 데이터 중심의 DevSecOps 환경을 구축할 것을 권장합니다.

gitlab

GitLab Duo Agentic Chat 시작하기 (새 탭에서 열림)

GitLab Duo Agentic Chat은 단순한 질의응답을 넘어 소프트웨어 개발 수명 주기(SDLC) 전반에서 능동적으로 작업을 수행하는 자율형 AI 협업 파트너입니다. 이 플랫폼은 코드 수정, 병합 요청(MR) 생성, 보안 취약점 해결 등 실질적인 액션을 실행하며, 프로젝트의 컨텍스트를 완벽히 이해하여 개발자의 생산성을 극대화합니다. 사용자는 웹 UI와 IDE 내에서 최적화된 모델과 전용 에이전트를 선택함으로써 복잡한 워크플로우를 자동화하고 고품질의 소프트웨어를 빠르게 배포할 수 있습니다. **자율적인 AI 협업 파트너의 핵심 역량** * **능동적 작업 수행:** 질문에 답하는 수준을 넘어 파일을 생성 및 수정하고, 이슈를 트리아지(Triage)하거나 CI/CD 파이프라인의 오류를 직접 해결합니다. * **맥락 인식 능력:** 대화 기록은 물론 프로젝트 아키텍처, 코드베이스, 위키, GitLab 문서 및 보안 스캔 결과까지 광범위한 컨텍스트를 활용합니다. * **확장성 및 통합:** Model Context Protocol(MCP)을 통해 외부 서비스와 통합할 수 있으며, 목적에 따라 전문화된 멀티 에이전트 시스템을 지원합니다. **작업별 최적화를 위한 모델 및 에이전트 선택** * **유연한 모델 구성:** 대규모 언어 모델(LLM)마다 강점이 다르므로 작업 요구사항에 따라 적절한 모델을 선택할 수 있으며, 이는 그룹 또는 사용자 단위로 설정 가능합니다. * **전용 에이전트 활용:** 제품 관리를 위한 'Planner Agent', 보안 분석을 위한 'Security Analyst Agent' 등 특정 도메인에 특화된 에이전트로 전환하여 전문적인 도움을 받을 수 있습니다. * **간편한 접근성:** 웹 UI의 사이드바나 IDE 내의 드롭다운 메뉴를 통해 작업 흐름을 끊지 않고 에이전트와 모델을 즉시 변경할 수 있습니다. **실무 생산성 향상을 위한 주요 활용 사례** * **이슈 및 보안 관리:** 특정 라벨이 지정된 이슈 목록 추출, 에픽(Epic)의 세부 작업 분할, 보안 취약점 분석 및 이를 해결하기 위한 자동 수정 MR 생성이 가능합니다. * **코드 이해 및 온보딩:** 복잡한 코드베이스의 아키텍처 개요 파악, 특정 함수의 호출 위치 검색, 신규 팀원을 위한 로컬 개발 환경 설정 안내 등을 수행합니다. * **디버깅 및 품질 개선:** 실패한 파이프라인 로그를 분석해 원인을 진단하고, 기존 코드를 SOLID 원칙에 맞춰 리팩토링하거나 최신 프로그래밍 언어 버전으로 변환하는 작업을 지원합니다. * **기능 구현 및 테스트:** REST API 엔드포인트 생성, 유닛 테스트 코드 자동 생성, UI 구성 요소의 접근성 검토 등 개발 전 과정을 보조합니다. GitLab Duo Agentic Chat의 잠재력을 최대한 끌어내기 위해서는 작업의 성격에 맞는 전용 에이전트를 선택하는 것이 가장 중요합니다. 보안 분석이나 기획 단계 등 정밀한 컨텍스트가 필요한 작업일수록 일반 채팅보다는 특화된 에이전트를 활용할 것을 권장하며, 향후 출시될 CLI 지원을 통해 터미널 환경에서도 동일한 AI 협업 경험을 확장해 나갈 수 있습니다.