---
id: P-REINFORCE-AUTO-A04F7E
category: "10_Wiki/💡 Topics/Programming & Language"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - SCA (소프트웨어 구성 분석)"
---

# [[SCA (소프트웨어 구성 분석)|SCA (소프트웨어 구성 분석)]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> SCA(Software Composition Analysis)는 애플리케이션에 포함된 제3자(Third-party) 코드 및 오픈소스 라이브러리의 의존성(Dependencies)을 분석하는 보안 테스팅 기법입니다 [1, 2]. 주로 외부 컴포넌트에 이미 보고된 보안 취약점(CVE 등)과 라이선스 컴플라이언스 관련 리스크를 식별하는 데 사용됩니다 [1]. 오늘날 소프트웨어 개발에서 오픈소스 라이브러리 사용 비중이 매우 높기 때문에 소프트웨어 공급망 보안을 관리하는 데 있어 그 중요성이 커지고 있으며 [1, 2], 자체 코드를 검사하는 SAST와 함께 상호 보완적으로 활용됩니다 [3].

## 📖 구조화된 지식 (Synthesized Content)
- **분석 대상 및 주요 목적**: SCA는 개발자가 직접 작성한 커스텀 코드의 논리적 결함을 찾는 SAST와 달리, 애플리케이션에 포함된 오픈소스 및 제3자 의존성 컴포넌트 분석에 특화되어 있습니다 [1, 2]. 구성 요소의 라이선스 세부 정보, 버전 이력, 기존 취약점 데이터베이스(CVE 등)에 등록된 취약점을 파악하여 라이선스 규정 준수 및 리스크 관리를 지원합니다 [1, 2].
- **의존성(Dependency) 가시성 확보**: 애플리케이션 코드에 직접 선언된 의존성뿐만 아니라 그 이면에 연결된 전이적 의존성(transitive dependencies)까지 추적합니다 [1]. 많은 오픈소스 라이브러리에 의존하여 개발이 이루어지는 현대적 환경에서, 이러한 공급망(Supply-chain) 위험 관리의 핵심 도구로 작동합니다 [1, 2].
- **도달 가능성(Reachability) 분석의 진화**: 최신 SCA 도구들(예: Endor Labs)은 단순히 취약한 오픈소스 패키지가 포함되어 있는지를 확인하는 것을 넘어, 해당 서드파티 코드 내의 취약한 함수가 실제 퍼스트파티(First-party) 코드의 실행 경로를 통해 호출되는지 분석하는 '도달 가능성 기반 SCA(Reachability-based SCA)'로 진화하고 있습니다 [4, 5]. 이는 맥락을 고려한 필터링을 통해 알림 피로도를 줄이고, 자체 코드와 의존성 리스크의 우선순위를 효과적으로 지정할 수 있게 돕습니다 [4, 6].
- **보안 도구 간의 결합 (SAST + SCA)**: SAST는 라이브러리 코드가 분석 범위에 포함되지 않으면 해당 라이브러리의 취약점을 놓칠 수 있습니다 [1]. 따라서 커스텀 코드를 보호하는 SAST와 서드파티 컴포넌트 취약점을 보호하는 SCA를 동시에 사용하여 전체 애플리케이션 보안 범위를 포괄적으로 방어하는 것이 권장됩니다 [1-3].

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Programming & Language 분야의 자동 자산화 수행.

## 🔗 지식 연결 (Graph)
- **Related Topics:** [[SAST (정적 애플리케이션 보안 테스팅)|SAST (정적 애플리케이션 보안 테스팅)]], [[서플라이 체인 보안 (Supply Chain Security)|서플라이 체인 보안 (Supply Chain Security)]], [[오픈소스 컴포넌트 (Open Source Components)|오픈소스 컴포넌트 (Open Source Components)]], [[도달 가능성 분석 (Reachability Analysis)|도달 가능성 분석 (Reachability Analysis)]]
- **Projects/Contexts:** [[데브섹옵스 (DevSecOps) 환경에서의 지속적인 보안 검사|데브섹옵스 (DevSecOps) 환경에서의 지속적인 보안 검사]], [[Snyk, Checkmarx, Endor Labs 등 종합 애플리케이션 보안 플랫폼|Snyk, Checkmarx, Endor Labs 등 종합 애플리케이션 보안 플랫폼]]
- **Contradictions/Notes:** 여러 소스에서 SCA와 SAST는 서로 대체하거나 경쟁하는 관계가 아니라는 점을 분명히 합니다. SAST는 자체 작성 코드의 논리 결함을, SCA는 서드파티 코드의 버전 이력 및 라이선스 문제를 잡아내기 때문에 각 도구의 약점을 보완하려면 이 둘을 결합하여 사용하는 것이 모범 사례로 강조됩니다 [1, 2].

---
*Last updated: 2026-04-18*
- Raw Source: 00_Raw/2026-04-20/SCA (소프트웨어 구성 분석).md
---
