Files
2nd/10_Wiki/Topics/Software Composition Analysis (SCA).md
T
2026-05-02 23:33:34 +09:00

2.6 KiB

id, category, confidence_score, tags, last_reinforced
id category confidence_score tags last_reinforced
P-REINFORCE-AUTO-WIKI-SEC-004 Unified 0.95
security
sca
open-source
dependency-management
license-compliance
p-reinforce
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 생성 코드의 보안 및 저작권 검증.