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 5058
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의 황제낙엽 2024.02.02 5210
56 [FOSSLight] 'Download Location' 컬럼 값에 'Different from DB' 라는 푸른색 메세지가 출력 file 황제낙엽 2026.02.06 1178
55 [FOSSLight] Project Identification 진행시의 신규 OSS 등록 처리 방법 황제낙엽 2026.02.06 1198
54 [FOSSLight Hub] License 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 1180
53 [FOSSLight Hub] Open Source 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 1163
52 [OSS] Microsoft.Web.WebView2 황제낙엽 2026.02.06 1309
51 [FOSSLight] fosslight 프로젝트의 'Pre-Review' > 'Open Source' 팝업창의 세 버튼에 대한 용도 황제낙엽 2026.02.06 1156
50 [FOSSLight/검토용] prechecker convert 결과 Hub 등록후 Identification 처리 updatefile 황제낙엽 2026.02.05 1169
49 python venv 설치, fosslight source scanner , binary scanner 설치, 버전 확인 황제낙엽 2026.02.02 1158
48 SPDX 템플릿 다운로드 및 온라인 변환기 황제낙엽 2026.01.22 1400
47 SBOM(Software Bill of Materials) 및 소프트웨어 공급망 보안 관련 주요 정부 기관 및 단체 황제낙엽 2026.01.22 1153
46 sbom-info.yaml 을 이용한 dependency scan excel 작성 file 황제낙엽 2025.12.29 1161
45 binary scan 결과물에 대해 취약점이 없는데 왜 SBOM에 넣어야 하나? 황제낙엽 2025.12.17 1159
44 fosslight_source_scanner 에서 스캔 결과 License컬럼 : "New license" (실제 값은 있음) 황제낙엽 2025.12.03 1299
» 사내 개발 프레임워크 또는 내부용 공통 라이브러리에 대한 SBOM 적용 방안 황제낙엽 2025.11.28 1211
42 [ChatGPT, Gemini][FOSSLight Hub] Project Progress 의 Identification 단계의 데이터 에러 관련 황제낙엽 2025.11.28 1214
41 binary scan 결과 엑셀(xlsx)에서 이미지, 폰트 항목 필터 방법 황제낙엽 2025.10.31 1141
40 FOSSLight_Binary_Scanner 의 OWASP Dependency-Check 사용자 업그레이드 황제낙엽 2025.09.23 1168
39 Dependency-Check 프로그램과 NVD (National Vulnerability Database) Data Feeds 황제낙엽 2025.09.23 808
38 ScanCode Toolkit 에서 검출한 라이선스 정보중 'unknown-license-reference' 관련 황제낙엽 2025.09.19 740
37 [FOSSLight Hub] ./service/template/SPDXRdf_2.2.2.xls (No such file or directory) file 황제낙엽 2025.09.19 1710