---
id: P-REINFORCE-AUTO-WIKI-SEC-004
category: "10_Wiki/💡 Topics/Security & Reliability"
confidence_score: 0.95
tags: [security, sca, open-source, dependency-management, license-compliance, p-reinforce]
last_reinforced: 2026-05-01
---

# [[Software Composition Analysis (SCA)]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> "애플리케이션을 구성하는 외부 오픈소스 컴포넌트와 서드파티 의존성을 스캔하여, 알려진 보안 취약점(CVE)과 법적 라이선스 리스크를 사전에 차단하는 '공급망 보안(Supply Chain Security)'의 핵심 엔진."

## 📖 구조화된 지식 (Synthesized Content)
SCA는 프로젝트의 외부 의존성을 관리하고 보안 무결성을 검증합니다.

1.  **의존성 및 취약점 스캔**:
    *   NPM, Maven, PyPI 등 프로젝트에 포함된 오픈소스 라이브러리를 스캔하여 CVE(알려진 취약점) 데이터베이스와 대조합니다.
    *   취약한 버전의 라이브러리가 사용될 경우 경고를 보내고 안전한 버전으로의 업데이트를 제안합니다.
2.  **라이선스 및 지적 재산권 보호**:
    *   오픈소스 라이선스(예: AGPL vs MIT) 충돌을 감지하여 법적 리스크를 방어합니다.
    *   특히 AI 생성 코드가 라이선스 보호 코드를 무단 복제하여 병합하는 상황을 식별하는 데 유용합니다.
3.  **CI/CD 품질 게이트**:
    *   코드 리뷰 이전 단계에서 취약한 패키지를 자동으로 차단하여, 인간 리뷰어의 검토 부담을 대폭 낮춥니다.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **내부 로직 검증의 부재**: SCA는 '알려진 위협'을 찾는 도구입니다. 개발자가 직접 작성한 소스 코드 내부의 고유한 로직 오류나 제로데이 취약점은 탐지할 수 없으므로 SAST와의 병행이 필수적입니다.
- **도달 가능성(Reachability)의 문제**: 방대한 취약점 목록 중 실제 비즈니스 로직에서 호출되어 타격을 줄 수 있는 취약점을 우선순위화하는 정책이 운영 효율성을 결정짓는 핵심 업데이트가 될 것입니다.

## 🔗 지식 연결 (Graph)
- [[SAST (Static Application Security Testing)]]: 내부 소스 분석과의 상호 보완.
- [[CVE (Common Vulnerabilities and Exposures)]]: 취약점 표준 데이터베이스와의 연결.
- [[Shift-Left Security]]: 보안 관리의 조기 도입.
- [[Dependabot]]: 자동화된 패키지 업데이트 워크플로우.
- [[AI-Generated Code Security]]: AI 생성 코드의 보안 및 저작권 검증.
---
