토픽 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, 오픈소스 보안, 취약점 관리, 공급망 보안