의존성 스캐닝
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
의존성 스캐닝은 런타임, 개발, 전이적(중첩) 패키지를 포함한 프로젝트의 의존성에서 알려진 보안 취약점을 식별합니다. 파이프라인에서 의존성 스캐닝 분석기가 생성한 CycloneDX SBOM 아티팩트를 GitLab advisory database 및 GitLab 악성코드 권고와 대조하여 스캔합니다.
의존성 스캐닝은 런타임, 개발, 전이적(중첩) 패키지를 포함한 프로젝트의 의존성에서 알려진 보안 취약점을 식별합니다. GitLab은 여러 의존성 스캐닝 방법을 제공하며, 각각 서로 다른 워크플로에 적합합니다. 아래 요약을 참고하여 프로젝트에 맞는 방법을 선택합니다.
사용 가능한 스캐닝 방법#
SBOM을 사용한 의존성 스캐닝#
히스토리
파이프라인에서 의존성 스캐닝 분석기가 생성한 CycloneDX SBOM 아티팩트를 GitLab advisory database 및 GitLab 악성코드 권고와 대조하여 스캔합니다. 신규 프로젝트에 권장되는 방법이며, GitLab 의존성 스캐닝의 장기적인 방향입니다.
자세한 내용은 SBOM을 사용한 의존성 스캐닝을 참고합니다.
지속적 의존성 스캐닝#
히스토리
GitLab advisory database 또는 GitLab 악성코드 권고가 업데이트될 때마다 기본 브랜치의 최근 성공한 파이프라인에서 생성된 SBOM 컴포넌트를 지속적으로 재스캔하므로, 파이프라인을 다시 실행하지 않아도 새로 공개된 취약점이 드러납니다.
자세한 내용은 지속적 의존성 스캐닝을 참고합니다.
Gemnasium을 사용한 의존성 스캐닝#
CI/CD job에서 의존성을 탐지하고 GitLab Advisory Database와 대조하는 기존 파이프라인 기반 분석기입니다.
Gemnasium 분석기 기반의 의존성 스캐닝은 GitLab 17.9에서 deprecated되었으며 GitLab 20.0에서 제거될 예정입니다. 마이그레이션 안내는 마이그레이션 가이드를 참고합니다. 자세한 내용은 epic 15961을 참고합니다.
자세한 내용은 레거시 의존성 스캐닝 페이지를 참고합니다.
동작 기반 의존성 분석 (Libbehave)#
알려진 CVE를 넘어서는 의심스럽거나 악의적인 활동을 탐지하기 위해 의존성의 런타임 동작을 분석하는 실험 기능입니다.
자세한 내용은 동작 기반 의존성 분석을 참고합니다.
스캐닝 방법 비교#
| 방법 | 상태 | 트리거 | 적합한 경우 |
|---|---|---|---|
| SBOM을 사용한 의존성 스캐닝 | General Availability | 파이프라인 | 신규 프로젝트, SBOM 우선 워크플로 |
| 지속적 의존성 스캐닝 | General Availability | Advisory DB 업데이트 | 파이프라인 재실행 없이 새로 공개된 CVE 탐지 |
| Gemnasium을 사용한 의존성 스캐닝 | Deprecated (17.9) | 파이프라인 | 마이그레이션 대기 중인 기존 프로젝트 |
| 동작 기반 의존성 분석 | Experiment | 파이프라인 | 악성 패키지 동작 탐지 |
AI 네이티브 기능#
에이전트 기반 호환성 변경 해결#
의존성 버전을 올리는 머지 리퀘스트의 파이프라인이 실패하면 GitLab Duo가 실패 원인을 분석하고 이를 해결할 수정 사항을 제공할 수 있습니다.
자세한 내용은 에이전트 기반 호환성 변경 해결(의존성 버전 업의 경우)을 참고합니다.
취약점 데이터베이스에 기여하기#
취약점을 찾으려면 GitLab advisory database를 검색합니다.
새로운 취약점을 제출할 수도 있습니다.