InfoGrab Docs

튜토리얼: GitLab 패키지 레지스트리로 소프트웨어 자재 명세서(SBOM) 생성

튜토리얼: GitLab 패키지 레지스트리로 소프트웨어 자재 명세서(SBOM) 생성에 대해 설명합니다.

이 튜토리얼은 CI/CD 파이프라인으로 CycloneDX 형식의 소프트웨어 자재 명세서(SBOM)를 생성하는 방법을 보여줍니다. 구축할 파이프라인은 그룹의 여러 프로젝트에 걸쳐 패키지를 수집하여 관련 프로젝트의 종속성에 대한 포괄적인 보기를 제공합니다. 이 튜토리얼을 완료하기 위해 Python 가상 환경을 만들지만, 다른 지원되는 패키지 유형에도 동일한 접근 방식을 적용할 수 있습니다. 소프트웨어 자재 명세서란 무엇인가요? # SBOM은 소프트웨어 제품을 구성하는 모든 소프트웨어 구성 요소의 기계 판독 가능한 인벤토리입니다. SBOM에는 다음이 포함될 수 있습니다: 직접 및 간접 종속성 오픈 소스 구성 요소 및 라이선스 패키지 버전과 출처 소프트웨어 제품 사용에 관심 있는 조직은 채택 전에 제품의 보안 수준을 파악하기 위해 SBOM을 요구할 수 있습니다. GitLab 패키지 레지스트리에 익숙하다면 SBOM과 종속성 목록 의 차이가 궁금할 수 있습니다. 다음 표는 주요 차이점을 강조합니다: 차이점 종속성 목록 SBOM 범위 개별 프로젝트 또는 그룹의 종속성을 표시합니다. 그룹 전체에 게시된 모든 패키지의 인벤토리를 생성합니다. 방향 프로젝트가 의존하는 것을 추적합니다(들어오는 종속성). 그룹이 게시하는 것을 추적합니다(나가는 패키지). 커버리지 package.json 또는 pom.xml 과 같은 패키지 매니페스트를 기반으로 합니다. 패키지 레지스트리에 실제로 게시된 아티팩트를 커버합니다. CycloneDX란 무엇인가요? # CycloneDX는 SBOM 생성을 위한 가볍고 표준화된 형식입니다. CycloneDX는 조직이 다음을 수행하는 데 도움이 되는 잘 정의된 스키마를 제공합니다: 소프트웨어 구성 요소와 그 관계를 문서화합니다. 소프트웨어 공급망 전반의 취약점을 추적합니다. 오픈 소스 종속성의 라이선스 준수를 확인합니다. 일관되고 기계 판독 가능한 SBOM 형식을 설정합니다. CycloneDX는 JSON, XML, Protocol Buffer를 포함한 여러 출력 형식을 지원하여 다양한 통합 요구에 대응할 수 있습니다. 이 사양은 기본 구성 요소 식별부터 소프트웨어 출처에 대한 상세 메타데이터까지 모든 것을 포함하도록 포괄적이면서 효율적으로 설계되었습니다. 시작하기 전에 # 이 튜토리얼을 완료하려면 다음이 필요합니다: Maintainer 또는 Owner 역할을 가진 그룹. GitLab CI/CD에 대한 액세스. GitLab Self-Managed 인스턴스를 사용하는 경우 구성된 GitLab Runner . GitLab.com을 사용하는 경우 이 요구 사항을 건너뛸 수 있습니다. 선택 사항. 패키지 레지스트리에 대한 요청을 인증하는 그룹 배포 토큰 . 단계 # 이 튜토리얼을 완료하기 위한 두 가지 단계 세트가 있습니다: CycloneDX 형식으로 SBOM을 생성하는 CI/CD 파이프라인 구성 생성된 SBOM 및 패키지 통계 파일 액세스 및 작업 다음은 수행할 작업의 개요입니다: 기본 파이프라인 구성 추가 . prepare 단계 구성 . col