diff --git a/content/en/guide/supply-chain/for-suppliers/server-delivery.md b/content/en/guide/supply-chain/for-suppliers/server-delivery.md index 8a73f0cbe..2aaf404f5 100644 --- a/content/en/guide/supply-chain/for-suppliers/server-delivery.md +++ b/content/en/guide/supply-chain/for-suppliers/server-delivery.md @@ -9,7 +9,7 @@ description: > This document is an advanced guide for suppliers that deliver a server with an application on top of an OS. For an ordinary application delivery, [How to Generate an SBOM](../creation-guide/) is sufficient. -Treat the server as two layers — the OS and the application — generate each separately, then merge them. Both are produced with [BomLens](../skt-scanner/); only the input changes. In addition, statically linked libraries (for example an openssl built into the binary) are a blind spot that neither layer's scan catches, so they are handled separately. Missing them is the most common rejection cause. +Treat the server as two layers — the OS and the application — generate each separately, then merge them. Both are produced with [BomLens](../skt-scanner/); only the input changes. In addition, statically linked libraries (for example an openssl built into the binary) are a blind spot that neither layer's scan catches, so they are handled separately. Missing them is the most common cause of rejection in server delivery. ## The two layers of a server @@ -20,11 +20,11 @@ Treat the server as two layers — the OS and the application — generate each ## Generating each layer -The commands below use BomLens's `scan-sbom.sh` script. For installing BomLens and its basics (downloading the script, the options, the web UI, and so on), see [BomLens](../skt-scanner/) first. To use cdxgen/Syft directly, see [Using Open Source Tools](../creation-guide/). +The commands below use BomLens's `scan-sbom.sh` script. For installing BomLens and its basics (downloading the script, the options, the web UI, and so on), see [BomLens](../skt-scanner/) first. If you use open source tools directly instead of BomLens, scan the OS layer with Syft (or Trivy) and the application layer with cdxgen; see [Using Open Source Tools](../creation-guide/) for the commands. ### OS layer -Scan the server's rootfs (the extracted root filesystem) or a container image of it. The package database (rpm/dpkg/apk) is read so every installed package gets a real purl (`pkg:rpm/...`). +Scan the server's rootfs (the extracted root filesystem) or a container image of it. The target must be the delivered, built state — not the base image you started from — because the OS packages installed during the build have to be included. The package database (rpm/dpkg/apk) is read so every installed package gets a real purl (`pkg:rpm/...`). ```bash # Target a rootfs directory diff --git a/content/ko/guide/supply-chain/for-suppliers/server-delivery.md b/content/ko/guide/supply-chain/for-suppliers/server-delivery.md index 21f07f265..b8e96ab83 100644 --- a/content/ko/guide/supply-chain/for-suppliers/server-delivery.md +++ b/content/ko/guide/supply-chain/for-suppliers/server-delivery.md @@ -9,7 +9,7 @@ description: > 이 문서는 OS 위에 애플리케이션을 얹어 서버 형태로 납품하는 공급사를 위한 심화 가이드입니다. 일반 애플리케이션 납품이라면 [SBOM 생성 방법](../creation-guide/)만으로 충분합니다. -서버는 두 층(OS와 애플리케이션)으로 보고 각 층을 따로 생성한 뒤 하나로 합칩니다. 두 층 모두 [BomLens](../skt-scanner/)로 만들 수 있고, 층마다 입력만 바꾸면 됩니다. 여기에 더해, 정적 링크된 라이브러리(빌드 시 바이너리에 포함된 openssl 등)는 두 층의 스캔이 모두 놓치는 사각지대라 별도로 다룹니다. 이를 빠뜨리는 것이 가장 흔한 반려 원인입니다. +서버는 두 층(OS와 애플리케이션)으로 보고 각 층을 따로 생성한 뒤 하나로 합칩니다. 두 층 모두 [BomLens](../skt-scanner/)로 만들 수 있고, 층마다 입력만 바꾸면 됩니다. 여기에 더해, 정적 링크된 라이브러리(빌드 시 바이너리에 포함된 openssl 등)는 두 층의 스캔이 모두 놓치는 사각지대라 별도로 다룹니다. 이를 빠뜨리는 것이 서버 납품에서 가장 흔한 반려 원인입니다. ## 서버를 이루는 두 층 @@ -20,11 +20,11 @@ description: > ## 층별 생성 -아래 명령은 BomLens의 실행 스크립트 `scan-sbom.sh`를 사용합니다. BomLens 설치와 기본 사용법(스크립트 내려받기, 옵션, 웹 UI 등)은 [BomLens](../skt-scanner/)를 먼저 참고하세요. cdxgen·Syft를 직접 쓰려면 [오픈소스 도구 활용](../creation-guide/)을 참고합니다. +아래 명령은 BomLens의 실행 스크립트 `scan-sbom.sh`를 사용합니다. BomLens 설치와 기본 사용법(스크립트 내려받기, 옵션, 웹 UI 등)은 [BomLens](../skt-scanner/)를 먼저 참고하세요. BomLens 대신 오픈소스 도구를 직접 쓴다면 OS 층은 Syft(또는 Trivy), 애플리케이션 층은 cdxgen으로 대응합니다. 사용법은 [오픈소스 도구 활용](../creation-guide/)을 참고합니다. ### OS 층 -서버의 rootfs(추출한 루트 파일시스템)나 그 컨테이너 이미지를 스캔합니다. 패키지 데이터베이스(rpm/dpkg/apk)를 읽어 설치된 패키지를 모두 실제 purl(`pkg:rpm/...`)로 식별합니다. +서버의 rootfs(추출한 루트 파일시스템)나 그 컨테이너 이미지를 스캔합니다. 대상은 받아온 원본 베이스가 아니라 빌드가 끝나 납품되는 상태여야 합니다. 빌드 과정에서 설치한 OS 패키지까지 포함해야 하기 때문입니다. 패키지 데이터베이스(rpm/dpkg/apk)를 읽어 설치된 패키지를 모두 실제 purl(`pkg:rpm/...`)로 식별합니다. ```bash # rootfs 디렉터리를 대상으로