Skip to content

docs(supply-chain): submit the server layers as separate files instead of merging them - #301

Merged
haksungjang merged 1 commit into
masterfrom
docs/per-layer-submission
Sep 3, 2026
Merged

docs(supply-chain): submit the server layers as separate files instead of merging them#301
haksungjang merged 1 commit into
masterfrom
docs/per-layer-submission

Conversation

@haksungjang

Copy link
Copy Markdown
Member

서버 납품에서 층별 SBOM을 병합해 하나로 제출하라던 안내를, 합치지 않고 그대로 함께 제출하는 방식으로 바꿉니다.

배경

병합에 cyclonedx-cli를 쓰도록 안내했는데, 이 도구의 merge 명령은 CycloneDX만 입력으로 받습니다.

merge   --input-format <autodetect|json|protobuf|xml>
convert --input-format <autodetect|csv|json|protobuf|spdxjson|xml>

spdxjsonconvert에만 있습니다. 게다가 변환 대상은 SPDX JSON 2.3뿐이라 SPDX 2.2나 tag-value 형식은 해당하지 않고, 공식 문서도 변환 시 정보 손실이 있을 수 있다고 밝히고 있습니다. 제출 요구사항이 SPDX 2.2·2.3을 허용하므로, SPDX로 생성한 공급사는 병합 단계에서 막힙니다.

병합은 애초에 필요하지 않습니다. 등록 시스템은 SBOM 문서 하나를 스캔 단위로 다루고, 같은 제품 버전에 등록된 문서들을 합쳐 하나의 목록으로 봅니다. 층별 파일 3개를 따로 내도 결과는 병합본과 같습니다. 오히려 층별 파일이 어느 층에 무엇이 빠졌는지 바로 보여 주어 반려 대응이 쉽고, 공급사가 설치할 도구도 하나 줄어듭니다.

변경 내용

  • SBOM 생성 방법: 하나로 합쳐 제출 절을 층별로 제출로 교체했습니다. 파일 이름 규칙(층 접미어)과, 재제출 시 같은 이름을 유지해야 하는 이유를 적었습니다. 이름이 바뀌면 이전 제출분이 남아 이미 조치한 취약점이 계속 집계됩니다. 층을 나타내는 접미어는 재제출해도 바뀌지 않아 안전하지만 회차 순번은 붙이지 않도록 명시했습니다.
  • SBOM 생성 방법: 층별 명령의 산출 파일명을 이름 규칙에 맞췄습니다(myserver_1.0.0_os.json 등).
  • 제출 절차: 제출 단위를 "제품당 SBOM 하나"에서 "납품 제품 하나"로 바꾸고, 제품 하나에 파일이 여럿일 수 있음을 적었습니다. 클러스터 규칙(제품당 하나)은 그대로입니다.
  • 공급사 가이드 홈: 5단계 중 3단계에서 병합 표현을 뺐습니다.

층별 포맷이 달라도 되므로 SPDX 공급사의 제약이 사라집니다.

한국어와 영어 양쪽에 반영했고 hugo 빌드와 새 앵커(#층별로-제출, #submit-each-layer) 생성을 확인했습니다.

…d of merging them

Merging required cyclonedx-cli, which only accepts CycloneDX as merge input;
spdxjson is available on convert but not on merge, and even then only SPDX JSON
2.3 converts and the conversion is lossy. Suppliers are free to submit SPDX, so
the merge step was a dead end for them. Merging is not needed either way: the
intake registers each SBOM document as one scan unit and combines the documents
registered against the same product version.

- creation-guide: replace the merge section with a per-layer submission section, including the file naming rule and why a resubmission must reuse the name
- creation-guide: name the example output files after that rule
- submission: the unit is one delivered product, which may come with several SBOM files
- supplier index: step 3 no longer says to merge
@haksungjang
haksungjang merged commit 9eacf9d into master Sep 3, 2026
2 of 3 checks passed
@haksungjang
haksungjang deleted the docs/per-layer-submission branch September 3, 2026 08:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant