From 79b33c57cf3b6555c79f171cd57b0df7bed06984 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 26 Mar 2026 07:27:01 +0900 Subject: [PATCH 1/5] docs(tools): rewrite OSV-SCALIBR page with accurate information Previous content incorrectly described the Python `osv-db` library. Replaced with correct description of Google's Go-based OSV-SCALIBR CLI tool, including installation, basic usage, and CI/CD integration examples. Also add TODO.md for tracking 2026 guide improvement tasks. Co-Authored-By: Claude Sonnet 4.6 --- content/ko/guide/TODO.md | 58 ++++ content/ko/guide/tools/4-osvscalibr/_index.md | 274 +++++------------- 2 files changed, 123 insertions(+), 209 deletions(-) create mode 100644 content/ko/guide/TODO.md diff --git a/content/ko/guide/TODO.md b/content/ko/guide/TODO.md new file mode 100644 index 0000000000..c940a70e48 --- /dev/null +++ b/content/ko/guide/TODO.md @@ -0,0 +1,58 @@ +--- +title: "TODO" +draft: true +--- +# TODO.md — 2026 가이드 개선 작업 현황 +최종 업데이트: 2026-03-26 +작업 브랜치: guide/2026-enterprise-oss-guide + +## 작업 범위 구분 +- 1차: 높음 우선순위 + 핵심 오류 수정 (현재 브랜치) +- 2차: 중간 우선순위 신규 작성 (별도 브랜치 예정) + +--- +## 1차 작업 + +### [즉시 수정] 오류 수정 +- [x] #1 OSV-SCALIBR 페이지 전면 재작성 (tools/4-osvscalibr/_index.md) +- [ ] #36 2-policy L135 앵커 오타 수정 (## → #) +- [ ] #19 4-tool FOSSology 링크 구버전→신버전 교체 +- [ ] #20 4-tool SW360 링크 구버전→신버전 교체 + +### [1-policy 보완] ISO 조항 누락 항목 +- [ ] #2 컴플라이언스 산출물 보관 기간 명시 (§4.3 / ISO 5230 §3.4.1.2) +- [ ] #3 CVSS 기반 조치 기한 기준 정책 선언 추가 (§5.1 / ISO 18974 §3.3.2.1) +- [ ] #5 외부 문의 대응 기록 보관 기간 선언 추가 (§9.3 / ISO 18974 §3.2.1.2) +- [ ] #6 취약점 기록 보관 기간 선언 추가 (§5) +- [ ] #7 SBOM 표준 형식(SPDX/CycloneDX) 채택 선언 추가 (§4.4) + +### [2-process-template 보완] SBOM 절차 누락 항목 +- [ ] #8 SBOM 형식 지정 및 검증 절차 추가 ((6)등록 단계) +- [ ] #9 SBOM 고객 배포 절차 추가 ((9)배포 단계) +- [ ] #10 SBOM 갱신 트리거 추가 ((11)모니터링 단계) + +### [링크 수정] 내부 링크 연결 +- [ ] #18 3-process 말미에 2-process-template 링크 추가 +- [ ] #25 4-tool에 FOSSLight tools/ 링크 추가 + +### [tools/ 신규 작성] SBOM 도구 3종 +- [ ] #33 cdxgen tools/ 페이지 신규 작성 (tools/5-cdxgen/_index.md) +- [ ] #34 Syft tools/ 페이지 신규 작성 (tools/6-syft/_index.md) +- [ ] #35 Dependency-Track tools/ 페이지 신규 작성 (tools/7-dependency-track/_index.md) + +--- +## 2차 작업 (별도 브랜치 예정 — 지금은 작업하지 않음) + +- [ ] #4 기여 정책 인식 절차 선언 추가 +- [ ] #11 라이선스 사용 사례별 처리 방침 선언 +- [ ] #12 인식 평가 증거 보관 절차 명시 +- [ ] #13 외부 문의 기록 보관 기간 추가 (2-process) +- [ ] #14 CVD 공개 타이밍 절차 추가 +- [ ] #15 오픈소스 기여 프로세스 신규 작성 +- [ ] #16 사내 오픈소스 공개 프로세스 신규 작성 +- [ ] #17 교육·평가 실행 프로세스 신규 작성 +- [ ] #21 4-tool에 OSV-SCALIBR 소개 및 링크 추가 +- [ ] #22 4-tool에 Dependency-Track 소개 및 링크 추가 +- [ ] #23 4-tool에 cdxgen 소개 및 링크 추가 +- [ ] #24 4-tool에 Syft 소개 및 링크 추가 +--- diff --git a/content/ko/guide/tools/4-osvscalibr/_index.md b/content/ko/guide/tools/4-osvscalibr/_index.md index bd3302097b..be9ed63f59 100644 --- a/content/ko/guide/tools/4-osvscalibr/_index.md +++ b/content/ko/guide/tools/4-osvscalibr/_index.md @@ -3,224 +3,80 @@ title: "OSV-SCALIBR" weight: 4 type: docs categories: ["guide"] -tags: ["OSV-SCALIBR"] +tags: ["OSV-SCALIBR", "SBOM", "취약점"] --- -OSV-SCALIBR (Software Composition Analysis LIBRary)은 Google에서 개발한 오픈소스 소프트웨어 구성 분석 라이브러리입니다. 다양한 프로그래밍 언어를 지원하며, 빠르고 정확한 분석 결과를 제공하는 것을 목표로 합니다. SBOM(Software Bill of Materials, 소프트웨어 자재 명세서) 생성을 위한 핵심 기능들을 제공하지만, 독립적인 실행 파일 형태가 아닌 라이브러리 형태로 제공되므로, 사용자는 직접 코드를 작성하여 통합해야 합니다. - -### 1 OSV-SCALIBR 소개 - -- **주요 기능**: - - 다양한 프로그래밍 언어 지원 (Python, Go, Java 등) - - 패키지 매니페스트 파일 분석 (requirements.txt, pom.xml, go.mod 등) - - 종속성 정보 추출 - - 취약점 정보 연동 (OSV 데이터베이스 활용) - - 빠른 분석 속도 -- **장점**: - - 다양한 프로그래밍 언어 지원 - - 빠른 분석 속도 - - OSV 데이터베이스 연동을 통한 최신 취약점 정보 제공 - - 유연한 통합 가능성 - - 오픈소스 라이선스 -- **단점**: - - 독립적인 실행 파일 형태가 아닌 라이브러리 형태로 제공 - - 사용자가 직접 코드를 작성하여 통합해야 함 - - SBOM 생성 기능을 직접 구현해야 함 - - 문서화 및 커뮤니티 지원 부족 - -### 2 OSV-SCALIBR 설치 - -OSV-SCALIBR은 라이브러리 형태로 제공되므로, 사용하려는 프로그래밍 언어에 맞는 패키지 관리자를 통해 설치해야 합니다. 이 가이드에서는 Python 환경에서의 설치 방법을 설명합니다. - -1. **Python 및 pip 설치 확인**: - - OSV-SCALIBR을 설치하기 전에 Python과 pip가 시스템에 설치되어 있는지 확인합니다. - - 명령 프롬프트 또는 터미널에서 다음 명령어를 실행하여 Python 버전을 확인합니다. - - ```bash - python --version - - ``` - - - Python 3.7 이상이 설치되어 있어야 합니다. - - pip 버전을 확인하려면 다음 명령어를 실행합니다. - - ```bash - pip --version - - ``` - - - Python과 pip가 설치되어 있지 않다면, Python 공식 웹사이트(https://www.python.org/downloads/)에서 다운로드하여 설치합니다. -2. **OSV-SCALIBR 설치**: - - 다음 명령어를 실행하여 OSV-SCALIBR 라이브러리를 설치합니다. - - ```bash - pip install osv-db - - ``` - -3. **설치 확인**: - - Python 인터프리터를 실행하고, 다음 코드를 입력하여 OSV-SCALIBR이 제대로 설치되었는지 확인합니다. - - ```python - import osv - print(osv.__version__) - - ``` - - - OSV-SCALIBR 버전 정보가 출력되면 설치가 성공적으로 완료된 것입니다. - -### 3 OSV-SCALIBR 사용 가이드 - -OSV-SCALIBR은 라이브러리 형태로 제공되므로, SBOM 생성을 위해서는 직접 코드를 작성해야 합니다. 다음은 Python 환경에서 OSV-SCALIBR을 사용하여 SBOM을 생성하는 기본적인 예시입니다. - -1. **필수 라이브러리 설치**: - - `osv-db` 외에도 SBOM 생성을 위해 필요한 라이브러리 (예: `spdx-tools`) 를 설치합니다. - - ```bash - pip install spdx-tools - - ``` - -2. **코드 작성**: - - 다음은 `requirements.txt` 파일에서 종속성 정보를 추출하고, OSV-SCALIBR을 사용하여 취약점 정보를 확인한 후, SPDX 형식의 SBOM을 생성하는 예시 코드입니다. - - ```python - import osv - from spdx_tools.spdx.model import Document, Package - from spdx_tools.spdx.builder import Builder - from spdx_tools.spdx.validation.document_validator import validate_full - import os - - def create_sbom_from_requirements(requirements_file): - """ - requirements.txt 파일에서 종속성 정보를 추출하고, - OSV-SCALIBR을 사용하여 취약점 정보를 확인한 후, - SPDX 형식의 SBOM을 생성합니다. - """ - - # 1. requirements.txt 파일 읽기 - dependencies = [] - with open(requirements_file, "r") as f: - for line in f: - line = line.strip() - if line and not line.startswith("#"): - package_name, package_version = line.split("==") - dependencies.append((package_name, package_version)) - - # 2. OSV API 클라이언트 생성 - client = osv.Client() - - # 3. SPDX 문서 생성 - document = Document( - spdx_version="SPDX-2.2", - data_license="CC0-1.0", - spdx_id="SPDXRef-DOCUMENT", - name="SBOM for " + requirements_file, - ) - document.creators = ["Tool: OSV-SCALIBR Example Script", "Organization: Your Organization"] - - # 4. 패키지 정보 추가 및 취약점 정보 확인 - for package_name, package_version in dependencies: - # OSV API를 사용하여 취약점 정보 조회 - vulnerabilities = client.get_vulnerabilities(package_name, package_version) - - # 패키지 생성 - package = Package( - name=package_name, - spdx_id=f"SPDXRef-Package-{package_name}", - version=package_version, - # TODO: 라이선스 정보를 추가해야 합니다. - ) - - # 취약점 정보가 있는 경우, 주석 추가 - if vulnerabilities: - comment = f"취약점 발견: {len(vulnerabilities)}건" - package.comment = comment - - document.packages.append(package) - - # 5. 유효성 검사 및 출력 - validation_messages = validate_full(document) - if validation_messages: - print("유효성 검사 오류:") - for message in validation_messages: - print(message) - else: - # SPDX 문서를 문자열로 변환 (spdx-tools 사용) - from spdx_tools.spdx.writer.write_anything import write_anything - output_file = "sbom.spdx" - write_anything(document, output_file, "tag", check_licenses=False) - print(f"SPDX 문서 생성 성공! 파일: {output_file}") - - # 실행 예시 - # requirements.txt 파일이 현재 디렉토리에 있어야 합니다. - if os.path.exists("requirements.txt"): - create_sbom_from_requirements("requirements.txt") - else: - print("오류: requirements.txt 파일을 찾을 수 없습니다.") - - ``` - -3. **코드 실행**: - - 위 코드를 Python 파일로 저장하고 (예: `sbom_generator.py`), 다음 명령어를 실행합니다. - - ```bash - python sbom_generator.py - - ``` - -4. **결과 확인**: - - 코드가 성공적으로 실행되면, `sbom.spdx` 파일이 생성됩니다. 이 파일은 SPDX 형식으로 작성된 SBOM을 포함하고 있습니다. - -### 4 OSV-SCALIBR 사용 시 주의사항 - -- OSV-SCALIBR은 라이브러리 형태로 제공되므로, SBOM 생성을 위해서는 직접 코드를 작성해야 합니다. -- OSV-SCALIBR은 SBOM 생성을 위한 모든 기능을 제공하지 않으므로, 필요한 기능을 직접 구현하거나, 다른 라이브러리와 함께 사용해야 합니다. -- OSV-SCALIBR 문서는 다소 부족할 수 있으며, 커뮤니티 지원이 활발하지 않을 수 있습니다. -- 코드 예시에서는 `requirements.txt` 파일을 기준으로 SBOM을 생성하지만, 실제 환경에서는 다양한 패키지 관리자에 대한 지원이 필요할 수 있습니다. -- 코드 예시에서는 라이선스 정보를 직접 추가하지 않고 있습니다. 실제 SBOM에서는 각 패키지의 라이선스 정보를 정확하게 파악하여 추가해야 합니다. - -### 5 생성된 SBOM 예시 (추론) - -OSV-SCALIBR을 사용하여 생성된 SBOM (SPDX 형식) 은 다음과 같은 구조를 가질 것입니다. (실제 내용은 `requirements.txt` 파일의 내용에 따라 달라집니다.) +OSV-SCALIBR (Open Source Vulnerabilities - Software Composition Analysis LIBRary)은 +Google이 개발한 오픈소스 소프트웨어 구성 분석 도구입니다. +파일시스템, 컨테이너 이미지, 바이너리를 스캔하여 포함된 패키지를 식별하고, +[OSV(Open Source Vulnerabilities)](https://osv.dev/) 데이터베이스와 대조하여 +알려진 취약점을 검출합니다. SPDX 형식의 SBOM 생성도 지원합니다. +- GitHub: +- 라이선스: Apache-2.0 + +### 1. 주요 특징 + +- **다양한 스캔 대상 지원**: 로컬 파일시스템, 컨테이너 이미지, 아카이브 파일 +- **폭넓은 생태계 지원**: Go, Python, Java(Maven), JavaScript(npm), Rust, Ruby 등 +- **OSV DB 연동**: 스캔 결과를 OSV 데이터베이스와 대조하여 CVE 등 취약점 정보 제공 +- **SBOM 출력**: SPDX 2.3 형식으로 결과 내보내기 가능 +- **CLI 및 라이브러리 이중 제공**: 독립 실행 바이너리(CLI)와 Go 라이브러리 모두 제공 + +### 2. 설치 방법 + +Go 1.21 이상이 설치된 환경에서 아래 명령으로 빌드합니다. + +```bash +git clone https://github.com/google/osv-scalibr.git +cd osv-scalibr +go build -o scalibr ./binary/cli/... ``` -SPDXVersion: SPDX-2.2 -DataLicense: CC0-1.0 -SPDXID: SPDXRef-DOCUMENT -Name: SBOM for requirements.txt -Creator: Tool: OSV-SCALIBR Example Script -Created: 2025-02-11T00:00:00Z - -# Package Information -PackageName: requests -SPDXID: SPDXRef-Package-requests -PackageVersion: 2.28.1 -# Comment: 취약점 발견: 1건 (OSV 데이터베이스에 따라 다를 수 있음) - -PackageName: urllib3 -SPDXID: SPDXRef-Package-urllib3 -PackageVersion: 1.24.13 - -# Relationships -# (각 패키지 간의 의존 관계 정보) +또는 [Releases 페이지](https://github.com/google/osv-scalibr/releases)에서 +사전 빌드된 바이너리를 내려받아 사용할 수 있습니다. + +### 3. 기본 사용법 + +#### (1) 파일시스템 스캔 + +```bash +# 현재 디렉토리 스캔 후 취약점 결과 출력 +./scalibr scan --result=result.json /path/to/project + +# SPDX 형식으로 SBOM 생성 +./scalibr scan --output=sbom.spdx.json /path/to/project ``` -**참고**: 위 예시는 OSV-SCALIBR을 사용하여 생성될 수 있는 SBOM의 형식을 보여주는 예시일 뿐이며, 실제 SBOM 내용은 코드 및 종속성 분석 결과에 따라 달라집니다. 라이선스 정보, 출처 정보 등 추가적인 정보는 직접 코드를 수정하여 추가해야 합니다. +#### (2) 컨테이너 이미지 스캔 + +```bash +./scalibr scan --image=ubuntu:22.04 --result=result.json +``` -### 6 문제 해결 +#### (3) 결과 확인 -- **설치 오류**: pip가 최신 버전인지 확인하고, 필요한 종속성 패키지가 설치되어 있는지 확인합니다. - - `pip install --upgrade pip` - - `pip install -r requirements.txt` (requirements.txt 파일이 있는 경우) -- **코드 실행 오류**: 코드에 오타가 없는지 확인하고, 필요한 라이브러리가 설치되어 있는지 확인합니다. -- **OSV 데이터베이스 연결 오류**: 인터넷 연결 상태를 확인하고, OSV 데이터베이스 URL이 올바른지 확인합니다. +```bash +# JSON 결과 파일에서 취약점 목록 조회 +cat result.json | jq '.findings[].adv.id' +``` -### 7 추가 정보 +### 4. 활용 시나리오 + +OSV-SCALIBR은 CI/CD 파이프라인에 통합하여 빌드·배포 단계에서 자동으로 +취약점을 검출하는 데 적합합니다. + +```yaml +# GitHub Actions 예시 +- name: Run OSV-SCALIBR + run: | + ./scalibr scan --result=result.json . + # 취약점 발견 시 빌드 실패 + jq -e '.findings | length == 0' result.json +``` -- OSV-SCALIBR GitHub 저장소: (정보 없음) -- OSV (Open Source Vulnerabilities) 데이터베이스: https://osv.dev/ -- SPDX 공식 웹사이트: https://spdx.dev/ +### 5. 참고 자료 -**주의**: OSV-SCALIBR은 라이브러리 형태이므로, 이 가이드만으로는 SBOM 생성을 완료하기 어려울 수 있습니다. Python 프로그래밍 및 SBOM 생성에 대한 이해가 필요하며, 추가적인 코드 작성이 필요합니다. \ No newline at end of file +- OSV-SCALIBR GitHub: +- OSV 데이터베이스: +- SPDX 공식 사이트: From 63563fdf26b86311c65748ba89fb7fdc38b5cc29 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 26 Mar 2026 07:27:48 +0900 Subject: [PATCH 2/5] =?UTF-8?q?fix(policy):=20correct=20anchor=20typo=20in?= =?UTF-8?q?=202-policy=20L135=20(##=20=E2=86=92=20#)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The link to the policy template's section 5 had a double-hash (##) which is invalid as an HTML anchor fragment identifier. Co-Authored-By: Claude Sonnet 4.6 --- content/ko/guide/TODO.md | 2 +- content/ko/guide/opensource_for_enterprise/2-policy/_index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/ko/guide/TODO.md b/content/ko/guide/TODO.md index c940a70e48..5cb3b32746 100644 --- a/content/ko/guide/TODO.md +++ b/content/ko/guide/TODO.md @@ -15,7 +15,7 @@ draft: true ### [즉시 수정] 오류 수정 - [x] #1 OSV-SCALIBR 페이지 전면 재작성 (tools/4-osvscalibr/_index.md) -- [ ] #36 2-policy L135 앵커 오타 수정 (## → #) +- [x] #36 2-policy L135 앵커 오타 수정 (## → #) - [ ] #19 4-tool FOSSology 링크 구버전→신버전 교체 - [ ] #20 4-tool SW360 링크 구버전→신버전 교체 diff --git a/content/ko/guide/opensource_for_enterprise/2-policy/_index.md b/content/ko/guide/opensource_for_enterprise/2-policy/_index.md index 305463b32b..5c32bb1831 100644 --- a/content/ko/guide/opensource_for_enterprise/2-policy/_index.md +++ b/content/ko/guide/opensource_for_enterprise/2-policy/_index.md @@ -132,7 +132,7 @@ description: > - 내부 모범 사례와의 일치 여부 확인 -[부록1] 오픈소스 정책 template의 [5. 오픈소스 보안 보증](../../templates/1-policy/##5-오픈소스-보안-보증)에서 이를 문서화한 원칙을 살펴보실 수 있습니다. +[부록1] 오픈소스 정책 template의 [5. 오픈소스 보안 보증](../../templates/1-policy/#5-오픈소스-보안-보증)에서 이를 문서화한 원칙을 살펴보실 수 있습니다. ``` ## 5. 오픈소스 보안 보증 From 79674585deef9c47f54c45463c626c58be254f24 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 26 Mar 2026 07:28:29 +0900 Subject: [PATCH 3/5] fix(tool): update FOSSology and SW360 guide links to new tools/ path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced hardcoded absolute URLs pointing to the archived governance_iso5230 appendix with relative links to the new tools/ section pages. - FOSSology: → ../../tools/1-fossology/ - SW360 (×2): → ../../tools/2-sw360/ Co-Authored-By: Claude Sonnet 4.6 --- content/ko/guide/TODO.md | 4 ++-- content/ko/guide/opensource_for_enterprise/4-tool/_index.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/content/ko/guide/TODO.md b/content/ko/guide/TODO.md index 5cb3b32746..834c99db64 100644 --- a/content/ko/guide/TODO.md +++ b/content/ko/guide/TODO.md @@ -16,8 +16,8 @@ draft: true ### [즉시 수정] 오류 수정 - [x] #1 OSV-SCALIBR 페이지 전면 재작성 (tools/4-osvscalibr/_index.md) - [x] #36 2-policy L135 앵커 오타 수정 (## → #) -- [ ] #19 4-tool FOSSology 링크 구버전→신버전 교체 -- [ ] #20 4-tool SW360 링크 구버전→신버전 교체 +- [x] #19 4-tool FOSSology 링크 구버전→신버전 교체 +- [x] #20 4-tool SW360 링크 구버전→신버전 교체 ### [1-policy 보완] ISO 조항 누락 항목 - [ ] #2 컴플라이언스 산출물 보관 기간 명시 (§4.3 / ISO 5230 §3.4.1.2) diff --git a/content/ko/guide/opensource_for_enterprise/4-tool/_index.md b/content/ko/guide/opensource_for_enterprise/4-tool/_index.md index aafef79901..4b9fcc4261 100644 --- a/content/ko/guide/opensource_for_enterprise/4-tool/_index.md +++ b/content/ko/guide/opensource_for_enterprise/4-tool/_index.md @@ -32,7 +32,7 @@ description: > FOSSology는 기업들이 무료로 사용할 수 있으며, 오픈소스 커뮤니티의 지속적인 개선과 지원을 받고 있습니다. -FOSSology의 설치 및 사용 방법은 [FOSSology 가이드](https://openchain-project.github.io/OpenChain-KWG/guide/governance_iso5230/appendix/3-tools/fossology/)를 참조하시기 바랍니다. +FOSSology의 설치 및 사용 방법은 [FOSSology 가이드](../../tools/1-fossology/)를 참조하시기 바랍니다. ### (2) SCANOSS @@ -115,7 +115,7 @@ SBOM은 스프레드시트 프로그램으로도 관리할 수 있지만, 공급 -SW360의 설치 및 사용 방법은 [SW360 가이드](https://openchain-project.github.io/OpenChain-KWG/guide/governance_iso5230/appendix/3-tools/sw360/)에서 확인할 수 있습니다. +SW360의 설치 및 사용 방법은 [SW360 가이드](../../tools/2-sw360/)에서 확인할 수 있습니다. ### (2) FOSSLight @@ -163,7 +163,7 @@ LG전자는 FOSSLight를 수년간 사용하여 전사적으로 SBOM을 관리 - 프로젝트별 보안 취약점 조회 - 새로 공개된 취약점의 기존 제품 영향 추적 -SW360으로 보안취약점을 관리하는 방법은 [SW360 가이드](https://openchain-project.github.io/OpenChain-KWG/guide/governance_iso5230/appendix/3-tools/sw360/)를 참고할 수 있습니다. +SW360으로 보안취약점을 관리하는 방법은 [SW360 가이드](../../tools/2-sw360/)를 참고할 수 있습니다. ### (3) FOSSLight From b263db971822d2d801334b8ae2074ee84ef3b5d9 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 26 Mar 2026 07:33:04 +0900 Subject: [PATCH 4/5] docs(guide): add ISO 5230/18974 missing declarations and SBOM improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Policy template (1-policy): - §4.3: add compliance artifact archive period (min 3y, ISO 5230 §3.4.1.2) - §4.4: add SPDX/CycloneDX format adoption declaration (ISO 18974 §3.3.1.2) - §5.1: add CVSS-based remediation deadline (Critical 1w/High 4w, ISO 18974 §3.3.2.1) - §5.1: add vulnerability record retention period (min 3y, ISO 18974 §3.3.2.2) - §9.3: add external inquiry record retention period (min 3y, ISO 18974 §3.2.1.2) Process template (2-process-template): - (6) 등록: add SBOM format validation before registration - (9) 배포: add SBOM customer delivery procedure - (11) 모니터링: add SBOM update triggers - §(6) 취약점 기록: add 3-year retention requirement Navigation: - 3-process: add link to process template at end of page - 4-tool: add FOSSLight tools/ link Co-Authored-By: Claude Sonnet 4.6 --- content/ko/guide/TODO.md | 20 +++++++++---------- .../3-process/_index.md | 4 ++++ .../4-tool/_index.md | 2 ++ content/ko/guide/templates/1-policy/_index.md | 6 ++++++ .../templates/2-process-template/_index.md | 8 ++++++++ 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/content/ko/guide/TODO.md b/content/ko/guide/TODO.md index 834c99db64..3b99460037 100644 --- a/content/ko/guide/TODO.md +++ b/content/ko/guide/TODO.md @@ -20,20 +20,20 @@ draft: true - [x] #20 4-tool SW360 링크 구버전→신버전 교체 ### [1-policy 보완] ISO 조항 누락 항목 -- [ ] #2 컴플라이언스 산출물 보관 기간 명시 (§4.3 / ISO 5230 §3.4.1.2) -- [ ] #3 CVSS 기반 조치 기한 기준 정책 선언 추가 (§5.1 / ISO 18974 §3.3.2.1) -- [ ] #5 외부 문의 대응 기록 보관 기간 선언 추가 (§9.3 / ISO 18974 §3.2.1.2) -- [ ] #6 취약점 기록 보관 기간 선언 추가 (§5) -- [ ] #7 SBOM 표준 형식(SPDX/CycloneDX) 채택 선언 추가 (§4.4) +- [x] #2 컴플라이언스 산출물 보관 기간 명시 (§4.3 / ISO 5230 §3.4.1.2) +- [x] #3 CVSS 기반 조치 기한 기준 정책 선언 추가 (§5.1 / ISO 18974 §3.3.2.1) +- [x] #5 외부 문의 대응 기록 보관 기간 선언 추가 (§9.3 / ISO 18974 §3.2.1.2) +- [x] #6 취약점 기록 보관 기간 선언 추가 (§5) +- [x] #7 SBOM 표준 형식(SPDX/CycloneDX) 채택 선언 추가 (§4.4) ### [2-process-template 보완] SBOM 절차 누락 항목 -- [ ] #8 SBOM 형식 지정 및 검증 절차 추가 ((6)등록 단계) -- [ ] #9 SBOM 고객 배포 절차 추가 ((9)배포 단계) -- [ ] #10 SBOM 갱신 트리거 추가 ((11)모니터링 단계) +- [x] #8 SBOM 형식 지정 및 검증 절차 추가 ((6)등록 단계) +- [x] #9 SBOM 고객 배포 절차 추가 ((9)배포 단계) +- [x] #10 SBOM 갱신 트리거 추가 ((11)모니터링 단계) ### [링크 수정] 내부 링크 연결 -- [ ] #18 3-process 말미에 2-process-template 링크 추가 -- [ ] #25 4-tool에 FOSSLight tools/ 링크 추가 +- [x] #18 3-process 말미에 2-process-template 링크 추가 +- [x] #25 4-tool에 FOSSLight tools/ 링크 추가 ### [tools/ 신규 작성] SBOM 도구 3종 - [ ] #33 cdxgen tools/ 페이지 신규 작성 (tools/5-cdxgen/_index.md) diff --git a/content/ko/guide/opensource_for_enterprise/3-process/_index.md b/content/ko/guide/opensource_for_enterprise/3-process/_index.md index 0a4e9a380e..77dfa34e03 100644 --- a/content/ko/guide/opensource_for_enterprise/3-process/_index.md +++ b/content/ko/guide/opensource_for_enterprise/3-process/_index.md @@ -674,3 +674,7 @@ OSRB는 매년 정기적으로 검토하여 정책과 프로세스를 개선합 - 최신 오픈소스 동향 및 기술 변화에 대한 대응력 강화 이러한 프로세스 구축을 통해 기업은 오픈소스 라이선스 컴플라이언스와 보안 보증을 체계적으로 관리하고, 지속적으로 개선할 수 있는 기반을 마련할 수 있습니다. 또한, [OpenChain Project](https://www.openchainproject.org/)와 같은 국제 표준 이니셔티브에 부합하는 프로세스를 갖춤으로써 글로벌 소프트웨어 공급망에서의 신뢰도를 높일 수 있습니다. + +{{% alert title="참고" color="info" %}} +각 프로세스의 실제 적용 예시는 [오픈소스 프로세스 템플릿](../../templates/2-process-template/)에서 확인할 수 있습니다. +{{% /alert %}} diff --git a/content/ko/guide/opensource_for_enterprise/4-tool/_index.md b/content/ko/guide/opensource_for_enterprise/4-tool/_index.md index 4b9fcc4261..6805309568 100644 --- a/content/ko/guide/opensource_for_enterprise/4-tool/_index.md +++ b/content/ko/guide/opensource_for_enterprise/4-tool/_index.md @@ -133,6 +133,8 @@ SW360의 설치 및 사용 방법은 [SW360 가이드](../../tools/2-sw360/)에 LG전자는 FOSSLight를 수년간 사용하여 전사적으로 SBOM을 관리해왔으며, 2021년 6월에 이를 오픈소스로 공개했습니다. 한국어 가이드를 제공하여 국내 기업들의 사용을 돕고 있습니다. +FOSSLight의 설치 및 사용 방법은 [FOSSLight 가이드](../../tools/3-fosslight/)를 참조하시기 바랍니다. + {{< imgproc fosslight Fit "900x600" >}}
https://fosslight.org/
{{< /imgproc >}} diff --git a/content/ko/guide/templates/1-policy/_index.md b/content/ko/guide/templates/1-policy/_index.md index 72bebc1fbd..d56b8ca0b2 100644 --- a/content/ko/guide/templates/1-policy/_index.md +++ b/content/ko/guide/templates/1-policy/_index.md @@ -221,12 +221,14 @@ This sample open source policy was written with reference to the following two m 3. **컴플라이언스 산출물 배포 및 보관**: - 모든 컴플라이언스 산출물은 공급 소프트웨어와 함께 배포되며, 내부 저장소에서 체계적으로 관리됩니다. - 외부 요청 시 산출물을 제공할 수 있는 시스템을 운영합니다. + - 컴플라이언스 산출물은 해당 공급 소프트웨어의 마지막 배포 시점으로부터 최소 3년간 보관합니다. GPL 등 라이선스가 더 긴 보관 기간을 요구하는 경우에는 그에 따릅니다. (ISO/IEC 5230 §3.4.1.2) ### 4.4 SBOM 생성 및 관리 1. **SBOM 생성**: - 공급 소프트웨어를 구성하는 모든 오픈소스 컴포넌트의 SBOM(Software Bill of Materials)을 생성합니다. - SBOM에는 각 컴포넌트의 이름, 버전, 라이선스 정보, 다운로드 위치 등이 포함됩니다. + - SBOM은 SPDX 또는 CycloneDX 표준 형식 중 하나를 채택하여 생성합니다. (ISO/IEC 18974 §3.3.1.2) 2. **SBOM 유지 및 업데이트**: - SBOM은 소프트웨어 릴리스마다 업데이트되며, 최신 상태를 유지합니다. - SBOM은 내부 저장소에서 안전하게 관리되며, 외부 요청 시 제공할 수 있도록 준비됩니다. @@ -272,9 +274,11 @@ This sample open source policy was written with reference to the following two m 3. **대응 조치**: - 고위험 취약점에 대해서는 즉시 패치를 적용하거나 완화 조치를 수행합니다. - 고객에게 영향을 미칠 수 있는 경우, 고객에게 통지하고 해결 방안을 제시합니다. + - 취약점 심각도에 따라 다음 기한 내에 조치합니다: Critical(CVSS 9.0 이상) 1주 이내, High(CVSS 7.0~8.9) 4주 이내. (ISO/IEC 18974 §3.3.2.1) 4. **대응 기록 유지**: - 모든 취약점과 대응 조치는 데이터베이스에 기록되며, 정기적으로 보고서를 생성합니다. - 대응 기록은 향후 유사한 문제 발생 시 참고 자료로 활용됩니다. + - 취약점 대응 기록은 해당 공급 소프트웨어의 마지막 배포 시점으로부터 최소 3년간 보관합니다. (ISO/IEC 18974 §3.3.2.2) ### 5.2 새로 발견된 취약점 대응 절차 @@ -508,6 +512,8 @@ This sample open source policy was written with reference to the following two m 3. **피드백 제공 및 개선**: - 대응 후, 외부 문의자에게 피드백을 제공하며, 필요 시 개선 방안을 제안합니다. - 반복적인 문제를 방지하기 위해 대응 기록을 분석하고 프로세스를 개선합니다. +4. **대응 기록 보관**: + - 외부 문의 대응 기록은 해당 문의가 종결된 날로부터 최소 3년간 보관합니다. (ISO/IEC 18974 §3.2.1.2) ## 10. 프로그램 효과성 측정 및 개선 diff --git a/content/ko/guide/templates/2-process-template/_index.md b/content/ko/guide/templates/2-process-template/_index.md index ab7a045ef2..2952edbb76 100644 --- a/content/ko/guide/templates/2-process-template/_index.md +++ b/content/ko/guide/templates/2-process-template/_index.md @@ -104,6 +104,8 @@ IT 담당은 확정된 SBOM을 시스템에 등록합니다. SBOM에는 공급 등록된 정보는 정기적으로 검토하고 업데이트합니다. +SBOM은 SPDX 또는 CycloneDX 표준 형식으로 작성하며, 등록 전 형식 적합성을 검증합니다. + ### (7) 고지 오픈소스 프로그램 매니저는 고지 의무를 준수하기 위해 오픈소스 고지문을 생성합니다. 오픈소스 고지문에는 다음과 같은 내용이 포함됩니다: @@ -139,6 +141,8 @@ IT 담당은 확정된 SBOM을 시스템에 등록합니다. SBOM에는 공급 IT 담당은 컴플라이언스 산출물을 회사의 오픈소스 배포 사이트에 등록합니다. +고객이 요청하는 경우, IT 담당은 해당 공급 소프트웨어의 SBOM을 고객에게 제공할 수 있도록 준비합니다. + ### (10) 최종 확인 오픈소스 프로그램 매니저는 컴플라이언스 산출물이 이상 없이 회사의 오픈소스 포털에 등록되었는지, 외부에서 이상 없이 다운로드가 되는지 등 종합적인 확인을 합니다. @@ -147,6 +151,8 @@ IT 담당은 컴플라이언스 산출물을 회사의 오픈소스 배포 사 오픈소스 프로그램 매니저는 오픈소스 라이선스 컴플라이언스 산출물 생성이 미흡한 공급 소프트웨어가 있는지 주기적으로 확인합니다. 그리고, 외부 문의에 신속하게 대응하기 위한 프로세스를 운영합니다. 외부 문의 대응 프로세스의 자세한 절차는 [2. 외부 문의 대응 프로세스]를 따릅니다. +오픈소스 컴포넌트의 추가·변경·제거, 새로운 취약점 발견, 또는 라이선스 변경이 확인된 경우에는 해당 공급 소프트웨어의 SBOM을 즉시 갱신합니다. + 보안 담당은 알려진 취약점 또는 새로 발견된 취약점을 모니터링하고 대응하기 위한 프로세스를 운영합니다. 이 프로세스는 다음 사항을 포함해야 합니다: 1. 공급 소프트웨어에 사용된 오픈소스 소프트웨어 컴포넌트의 알려진 취약점 또는 새로 발견된 취약점을 지속적으로 모니터링하는 방법 @@ -237,6 +243,8 @@ IT 담당은 모든 공급 소프트웨어에 대해 출시 후에도 자동화 취약점 기록은 중앙 데이터베이스에 저장하고 정기적으로 백업합니다. +취약점 기록은 해당 공급 소프트웨어의 마지막 배포 시점으로부터 최소 3년간 보관합니다. (ISO/IEC 18974 §3.3.2.2) + IT 담당은 취약점이 해결된 SBOM(Software Bill of Materials)을 시스템에 등록합니다. ### (7) 보고 및 커뮤니케이션 From 7a4acef0accf5cc7877dbcc1ba13bc749cdba8c2 Mon Sep 17 00:00:00 2001 From: Haksung Jang Date: Thu, 26 Mar 2026 07:34:43 +0900 Subject: [PATCH 5/5] =?UTF-8?q?docs(tools):=20add=20new=20SBOM=20tool=20pa?= =?UTF-8?q?ges=20=E2=80=94=20cdxgen,=20Syft,=20Dependency-Track?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tools/5-cdxgen: OWASP CycloneDX generator (20+ ecosystems, CI/CD integration) - tools/6-syft: Anchore SBOM generator (SPDX/CycloneDX, Grype integration) - tools/7-dependency-track: OWASP continuous SBOM monitoring platform All pages follow the established tools/ page structure with: introduction, key features, installation, basic usage, CI/CD examples, references. Co-Authored-By: Claude Sonnet 4.6 --- content/ko/guide/TODO.md | 6 +- content/ko/guide/tools/5-cdxgen/_index.md | 87 +++++++++++++++ content/ko/guide/tools/6-syft/_index.md | 101 ++++++++++++++++++ .../guide/tools/7-dependency-track/_index.md | 95 ++++++++++++++++ 4 files changed, 286 insertions(+), 3 deletions(-) create mode 100644 content/ko/guide/tools/5-cdxgen/_index.md create mode 100644 content/ko/guide/tools/6-syft/_index.md create mode 100644 content/ko/guide/tools/7-dependency-track/_index.md diff --git a/content/ko/guide/TODO.md b/content/ko/guide/TODO.md index 3b99460037..b9e72d50dc 100644 --- a/content/ko/guide/TODO.md +++ b/content/ko/guide/TODO.md @@ -36,9 +36,9 @@ draft: true - [x] #25 4-tool에 FOSSLight tools/ 링크 추가 ### [tools/ 신규 작성] SBOM 도구 3종 -- [ ] #33 cdxgen tools/ 페이지 신규 작성 (tools/5-cdxgen/_index.md) -- [ ] #34 Syft tools/ 페이지 신규 작성 (tools/6-syft/_index.md) -- [ ] #35 Dependency-Track tools/ 페이지 신규 작성 (tools/7-dependency-track/_index.md) +- [x] #33 cdxgen tools/ 페이지 신규 작성 (tools/5-cdxgen/_index.md) +- [x] #34 Syft tools/ 페이지 신규 작성 (tools/6-syft/_index.md) +- [x] #35 Dependency-Track tools/ 페이지 신규 작성 (tools/7-dependency-track/_index.md) --- ## 2차 작업 (별도 브랜치 예정 — 지금은 작업하지 않음) diff --git a/content/ko/guide/tools/5-cdxgen/_index.md b/content/ko/guide/tools/5-cdxgen/_index.md new file mode 100644 index 0000000000..5425641097 --- /dev/null +++ b/content/ko/guide/tools/5-cdxgen/_index.md @@ -0,0 +1,87 @@ +--- +title: "cdxgen" +weight: 5 +type: docs +categories: ["guide"] +tags: ["cdxgen", "SBOM", "CycloneDX"] +--- + +cdxgen은 OWASP(Open Web Application Security Project)가 관리하는 오픈소스 SBOM 생성 도구입니다. +소스 코드, 빌드 결과물, 컨테이너 이미지를 분석하여 [CycloneDX](https://cyclonedx.org/) 형식의 +SBOM을 자동으로 생성합니다. + +- GitHub: +- 라이선스: Apache-2.0 + +## 주요 특징 + +- **광범위한 언어·생태계 지원**: Java(Maven/Gradle), Node.js, Python, Go, Rust, PHP, Ruby, .NET 등 20개 이상 +- **다양한 스캔 대상**: 소스 코드 디렉토리, 컨테이너 이미지, GitHub 저장소 +- **CycloneDX 표준 출력**: CycloneDX 1.4/1.5/1.6 JSON 및 XML 형식 지원 +- **REPL 모드**: 대화형 인터페이스로 SBOM 탐색 및 조회 가능 +- **CI/CD 통합**: GitHub Actions, GitLab CI 등 주요 파이프라인과 쉽게 연동 + +## 설치 방법 + +Node.js 18 이상이 설치된 환경에서 아래 명령으로 설치합니다. + +```bash +npm install -g @cyclonedx/cdxgen +``` + +또는 Docker 이미지를 사용할 수 있습니다. + +```bash +docker pull ghcr.io/cyclonedx/cdxgen +``` + +## 기본 사용법 + +### (1) 소스 코드 디렉토리 스캔 + +```bash +# 현재 디렉토리 스캔 후 CycloneDX JSON SBOM 생성 +cdxgen -o sbom.json . + +# 언어 명시 스캔 (자동 감지 실패 시) +cdxgen -t java -o sbom.json /path/to/project +``` + +### (2) 컨테이너 이미지 스캔 + +```bash +cdxgen -t docker -o sbom.json ubuntu:22.04 +``` + +### (3) GitHub 저장소 스캔 + +```bash +cdxgen -t github -o sbom.json https://github.com/org/repo +``` + +### (4) REPL 모드로 SBOM 탐색 + +```bash +cdxgen --repl -o sbom.json . +``` + +## CI/CD 연동 예시 + +```yaml +# GitHub Actions 예시 +- name: Generate SBOM with cdxgen + run: | + npm install -g @cyclonedx/cdxgen + cdxgen -o sbom.json . +- name: Upload SBOM + uses: actions/upload-artifact@v4 + with: + name: sbom + path: sbom.json +``` + +## 참고 자료 + +- cdxgen GitHub: +- CycloneDX 표준: +- OWASP CycloneDX: diff --git a/content/ko/guide/tools/6-syft/_index.md b/content/ko/guide/tools/6-syft/_index.md new file mode 100644 index 0000000000..e8fd45a94f --- /dev/null +++ b/content/ko/guide/tools/6-syft/_index.md @@ -0,0 +1,101 @@ +--- +title: "Syft" +weight: 6 +type: docs +categories: ["guide"] +tags: ["Syft", "SBOM", "SPDX", "CycloneDX"] +--- + +Syft는 Anchore가 개발한 오픈소스 SBOM 생성 CLI 도구입니다. +컨테이너 이미지, 파일시스템, 아카이브를 스캔하여 포함된 패키지를 식별하고 +SPDX 또는 CycloneDX 형식의 SBOM을 생성합니다. + +- GitHub: +- 라이선스: Apache-2.0 + +## 주요 특징 + +- **다양한 스캔 대상**: 컨테이너 이미지(Docker, OCI), 로컬 파일시스템, tar 아카이브 +- **폭넓은 생태계 지원**: Alpine(apk), Debian/Ubuntu(dpkg), RPM, Python, Java, Go, Node.js, Ruby, Rust 등 +- **표준 출력 형식**: SPDX 2.2/2.3 (JSON·tag-value), CycloneDX 1.4/1.5 (JSON·XML), Syft JSON +- **Grype 연동**: Anchore의 취약점 스캐너 Grype와 자연스럽게 연동하여 SBOM 기반 취약점 분석 가능 +- **빠른 설치**: 단일 바이너리 배포, 별도 런타임 불필요 + +## 설치 방법 + +### 스크립트 설치 (Linux/macOS) + +```bash +curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin +``` + +### Homebrew (macOS) + +```bash +brew install syft +``` + +### Docker + +```bash +docker pull anchore/syft +``` + +## 기본 사용법 + +### (1) 컨테이너 이미지 스캔 + +```bash +# Docker 이미지 스캔 (SPDX JSON 출력) +syft ubuntu:22.04 -o spdx-json=sbom.spdx.json + +# CycloneDX JSON 출력 +syft ubuntu:22.04 -o cyclonedx-json=sbom.cdx.json +``` + +### (2) 로컬 디렉토리 스캔 + +```bash +syft dir:/path/to/project -o spdx-json=sbom.spdx.json +``` + +### (3) 표준 출력으로 결과 확인 + +```bash +# 터미널에서 패키지 목록 확인 +syft ubuntu:22.04 + +# JSON 형식으로 표준 출력 +syft ubuntu:22.04 -o json +``` + +### (4) Grype와 연동하여 취약점 스캔 + +```bash +# Syft로 SBOM 생성 후 Grype로 취약점 분석 +syft ubuntu:22.04 -o json | grype +``` + +## CI/CD 연동 예시 + +```yaml +# GitHub Actions 예시 +- name: Generate SBOM with Syft + uses: anchore/sbom-action@v0 + with: + image: myapp:latest + format: spdx-json + output-file: sbom.spdx.json +- name: Upload SBOM + uses: actions/upload-artifact@v4 + with: + name: sbom + path: sbom.spdx.json +``` + +## 참고 자료 + +- Syft GitHub: +- Grype(취약점 스캐너): +- SPDX 표준: +- CycloneDX 표준: diff --git a/content/ko/guide/tools/7-dependency-track/_index.md b/content/ko/guide/tools/7-dependency-track/_index.md new file mode 100644 index 0000000000..cae37fbd4f --- /dev/null +++ b/content/ko/guide/tools/7-dependency-track/_index.md @@ -0,0 +1,95 @@ +--- +title: "Dependency-Track" +weight: 7 +type: docs +categories: ["guide"] +tags: ["Dependency-Track", "SBOM", "취약점", "CycloneDX"] +--- + +Dependency-Track은 OWASP가 관리하는 오픈소스 SBOM 관리 및 취약점 분석 플랫폼입니다. +업로드된 SBOM(CycloneDX, SPDX)을 기반으로 컴포넌트별 취약점을 지속적으로 모니터링하고, +정책 위반 여부를 자동으로 평가합니다. + +- GitHub: +- 공식 문서: +- 라이선스: Apache-2.0 + +## 주요 특징 + +- **SBOM 기반 지속 모니터링**: SPDX 및 CycloneDX 형식의 SBOM을 업로드하면 컴포넌트별 최신 취약점을 자동으로 추적 +- **다양한 취약점 데이터소스 연동**: NVD, OSV, GitHub Advisories, VulnDB 등 +- **정책 엔진**: 라이선스 정책, 취약점 심각도 기준, 컴포넌트 사용 가능 여부를 규칙으로 정의하여 자동 평가 +- **REST API**: CI/CD 파이프라인과 통합하여 빌드 시 SBOM을 자동 업로드하고 결과를 피드백 +- **웹 UI 대시보드**: 프로젝트별 위험 점수, 취약점 현황, 라이선스 분포를 한눈에 파악 +- **알림**: Slack, 이메일, Webhook 등 다양한 채널로 신규 취약점 알림 발송 + +## 설치 방법 + +Docker Compose를 사용하는 방법이 가장 간편합니다. + +```bash +# 공식 Docker Compose 파일 다운로드 +curl -LO https://dependencytrack.org/docker-compose.yml + +# 실행 +docker compose up -d +``` + +기본적으로 API 서버는 포트 8081, 프론트엔드는 포트 8080에서 실행됩니다. +초기 관리자 계정: `admin` / `admin` (최초 로그인 후 즉시 변경 필요) + +## 기본 사용법 + +### (1) 웹 UI에서 프로젝트 생성 및 SBOM 업로드 + +1. `http://localhost:8080` 접속 +2. **Projects** → **Create Project** 클릭 +3. 프로젝트 이름·버전 입력 후 저장 +4. 해당 프로젝트 → **Components** 탭 → **Upload BOM** 클릭 +5. SBOM 파일(`.cdx.json` 또는 `.spdx.json`) 업로드 + +업로드 후 Dependency-Track이 자동으로 취약점 분석을 시작합니다. + +### (2) API를 통한 SBOM 업로드 (CI/CD 연동) + +```bash +# API Key는 Administration > Access Management > Teams에서 발급 +API_KEY="your-api-key" +PROJECT_UUID="your-project-uuid" + +curl -X PUT \ + "http://localhost:8081/api/v1/bom" \ + -H "X-Api-Key: ${API_KEY}" \ + -H "Content-Type: multipart/form-data" \ + -F "project=${PROJECT_UUID}" \ + -F "bom=@sbom.cdx.json" +``` + +### (3) GitHub Actions 연동 예시 + +```yaml +- name: Upload SBOM to Dependency-Track + uses: DependencyTrack/gh-upload-sbom@v3 + with: + serverhostname: dependency-track.example.com + apikey: ${{ secrets.DT_API_KEY }} + project: ${{ secrets.DT_PROJECT_UUID }} + bomfilename: sbom.cdx.json +``` + +## cdxgen / Syft와 함께 사용하기 + +Dependency-Track은 SBOM 생성 도구(cdxgen, Syft)와 함께 사용할 때 가장 효과적입니다. + +``` +cdxgen 또는 Syft → SBOM 생성 → Dependency-Track 업로드 → 지속 모니터링 +``` + +- SBOM 생성: [cdxgen](../5-cdxgen/) 또는 [Syft](../6-syft/)로 빌드 시 SBOM 생성 +- 중앙 관리: Dependency-Track에 업로드하여 전사 프로젝트 취약점 현황 통합 관리 + +## 참고 자료 + +- Dependency-Track 공식 문서: +- Dependency-Track GitHub: +- CycloneDX 표준: