sitelink1 https://spdx.org/licenses 
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

보통 사내 개발 프레임워크, 재사용되는 공통 라이브러리, 제품 내부 바이너리 등은 다음과 같은 원칙으로 SBOM을 운영한다고 한다.

 

  • OSS 라이선스 분석 대상에서는 제외시키기 위해 “Proprietary” 혹은 "Internal component"로 태깅하여 OSS 필터링에서 자동 제외
  • 자체 코드 제외는 SBOM 누락을 야기하기 때문에 빌드 스캔 시 ‘자체 코드 제외’는 지양
  • NOASSERTION 은 라이선스 정보를 못 찾은 OSS 파일에 대한 “미확정 상태 표시”이므로 보안팀/컴플라이언스팀이 반드시 다시 리뷰해야함

 

 


 


1) 기업 내부 코드 자동 필터링 규칙 설계

내부 코드 자동 분류 규칙의 모범 사례입니다:

 규칙 1 — 자체 코드의 네임스페이스 기반 판단

예:

- src/company/** → 내부 코드
- src/core/** → 내부 코드
- modules/internal/** → 내부 코드

 규칙 2 — Vendor / ThirdParty 외의 디렉토리는 내부 코드로 분류

예:

/thirdparty/
/external/
/oss/

이런 폴더가 아니면 내부 코드로 간주.

 규칙 3 — 확장자 기반 예외 처리

내부 코드라도 라이선스 검토가 필요한 경우:

*.c, *.cpp, *.java, *.kt → 내부 코드
*.LICENSE, NOTICE 포함 시 외부 OSS 확인

 규칙 4 — 빌드 산출물(바이너리)은 내부 코드로 간주 (단 캐시 제외)

*.exe, *.dll, *.so, *.apk, *.jar → internal binary

2) Proprietary/Internal 분류 룰

구분 의미 licenseDeclared SPDXID 포함 여부
Internal(자체 개발 코드) 사내 개발 소스/라이브러리 Proprietary SPDXRef-Internal-xxx SBOM에 포함
External OSS 외부 Open Source 실제 라이선스 SPDXRef-Package-OSS-xxx SBOM에 포함
기타 산출물 빌드 결과물 • 바이너리 NONE or Proprietary SPDXRef-Artifact-xxx 포함 가능

규칙:

  • 내부 코드 = 반드시 Proprietary 또는 NONE

  • 외부 OSS = 반드시 SPDX 라이선스 ID 필요

  • 라이선스를 모른다 = NOASSERTION (OSS에서만 사용)


3) FOSSLight Scanner에서 자체 코드 제외 OR Internal labeling 자동화

방법 A — 자체 코드 제외

.fosslight_ignore 파일 사용:

src/internal/**
src/company/**
*.dll
*.exe
build/**

프로젝트 루트에 저장하면 자동 제외됨.

방법 B — 자체 코드 포함 but Internal 표기

SBOM 변환 시 다음 메타데이터 적용:

oss_name: company.internal.module
license: Proprietary
comment: Internal proprietary source code

4) SPDX 내부 코드 정의 예시

 패키지 단위 (Proprietary Code)

{
  "SPDXID": "SPDXRef-Internal-CoreModule",
  "name": "company-core-module",
  "downloadLocation": "NONE",
  "supplier": "Organization: MyCompany",
  "licenseDeclared": "Proprietary",
  "licenseConcluded": "Proprietary",
  "copyrightText": "NOASSERTION"
}

 파일 단위

{
  "SPDXID": "SPDXRef-File-CompanySrc1",
  "fileName": "src/company/core/utils.cpp",
  "licenseConcluded": "Proprietary",
  "comment": "Internal proprietary source file"
}

 

 

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의 황제낙엽 2025.04.10 9309
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의 황제낙엽 2024.02.02 9391
» 사내 개발 프레임워크 또는 내부용 공통 라이브러리에 대한 SBOM 적용 방안 황제낙엽 2025.11.28 2477
126 [ChatGPT, Gemini][FOSSLight Hub] Project Progress 의 Identification 단계의 데이터 에러 관련 황제낙엽 2025.11.28 2258
125 Windows 11 Pro의 OpenSSH 기반 SFTP 서버 전용 사용자 계정 관리 황제낙엽 2025.11.07 2387
124 FileZilla Server 에서 기존 TLS 인증서로 SSL 설정 (v1.11.1 기준) 황제낙엽 2025.11.05 2611
123 binary scan 결과 엑셀(xlsx)에서 이미지, 폰트 항목 필터 방법 황제낙엽 2025.10.31 2329
122 win-acme 에서 강제 신규 발급 (같은 도메인이라도 새 order 생성) 황제낙엽 2025.10.18 2369
121 FOSSLight_Binary_Scanner 의 OWASP Dependency-Check 사용자 업그레이드 황제낙엽 2025.09.23 2251
120 Dependency-Check 프로그램과 NVD (National Vulnerability Database) Data Feeds 황제낙엽 2025.09.23 2005
119 ScanCode Toolkit 에서 검출한 라이선스 정보중 'unknown-license-reference' 관련 황제낙엽 2025.09.19 1812
118 [FOSSLight Hub] ./service/template/SPDXRdf_2.2.2.xls (No such file or directory) file 황제낙엽 2025.09.19 2931
117 LG 의 Open Source Compliance 활동 황제낙엽 2025.09.18 1349
116 OWASP Dependency-Check 황제낙엽 2025.09.17 1496
115 NVD (National Vulnerability Database) API 키 발급 후 설정하기 황제낙엽 2025.09.17 1832
114 fosslight_binary_scanner 에서 스캔 결과 exclude 의 의미 황제낙엽 2025.09.16 1247
113 SPDX(Java Tools) - SPDX 문서의 생성, 파싱, 검증, 조작, 직렬화 황제낙엽 2025.07.30 1166
112 FOSSLight 의 Scanner 중 SBOM 산출 가능 Scanner 황제낙엽 2025.07.23 1702
111 [SBOM] Customized FOSSLight 버전 관리의 필요성에 대한 내용 황제낙엽 2025.07.18 1136
110 [SBOM] FOSSLight Hub 소스 컴파일 및 실행 절차 황제낙엽 2025.07.15 1119
109 [Gemini] OSS Review Toolkit 의 도움말 번역 황제낙엽 2025.06.25 1120
108 SPDX 를 지원하는 Open Source 목록 황제낙엽 2025.06.24 1382