SBOM 실습실

SBOM 생성과 자동관리 실습GitHub, CycloneDX, cdxgen, Dependency-Track 활용

공개용 가상 예제, 실제 제품 자료와 cdxgen 실행 결과가 아닙니다. 설명 영상 보기 ↗ 실습 설명서 ↗
제품 설명, 사용목적과 작동 원리

요스트립을 가정한 색상 분석과 이력 관리 앱

요스트립의 색을 읽고 변화를 관찰하는 과정을 배우기 위한 앱입니다. 사용자가 촬영판을 촬영하거나 저장된 사진을 불러오면, 지정된 6개 영역의 RGB 값을 분석합니다. 결과를 측정 식별자, 촬영 시각, 촬영 회차와 연결하여 저장하고 이전 결과와 비교합니다.

작동 원리

사진 촬영 또는 불러오기 → 사진 해석과 방향 보정 → 네 마커 검출 → 6개 영역의 RGB 분석 → 결과 확인과 저장 → 색상 이력 비교

image가 맡는 일

사진 파일을 해석하고 방향을 보정합니다. 마커 검출에 사용할 이미지를 축소하고, 색상 분석에 필요한 픽셀 RGB 값을 제공합니다.

자체 개발 코드가 맡는 일

마커를 찾아 6개 분석 영역을 정하고, 영역별 픽셀값의 중앙값을 계산합니다. 결과를 저장하고 촬영 회차별 이력 그래프로 표시합니다.

이 제품에서 SBOM을 배우는 이유

사진 방향과 마커 좌표가 맞지 않으면 다른 위치의 색을 읽고 잘못된 값이 이력에 남을 수 있습니다. 이 상황을 예로 image의 사용 기능과 확인 근거를 적고, RMF 기준에 따른 산정과 평가, 시험 증거 연결을 연습합니다. 현재 확인된 image 결함을 뜻하는 것은 아닙니다.

이번 학습은 색상 판독과 기록을 대신 구현한 모델입니다. 현재 출력은 RGB 값과 그 이력이며, 실제 요스트립의 화학 반응, 농도 산출이나 진단 성능을 대체한 것으로 보지 않습니다.

개발 중부터 출시 후까지, 이번 연습의 의미

1. 개발 중

소스에서 원자료를 추출하고, image의 사용 위치, 요구사항, 위험과 검증 계획을 기록합니다.

01~03, 목록과 검토의 출발점

2. 출시 전

대상 플랫폼과 실제 빌드 결과물의 구성을 대조하고, 그 환경에서의 시험 결과와 특정 증거 개정을 연결합니다.

04 이후 62304, 가져오기 다음에 할 일

3. 출시 후

배포한 버전의 구성을 보존하고 변경과 새 취약점을 감시합니다. 영향에 따라 재검증하고 새 개정을 만듭니다.

05, 변경과 취약점 대응 시나리오

image 하나는 이 연결을 끝까지 배우기 위한 예입니다. 가져오기는 목록 등록이며 검증 완료가 아닙니다. 개발 중 검증 근거도 활용하되 최종 빌드와 사용 환경에 적용 가능한지 확인합니다.

가상 제품 개발 이력, 커밋 트리 예시

실제 저장소를 조회하지 않는 가상 개발 이력입니다.

두 입력 파일→cdxgen목록을 추출하는 도구→CycloneDX JSON목록을 전달하는 파일 형식

이번 Flutter 프로젝트의 파일입니다. YAML은 패키지의 조건, LOCK은 도구가 선택한 버전을 기록합니다.

pubspec.yaml

선언

제품 이름, 버전, 직접 의존성

pubspec.lock

잠금

image 패키지의 해결된 버전과 출처

왜 두 파일인가요? Dart와 Flutter는 어떤 관계인가요?

Dart는 코드를 작성하는 언어이고 Flutter는 앱 화면과 동작의 기반을 제공하는 개발 도구와 기능 묶음입니다. Flutter 화면 코드도 Dart로 작성합니다.

pubspec.yaml에는 필요한 패키지와 허용할 버전 조건을 선언합니다. 패키지 관리 도구는 조건을 검토해 선택한 정확한 버전과 간접 의존성을 pubspec.lock에 기록합니다. 조건을 유지하면서 같은 버전 조합을 다시 준비하기 위해 역할을 나눕니다. 개발 환경마다 파일 이름과 형식은 달라집니다.