1. 의존성 분석 도구가 macOS/Xcode 환경에 종속된 경우

  • CocoaPods, Carthage, Swift Package Manager(SwiftPM) 등을 정확하게 해석하고 실제 다운로드된 라이브러리 목록을 포함하려면 해당 도구가 실행되어야 합니다.

  • 이들은 보통 macOS에서만 실행 가능합니다.

의존성 관리자 플랫폼 필요 여부 설명
CocoaPods (pod install)  macOS + Xcode 필요 .xcworkspace와 Pods/ 폴더 생성
Carthage  macOS 필요 실제 빌드 수행 필요
Swift Package Manager (swift build)  macOS 필요 .build/ 폴더 생성 및 종속성 확인
이 경우, 단순 소스 정적 분석 도구(예: ScanCode)만으로는 완전한 SBOM 생성이 어려움
 

2. 프로젝트가 macOS 전용 바이너리로 컴파일된 상태로 존재할 때

  • .app 번들, .framework, .dylib 등의 바이너리 내부에 포함된 라이선스 정보나 메타데이터를 추출하려면, macOS에서의 접근이나 실행 환경이 유리함

  • 예: Info.plist, embedded.lproj 내 텍스트 리소스, 번들 내 Third-Party 라이선스 파일 등

 

3. FOSSLight에서 macOS 의존성 도구 대응 방법

FOSSLight와 ORT(OSS Review Toolkit)는 기본적으로 macOS 의존성 도구들(CocoaPods, Carthage, SwiftPM 등)에 대한 직접적 실행 기능은 제한적입니다.

1. 의존성 정보 파일(Manifest) 기반 분석

FOSSLight Scanner는 아래와 같은 파일들을 기반으로 의존성 분석이 가능합니다:

  • Podfile.lock (CocoaPods)

  • Cartfile.resolved (Carthage)

  • Package.resolved (SwiftPM)

 하지만 이 파일들만으로는 라이선스 정보까지 정확히 파악되지 않는 경우도 많기 때문에, 실제 라이브러리를 내려받아야 할 수도 있습니다.

2. 해결 방법: 의존성 사전 설치

  • macOS에서 한 번 프로젝트를 빌드하여 의존성 디렉터리(Pods/, Carthage/Checkouts, .build/) 생성

  • 이 디렉터리들을 Linux 또는 Windows에서 FOSSLight Scanner로 정적 분석

 
bash
fosslight -p SCANNER -t <프로젝트 경로>

4. ORT(OSS Review Toolkit)에서 macOS 의존성 도구 대응 방법

ORT는 보다 강력한 의존성 해석 기능을 제공합니다. 실제로:

도구 지원 여부 비고
CocoaPods  공식 지원 pod install 필요
Carthage  제한적 수동 조치 필요
Swift Package Manager (SwiftPM)  공식 지원 swift build 필요

 

1. analyzer 단계에서 지원 확인

bash
ort analyze -i /path/to/project -o /path/to/output -f JSON
  • CocoaPods, SwiftPM은 프로젝트 디렉터리 내에 Podfile, Package.swift가 있어야 하며

  • ORT 실행 시 내부적으로 pod나 swift 커맨드를 실행함 (→ macOS 필요)

2.  macOS 의존성 도구 실행을 위한 사전 환경 조건

  • CocoaPods: pod 명령어가 설치되어 있어야 함

  • SwiftPM: Xcode 명령줄 도구 필요 (xcode-select --install)

  • ORT는 brew나 sdkman으로 설치한 swift도 감지 가능


 요약 비교

도구 macOS 의존성 대응 비고
FOSSLight ❌ 직접 해석 불가, 수동 다운로드 필요 Pods 등 사전 다운로드 후 정적 분석
ORT ✅ CocoaPods, SwiftPM 해석 가능 pod, swift 실행 위해 macOS 필요

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의 황제낙엽 2025.04.10 21567
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의 황제낙엽 2024.02.02 20407
146 SPDX 2.3, 계속 써도 되나요? — 3.0으로 넘어갈 때를 판단하는 실무 기준 황제낙엽 2026.08.11 55
145 같은 OSS 지만 여러 버전을 등록해야 하는 경우 황제낙엽 2026.04.24 1973
144 [FOSSLight Dependency Scanner] Android Project 의 Dependency Scan 을 위한 Android SDK 설치와 설정 황제낙엽 2026.04.23 1843
143 FOSSLight Hub 의 REST API 이용 (v2) 황제낙엽 2026.03.19 2500
142 [FOSSLight/검토용] 개발그룹의 sbom-info.yaml 분석 및 피드백 절차 황제낙엽 2026.03.16 1983
141 [FOSSLight/관리용] Project Identification 진행에서 최종 SBOM SPDX 문서 추출 황제낙엽 2026.02.09 1917
140 [FOSSLight] 'Download Location' 컬럼 값에 'Different from DB' 라는 푸른색 메세지가 출력 file 황제낙엽 2026.02.06 3613
139 [FOSSLight] Project Identification 진행시의 신규 OSS 등록 처리 방법 황제낙엽 2026.02.06 3750
138 [FOSSLight Hub] License 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3580
137 [FOSSLight Hub] Open Source 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3352
136 [OSS] Microsoft.Web.WebView2 황제낙엽 2026.02.06 3352
135 [FOSSLight] fosslight 프로젝트의 'Pre-Review' > 'Open Source' 팝업창의 세 버튼에 대한 용도 황제낙엽 2026.02.06 3573
134 [FOSSLight/검토용] prechecker convert 결과 Hub 등록후 Identification 처리 file 황제낙엽 2026.02.05 3289
133 python venv 설치, fosslight source scanner , binary scanner 설치, 버전 확인 황제낙엽 2026.02.02 3509
132 SPDX 템플릿 다운로드 및 온라인 변환기 황제낙엽 2026.01.22 3870
131 SBOM(Software Bill of Materials) 및 소프트웨어 공급망 보안 관련 주요 정부 기관 및 단체 황제낙엽 2026.01.22 3606
130 [FOSSLight] online guide link 황제낙엽 2026.01.14 1845
129 identification 에서 출력하는 warning, error 메세지 황제낙엽 2025.12.29 1428
128 sbom-info.yaml 을 이용한 dependency scan excel 작성 file 황제낙엽 2025.12.29 3579
127 binary scan 결과물에 대해 취약점이 없는데 왜 SBOM에 넣어야 하나? 황제낙엽 2025.12.17 3485