Learning
토픽 201 / 210·애플리케이션 보안

SCA (Software Composition Analysis)

SCA (Software Composition Analysis)

소프트웨어에 포함된 오픈소스 컴포넌트와 서드파티 라이브러리를 식별하고, 알려진 취약점(CVE)과 라이선스 위험을 분석하는 보안 도구 및 프로세스

목적: 오픈소스 취약점 식별, 라이선스 준수, SBOM 생성, 공급망 보안, 위험 관리

특징: 의존성 분석, CVE 매핑, 라이선스 탐지, CI/CD 통합, SBOM 생성

분석 대상

  • 직접 의존성: 직접 포함한 라이브러리
  • 전이 의존성(Transitive): 의존성의 의존성, 숨겨진 위험
  • 컨테이너 이미지: 베이스 이미지 내 패키지

주요 도구

  • Snyk: SCA + SAST, 개발자 친화적
  • Black Duck: 엔터프라이즈, 라이선스 관리 강점
  • OWASP Dependency-Check: 무료, CVE 기반
  • GitHub Dependabot: GitHub 통합, 자동 PR

라이선스 위험: GPL(Copyleft), Apache/MIT(Permissive), 상용 라이선스 충돌

장점: 오픈소스 가시성, 자동화, 조기 발견, 라이선스 관리

단점: 오탐(False Positive), 전이 의존성 복잡, 조치 필요

적용사례: DevSecOps 파이프라인, 오픈소스 관리, 규정 준수, SBOM

비교: SCA(오픈소스 분석) vs SAST(자체 코드) vs DAST(런타임)

연관: SBOM, DevSecOps, 오픈소스 보안, 취약점 관리, 공급망 보안