37 lines
2.6 KiB
Markdown
37 lines
2.6 KiB
Markdown
---
|
|
id: P-REINFORCE-AUTO-WIKI-SEC-004
|
|
category: Dev
|
|
confidence_score: 0.95
|
|
tags: [security, sca, open-source, dependency-management, license-compliance, p-reinforce]
|
|
last_reinforced: 2026-05-01
|
|
---
|
|
|
|
# [[Software Composition Analysis (SCA)|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)|SAST (Static Application Security Testing]]: 내부 소스 분석과의 상호 보완.
|
|
- CVE (Common Vulnerabilities and Exposures: 취약점 표준 데이터베이스와의 연결.
|
|
- Shift-Left Security: 보안 관리의 조기 도입.
|
|
- Dependabot: 자동화된 패키지 업데이트 워크플로우.
|
|
- AI-Generated Code Security: AI 생성 코드의 보안 및 저작권 검증.
|
|
---
|