Swift 6.4의 SBOM을 기업 CI에 어떻게 연결할까? 2026 검수 가이드

Swift 6.4 SBOM은 격리된 CI 작업에서 먼저 시험하고, 가능하면 빌드 시 생성해 해당 빌드 산출물과 함께 보관하는 편이 안전합니다. 단독 생성 경로를 쓰면 생성 시점의 의존성 그래프가 실제 빌드와 같은지 별도로 확인해야 합니다. 생성 성공, 내용 검증, 산출물 추적이 모두 확인되기 전에는 전체 저장소로 확대하지 마세요.

기업 보안·준법 담당자라면 소프트웨어 자재 명세를 실제 전달 증거에 연결하는 방법을 확인할 수 있습니다.
CI 플랫폼 담당자라면 Swift 도구 체인의 SBOM 기능을 기존 macOS 빌드 흐름에 넣을 때의 점검 항목을 확인할 수 있습니다.
iOS·macOS 기술 책임자라면 Swift 패키지 목록이 실제 배포 제품을 빠짐없이 설명하는지 검증할 수 있습니다.

최종 업데이트: 2026년 10월 7일. Swift 6.4의 출시와 SBOM 지원 여부는 Swift 6.4 출시 안내와 SE-0509 구현 설명을 기준으로 확인했습니다. 공식 기능 안내는 기업 CI의 합격 판정을 대신하지 않습니다. 실제 판정은 저장소와 빌드 기록으로 해야 합니다.

SBOM 파일이 생성됐다는 사실만으로 공급망 보안이 증명되지는 않습니다. 패키지 의존성 목록인지, 빌드에 사용된 의존성 그래프인지, 특정 배포 제품을 추적하는 자료인지부터 구분해야 합니다. SBOM은 취약점 부재나 빌드 무결성을 단독으로 보증하지 않습니다.

Swift.org는 2026년 9월 15일 공개한 Swift 6.4 안내에서 SwiftPM의 SPDX 및 CycloneDX SBOM 생성을 확인했습니다. 다만 팀의 제출 기준에 맞는 형식과 세부 범위는 보안 담당자가 정해야 합니다. Swift 6.4 출시 안내와 SE-0509 제안 및 구현 설명을 함께 확인하세요.

착수 회의에서 다음 항목을 문서화합니다.

  • 보안팀: 요구 형식과 필수 필드, 승인 및 보관 기준을 정합니다.
  • CI 플랫폼팀: 도구 체인, 생성 경로, 출력 위치, 실패 처리 방식을 정합니다.
  • 앱팀: 배포 대상 제품과 SwiftPM 바깥의 의존성 및 구성 요소를 알립니다.

Swift Package Manager SBOM을 검토할 때는 저장소가 SwiftPM으로 관리하는 패키지와 실제 제품의 경계를 분리해야 합니다. 외부 바이너리, 별도 도구 체인, 수동으로 복사하는 구성 요소가 있다면 SwiftPM 출력에 모두 포함된다고 가정할 수 없습니다. SwiftPM 패키지 구조 문서와 의존성 추가 문서를 참고해 프로젝트 입력을 확인합니다.

각 저장소에서 Swift 도구 체인 버전, 빌드 호출 방식, Package.resolved의 관리 및 갱신 절차, 실제 배포 제품을 기록합니다. 풀 리퀘스트 검증 빌드와 릴리스 빌드가 서로 다른 의존성 상태를 사용하지 않는지도 확인합니다.

점검 대상 확인할 입력 남길 증거
도구 체인 CI에서 선택한 Swift 버전과 실행 경로 빌드 로그와 도구 체인 식별 정보
의존성 상태 Package.resolved의 변경 및 반영 과정 커밋 식별자와 잠금 파일
제품 범위 빌드·배포되는 앱과 패키지 대상 빌드 설정 및 산출물 목록
범위 밖 요소 SwiftPM 외부에서 들어오는 라이브러리나 도구 별도 목록과 담당 팀 확인

주의: 패키지 목록과 실제 빌드에 연결된 의존성은 같은 의미가 아닙니다. SBOM의 범위를 제품 전체로 설명하려면 SwiftPM 외부 요소도 별도로 대조해야 합니다.

SwiftPM 단독 생성과 빌드 시 생성은 입력이 같다고 자동으로 보장되지 않습니다. SE-0509에는 빌드 과정에서 SBOM을 생성하는 경로와 swift package generate-sbom 명령으로 따로 생성하는 경로가 설명돼 있습니다. 형식과 출력 옵션은 설치된 도구 체인의 swift build --help 및 swift package generate-sbom --help로 확인하고, 검증한 호출을 CI 설정에 고정합니다. SE-0509 구현 설명

생성 경로 알맞은 상황 추가 검수
빌드 시 생성 SBOM을 특정 빌드와 함께 남기려는 경우 빌드 기록, SBOM, 산출물의 연결 확인
단독 생성 기존 빌드 흐름과 분리해 명세를 만들려는 경우 생성 전후 의존성 상태와 해당 빌드의 그래프 비교

