프로젝트 소개
Central Cyclone은 여러 저장소에 걸친 종속성 추적을 간소화하기 위해 설계된 중앙 집중식 소프트웨어 자재 명세서(SBOM) 생성 서비스입니다. `cdxgen` 도구를 중심으로 구축된 이 서비스는 사용자가 단일 JSON 구성 파일에서 여러 대상과 저장소를 구성하고 분석할 수 있게 하여, 각 프로젝트마다 별도의 파이프라인을 생성할 필요가 없습니다. 이는 Renovate가 여러 저장소를 관리하는 방식과 유사합니다.
주요 기능은 다음과 같습니다:
- **중앙 집중식 구성**: 모든 SBOM 대상과 설정을 하나의 구성 파일에서 관리합니다. 구성에는 DependencyTrack 연결 세부 정보, 특정 대상(예: node, java)이 있는 저장소 URL, 그리고 향후 GitOps 기능을 위한 선택적 애플리케이션 정의가 포함됩니다.
- **DependencyTrack 통합**: 생성된 SBOM을 DependencyTrack 인스턴스로 직접 업로드합니다. 이를 위해 `DEPENDENCYTRACK_API_KEY` 환경 변수와 필수 DependencyTrack 구성이 필요합니다.
- **CLI 명령**:
- `analyze`: 구성된 저장소를 클론하고 분석합니다. 결과는 로컬에 저장하거나 직접 업로드할 수 있습니다.
- `upload`: 이전에 생성된 SBOM 파일을 업로드합니다. 이는 제한된 네트워크 환경에서 2단계 파이프라인에 유용합니다.
- `dt projects sync`: 구성 파일의 애플리케이션 정의를 기반으로 DependencyTrack 프로젝트를 생성하고 동기화합니다.
- **비공개 저장소 지원**: 액세스 토큰을 사용하여 GitHub 및 Azure DevOps에서 비공개 저장소를 클론할 수 있습니다. GitHub는 읽기 전용 Contents 권한이 있는 세분화된 개인 액세스 토큰을, Azure DevOps는 Code 읽기 권한이 있는 PAT를 요구합니다.
- **Docker 지원**: 공식 Docker 이미지가 제공되며, `git` 및 `cdxgen`과 같은 필요한 종속성이 포함되어 있습니다. 사용자는 구성 파일과 작업 폴더를 마운트하여 도구를 쉽게 실행할 수 있습니다.
- **GitOps 모드**: 현재 알파 단계인 이 기능은 GitOps 저장소를 모니터링하고 배포된 버전에 대해 자동으로 SBOM을 생성하는 것을 목표로 합니다.
이 도구는 구성 기반으로 작동하며, 대상의 `directory` 속성을 통해 다양한 프로그래밍 언어와 모노레포 구조를 지원합니다. CI/CD 파이프라인에서 자동화와 사용 편의성을 위해 설계되었습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.