SPDX와 CycloneDX 중 무엇을 쓸지는 수신 시스템과 사내 정책에 맞춰 결정합니다. 두 형식을 모두 요구받는다면 같은 커밋과 의존성 입력을 사용했는지 기록하고, 각 파일이 어느 제품을 설명하는지 명확히 표시합니다.

운영 릴리스에 바로 적용하지 말고 시험 브랜치나 격리된 CI 작업에서 시작합니다. 입력을 고정하고 결과 파일이 예상한 위치에 생성되는지 확인합니다. SwiftPM 명령의 옵션은 설치된 Swift 6.4 도구 체인에서 확인한 값을 그대로 기록합니다. SwiftPM 문서는 도구 사용법을 확인할 때 참고할 수 있지만, 각 저장소의 실행 결과를 대신 검증해주지는 않습니다.

조건에 따른 선택 기준

  • 빌드 과정에서 생성한 SBOM이 같은 작업의 산출물과 연결되고, 내용 검수가 통과하면 해당 경로를 우선 적용합니다.
  • 단독 생성만 가능한 경우, 생성 시점의 잠금 파일과 의존성 그래프가 빌드 기록과 일치하는 증거를 남긴 뒤 적용합니다.
  • 출력이 없거나 형식이 잘못됐거나 제품 범위가 맞지 않으면 배포를 중지하고 입력과 생성 경로를 조사합니다.
  • 경고를 남기는 설정은 경고가 발생해도 통과하는 동작이므로, 보안 준수 합격으로 자동 처리하지 않습니다.

CI 플랫폼팀은 실패 시 작업을 중단할지, 검수 대기 상태로 보낼지 사전에 정합니다. 정책 예외를 둘 경우에도 담당자, 사유, 만료 조건을 기록해야 합니다.

검수자는 같은 커밋의 빌드 기록, SBOM 파일, 배포 후보 산출물을 한 묶음으로 확인합니다. 의존성 이름만 비교하지 말고 제품에 포함되는 대상과 관계가 기대한 범위로 표현됐는지 살핍니다. Swift PackageDescription 문서는 패키지 구성 정보를 확인할 때 참고할 수 있습니다.

단독 생성 경로라면 SBOM 생성 전후의 잠금 파일과 의존성 그래프를 비교합니다. 의존성 갱신이나 체크아웃 차이가 발견되면 해당 SBOM을 이미 수행된 빌드의 증거로 사용하지 말고, 동일 입력으로 다시 생성하거나 빌드 시 생성 경로로 돌아갑니다.

검수 항목 통과 조건 불일치 시 조치
제품 범위 대상 앱과 포함돼야 할 패키지가 설명됨 누락된 구성 요소와 관리 경로 확인
의존성 상태 SBOM 입력이 빌드 커밋 및 잠금 상태와 맞음 의존성 해석 및 체크아웃 기록 조사
파일 형식 수신 정책이 정한 SPDX 또는 CycloneDX 형식과 맞음 출력 옵션과 검증 도구 설정 확인
산출물 연결 같은 CI 실행의 SBOM과 제품을 추적할 수 있음 연결 정보가 확인될 때까지 배포 보류

시험 결과를 바탕으로 저장소별 적용, 플랫폼 공통 설정, 보류 중 하나를 선택합니다. 공통 설정은 출력 위치와 실패 처리 기준을 통일하는 데 도움이 되지만, 저장소마다 빌드 명령과 제품 범위가 다를 수 있으므로 검증 없이 일괄 주입하지 않습니다.

승인 기록에는 도구 체인 식별 정보, 커밋, SBOM 파일, 연결된 빌드 산출물, 생성 실패 및 예외 처리 결과를 남깁니다. 이후 의존성 갱신이나 빌드 흐름 변경이 있을 때는 동일한 검수를 다시 수행합니다.

기존 Mac을 고정 CI 노드로 운영하면 장비 관리, 환경 일관성, 유휴 시간에 대한 책임이 남습니다. 일반 클라우드 작업 환경은 실제 macOS 빌드와 서명 절차에 맞는지 별도 검증해야 합니다. 물리 장비를 직접 조달하면 초기 구매와 유지 관리가 필요합니다. 반면 원격 Mac 임대는 필요한 기간에 실제 Mac을 CI 환경으로 시험하는 선택지가 될 수 있지만, 장기 상시 부하나 물리 인터페이스가 필요한 작업에는 직접 보유가 더 적합할 수 있습니다.

환경을 비교하기 전에는 실제 파이프라인에서 도구 체인 고정, SBOM 보관, 접근 권한, 장애 시 대응 절차가 충족되는지 먼저 확인하세요. 임시 시험 노드나 단계적 확장이 필요하다면 맥 미니 대여 비용과 운영 조건을 살펴보고, 기업 CI에 맞는 원격 Mac 환경은 NOVAKVM 안내에서 확인할 수 있습니다.

스위프트 빌드 검수를 전용 맥에서 시작하세요

NOVAKVM의 물리 맥 노드에서 소프트웨어 구성 명세서 생성과 검수를 실제 스위프트 빌드에 연결해 시험해 보세요.

가상화 계층 없이 전용 하드웨어에서 빌드와 자동화 작업을 실행해 환경 차이를 줄이세요.

가격 보기 →