495. SCA (Software Composition Analysis) - 오픈소스 라이브러리 취약점 및 라이선스 스캔
핵심 인사이트 (3줄 요약)
- 본질: 소프트웨어 구성 분석(SCA)은 개발자가 직접 짠 소스 코드를 쳐다보지 않고, 프로젝트 뱃속에 들어있는 '남이 짠 오픈소스 라이브러리 목록(
pom.xml,package.json)'을 엑스레이로 스캔하여 이미 세상에 뚫렸다고 소문난 해킹 취약점(CVE)이나 법적 지뢰(라이선스 위반)가 숨어있는지 색출하는 공급망 방어의 핵심 로봇이다.- 가치: 현대 앱 코드의 90%는 공짜 오픈소스다. 해커는 단단한 당신의 10% 코드를 뚫지 않고, 당신이 다운받아 쓴 허술한 90%의 오픈소스를 타고 뒷문으로 들어온다(Log4Shell 사태). SCA는 이 치명적인 '서드 파티(3rd-party) 의존성'에 대한 가시성을 1초 만에 확보하여 폭탄을 조기 제거한다.
- 융합: 앞서 배운 정적 스캐너(SAST)와 쌍두마차를 이루며 CI/CD 파이프라인 중앙에 박혀 배포를 통제(Quality Gate)하고, 최근엔 영수증 포맷인 SBOM과 낡은 버전을 스스로 올려치기 하는 자가 치유 봇(Dependabot) 생태계로 융합되어 클라우드 네이티브의 абсолютной 생존 필수템으로 진화했다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: SCA는 '재료 성분 분석기'다. 개발자가
npm install이나mvn install을 치면 라이브러리가 꼬리에 꼬리를 물고 수백 개가 깔린다. SCA 툴(Snyk, Black Duck, Dependabot 등)은 이 수백 개의 라이브러리 이름과 버전표(바코드)를 쓱 읽은 뒤, 전 세계 해킹 족보(NVD의 CVE 리스트)와 대조한다. "어?jackson-databind 2.9.8쓰네? 이거 작년에 털린 버전이야!"라며 경고를 울려주는 기계다. -
필요성: 2017년, 미국 신용평가사 에퀴팩스(Equifax)가 해킹당해 1.4억 명의 정보가 털린 이유는 아파치(Apache)
Struts2오픈소스 취약점 때문이었다. 에퀴팩스 서버에는 최첨단 방화벽(WAF)과 소스코드 스캐너(SAST)가 돌아가고 있었지만, **자기들이 다운받아 쓴 '오픈소스'가 썩어 들어가는 것은 모니터링 사각지대(Blind Spot)**였기 때문에 속수무책으로 당했다. 이 사건 이후 "내가 안 짠 남의 코드가 내 시스템을 파멸시킨다"는 공포심이 극에 달하며 SCA는 선택이 아닌 법적 필수 도입 툴로 격상되었다. -
💡 비유: SCA는 식당의 **'식자재 원산지 감별기'**와 같습니다. 주방장(개발자)이 요리 스킬(SAST)이 아무리 완벽해도, 요리에 들어간 간장(오픈소스)에서 대장균(CVE 취약점)이 나오면 손님(고객)은 식중독에 걸려 죽습니다. SCA는 아침에 식당에 들어오는 간장, 소금, 양파 트럭을 세워놓고 바코드를 찍어보며 "어? 이 간장 어제 뉴스에서 리콜 처리된 썩은 간장이네!" 라며 식자재 자체를 입구에서 걷어차 버리는 원초적 위생 관리자입니다.
-
등장 배경 및 발전 과정:
- 오픈소스의 낭만과 저주: 2000년대까진 다들 맨땅에 코딩했다. 2010년 이후
NPM,Maven생태계가 폭발하며 개발자들은 무지성으로 남의 코드를 다운받아 조립하기 시작했다. - 라이선스 소송의 피눈물: 초창기 SCA(Black Duck)는 해킹 방어용이 아니었다. 오픈소스를 공짜인 줄 알고 썼다가, "코드 공개 의무(GPL 라이선스)"에 걸려 회사의 소스코드를 강제로 다 까발려야 하는 끔찍한 법적 지뢰를 밟고 소송에 털리자, 이를 막기 위해 '라이선스 분석용'으로 등장했다.
- 공급망 보안의 대세 (현재): 라이선스는 기본이고, 솔라윈즈(SolarWinds) 사태 이후 해커들이 오픈소스를 집중 타격하는 **공급망 공격(Supply Chain Attack)**이 대유행하자, 취약점(CVE) 스캔이 SCA의 메인 엔진으로 자리 잡으며 데브옵스 보안의 심장이 되었다.
- 오픈소스의 낭만과 저주: 2000년대까진 다들 맨땅에 코딩했다. 2010년 이후
-
📢 섹션 요약 비유: SAST(정적 분석)가 **'내 성벽의 돌에 금이 갔는지 살피는 것'**이라면, SCA는 **'성문을 지키려고 외부에서 고용한 용병(오픈소스) 중에 적군의 스파이(취약점/라이선스 위반)가 섞여 있는지 신원 조회를 하는 것'**입니다. 용병의 숫자가 90%인 현대 전쟁에서, 용병의 뒷조사를 안 하는 성은 무조건 안에서부터 털리게 됩니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
1. SCA의 2대 스캐닝 아키텍처 타겟 (보안 & 법)
SCA는 개발자가 싸놓은 '기술 부채(Technical Debt)'와 '법적 부채(Legal Debt)'를 동시에 척결한다.
- 취약점 (Vulnerabilities, CVE) 스캐닝
- 원리: 우리 코드의 패키지 파일(
pom.xml,requirements.txt)을 파싱하여 의존성 트리를 쫙 그린다. 그 버전을 NVD(국가 취약점 DB)의 CVE 족보와 매칭한다. - 결과: "너희가 쓰는
Log4j 2.14버전에 CVSS 10점짜리 RCE(원격 코드 실행) 구멍이 있어! 당장2.15로 올려!"
- 원리: 우리 코드의 패키지 파일(
- 라이선스 위반 (License Compliance) 스캐닝
- 원리: 세상의 오픈소스는 완전 공짜(MIT, Apache 2.0)와, 쓰면 독이 되는 공짜(GPL)가 있다.
- 결과: "삐용! 네가 다운받은 압축 라이브러리 라이선스가 GPL 3.0이야! 이거 그대로 배포하면, 니들이 짠 수백억짜리 회사 소스코드 전체를 전 세계에 오픈소스로 강제 공개해야 돼! 당장 지워!" (회사 법무팀을 구원하는 알람)
2. 심해의 괴물: 전이적 의존성 (Transitive Dependency) 사냥
SCA가 없으면 개발자가 죽었다 깨어나도 해킹을 막을 수 없는 구조적 이유다.
[ 내 프로젝트 (직접 의존성) ]
├── Spring Boot v2.5 (내가 `pom.xml`에 직접 적어 넣음)
│ └── Jackson-databind v2.9 (스프링이 뒤에서 몰래 다운받음)
│ └── Commons-io v1.3 (Jackson이 뒤에서 또 몰래 다운받음) 💥 [CVE 폭탄 터짐]
-
원리: 개발자는 기껏해야 10개의 라이브러리를 직접 적어 넣는다. 하지만 그 10개가 각각 10개를 낳고 꼬리에 꼬리를 물어 최종적으로 500개의 라이브러리가 깔린다(Dependency Hell). 해커는 가장 깊은 지하 3층에 숨어있는 저
Commons-io v1.3의 취약점을 찌른다. 인간의 눈으로는pom.xml을 100번 읽어도 저 지하 3층의 괴물을 볼 수 없다. SCA 봇은 숨겨진 500개의 트리(Tree)를 완벽하게 끝까지 다 파헤쳐서 깊은 심해의 취약점을 멱살 잡고 수면 위로 끌어올린다. -
📢 섹션 요약 비유: 이 과정은 **'불법 다단계 피라미드 조직 추적'**과 같습니다. 내가 고용한 영업 사원(직접 의존성)은 아주 착실하고 전과가 없습니다. 하지만 그 사원이 내 몰래 밑으로 고용한 새끼 사원의 새끼 사원(전이적 의존성)이 지명수배자(CVE)라면, 결국 내 회사가 압수수색을 당합니다. SCA는 내 밑의 100단계 밑에 있는 말단 알바생의 주민등록번호까지 싹 다 조회해서 전과자(취약점)를 걸러내는 깐깐한 인사 검증 시스템입니다.
Ⅲ. 융합 비교 및 다각도 분석
1. 보안 스캐너 영혼의 듀오 (SAST vs SCA)
면접과 실무에서 가장 많이 혼동하는, 서로 완벽히 등을 맞대고 싸우는 두 로봇의 비교.
| 척도 | SAST (Static Application Security Testing) | SCA (Software Composition Analysis) |
|---|---|---|
| 검사 대상 (Target) | "내가 방금 키보드로 짠 소스 코드" (1st Party) | "내가 인터넷에서 다운받은 오픈소스" (3rd Party) |
| 적발하는 버그 | SQL 인젝션, XSS, 하드코딩된 비밀번호 노출 | CVE 취약점이 뚫린 버전 사용, 법적 라이선스 위반 |
| 해결 방법 (Patch) | 개발자가 소스코드 로직(if문 등)을 직접 타이핑해서 뜯어고침. | 소스코드 안 고침. 버전 숫자(1.0->2.0)만 텍스트로 올려치기 함. |
| 오탐 (False Positive) | 내 코드의 의도를 기계가 오해해서 가짜 경고 90% 폭주. | 버전만 1:1로 비교하므로 가짜 경고 거의 없음 (팩트 폭격). |
| OWASP 방어 타겟 | A01, A03(인젝션), A04(설계) 등 대부분 방어. | A06 (취약하고 낡은 요소 사용) 전담 마크. |
과목 융합 관점
-
데브옵스 (CI/CD 파이프라인 자동화): 옛날엔 SCA를 외주 보안 컨설턴트가 1년에 1번 엑셀로 분석해 줬다. 지금은 젠킨스(Jenkins)에 꽂아 넣는 **플러그인(Plug-in)**이다. 코드가 Push 되면 젠킨스가 빌드하는 1분 동안, SAST 봇이 내 코드를 때리고, SCA 봇이 오픈소스를 때린다. "내 코드 완벽! 근데 다운받은 오픈소스 1개가 CVE 10점 뚫렸네? 삐용! 빌드 폭파(Quality Gate)!" 기계 2대가 개발자의 오만과 게으름을 물리적으로 완벽히 십자포화하는 융합 아키텍처다.
-
클라우드 / 운영체제 (컨테이너 융합 스캐닝): SCA의 사냥감은 자바 라이브러리(
jar)나 노드 패키지(npm)에 국한되지 않는다. 내 코드를 감싸는 Docker Image(도커 컨테이너 깡통) 자체가 거대한 3rd-party 조합물이다. 개발자가Ubuntu 18.04를 베이스 이미지로 썼다면, 그 우분투 안에 깔린 리눅스 패키지(apt-get OpenSSL등)도 다 SCA의 타겟이다.Trivy나Clair같은 클라우드 특화 SCA가 도커 이미지를 갈기갈기 찢어서 OS 레벨의 구멍까지 모조리 스캔하는 시대로 팽창했다. -
📢 섹션 요약 비유: SAST가 건축가가 직접 그린 **'건물 설계도'**를 검사하는 것이라면, SCA는 그 설계도를 보고 공사장에 배달시킨 **'시멘트 포대와 철근(오픈소스 자재)'**의 바코드를 찍어 불량품이 섞였는지 검수하는 것입니다. 도면(SAST)이 완벽해도 철근(SCA)이 썩었으면 건물은 무너집니다. 둘은 완벽한 시너지를 이룹니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — GPL 바이러스 라이선스 감염으로 인한 소스코드 강제 공개 위기: 갓 런칭한 스타트업이 핵심 알고리즘(영업비밀)을 짜면서, 이미지 변환이 너무 어려워 인터넷에서 구한 압축 라이브러리(GPL 3.0 라이선스) 하나를 다운받아 슬쩍 끼워 넣었다. 앱 대박이 나고 대기업에 인수 합병(M&A) 실사를 받는데, 대기업 보안팀이 SCA를 쓱 돌렸다. "어? 너희 GPL 라이선스 썼네? 이거 쓰면 너희 영업비밀 소스코드 전체를 전 세계에 무료로 강제 공개해야 되는 '전염성 라이선스'인 거 몰라? 당장 뜯어내!" 회사의 인수 합병이 통째로 엎어질 뻔한 대재앙을 맞았다.
- 아키텍트의 해결책: 라이선스 법적 부채(Legal Debt)에 대한 무지성 방치의 폭발이다. 아키텍트는 젠킨스(CI) 파이프라인 SCA 룰셋에 취약점뿐만 아니라 라이선스 블랙리스트 필터를 반드시 강제 세팅해야 한다. "GPL, AGPL, SSPL 라이선스가 하나라도 감지되면 즉각 빌드 차단(Fail)!" 룰만 걸어두면, 개발자가 실수로 치명적인 전염성 오픈소스를
npm install하는 순간 기계가 몽둥이로 때려 쳐내며 수백억 원의 소송 리스크를 0.1초 만에 방어해 낸다.
- 아키텍트의 해결책: 라이선스 법적 부채(Legal Debt)에 대한 무지성 방치의 폭발이다. 아키텍트는 젠킨스(CI) 파이프라인 SCA 룰셋에 취약점뿐만 아니라 라이선스 블랙리스트 필터를 반드시 강제 세팅해야 한다. "GPL, AGPL, SSPL 라이선스가 하나라도 감지되면 즉각 빌드 차단(Fail)!" 룰만 걸어두면, 개발자가 실수로 치명적인 전염성 오픈소스를
-
시나리오 — 늑대소년의 함정 (오탐 없는 SCA의 치명적 귀찮음): SCA 툴을 도입했더니, 매일 아침 "CVE 취약점 발견! 버전 1.0을 2.0으로 올려라!"라는 알람이 수백 개씩 쏟아졌다. 개발자가 식겁해서 2.0으로 올렸다. 그랬더니 **하위 호환성(Backwards Compatibility)**이 개박살 나면서 기존 코드가 컴파일 에러를 뿜으며 죄다 뻗어버렸다. 빡친 개발자는 "아 젠장! 보안 챙기려다 서비스 다 멈추네! 그냥 알람 다 무시해!"라며 스캐너의 알람을 끄고(Mute) 방치했다. (Security Alert Fatigue)
- 아키텍트의 해결책: 버전업 부작용을 두려워하는 테스트 방어막의 부재다. 아무리 SCA가 팩트 폭격을 해도, 버전을 올리면 코드가 깨지는 고통(리팩토링)이 수반된다. 이 고통을 이겨내려면 TDD(단위 테스트) 커버리지 80% 이상이라는 두꺼운 매트리스가 전제되어야 한다. "버전을 팍 올려도, 테스트 코드가 1초 만에 삐빅! 하고 고칠 곳을 다 알려주니까 안 무서워!"라는 든든한 방어막이 있어야만 개발자들이 SCA의 알람을 귀찮아하지 않고 척척 버전을 판올림(Bump-up)하며 애자일하게 앞으로 치고 나갈 수 있다.
도입 체크리스트
- 비즈니스적: "자동 패치 봇(Dependabot / Renovate)"을 허락할 담력이 있는가? SCA가 취약점을 알려줘도 인간이 일일이 버전을 올리면 하루 종일 걸린다. 현대 데브옵스는
Dependabot봇을 달아, 낡은 버전을 발견하면 기계가 스스로v2.0으로 고친 뒤 깃허브에 Pull Request(수정 제안)를 올린다. 그리고 단위 테스트가 초록불(Pass)을 띄우면 **인간의 허락 없이 봇 스스로 머지(Auto-Merge)**하여 패치를 종결시켜버린다. 이 궁극의 무인 자동화 보안을 수용할 탄탄한 CI/CD 성숙도가 있는지가 도입 가성비의 핵심이다. - 기술적: 사내망 프라이빗 레지스트리(Nexus, Artifactory)와 연동되었는가? 개발자 로컬 PC에서 맘대로 외부 인터넷망(NPM, Maven Central)을 뚫고 라이브러리를 받아오게 하면 SCA 방어망은 무용지물이다. 아키텍트는 인터넷 다운로드를 완전히 끊어버리고, 무조건 사내 관문인
Nexus서버만 바라보게 프록시(Proxy)를 강제해야 한다. 그리고 SCA 검문소를 그 Nexus 문지기로 세워 "해킹된 썩은 라이브러리는 아예 사내망 넥서스로 다운로드조차 못 하게 쳐내는" 극강의 원천 봉쇄 생태계를 조성해야 한다.
안티패턴
-
"빌드된 바이너리(.jar, .exe) 맹신하기": 10년 된 외주 업체가 납품한 소스코드 없는
.jar파일 덩어리만 띡 받아서 운영 서버에 올리는 안티패턴. 이 덩어리 안에 5년 전 썩은Log4j폭탄이 들어있는지 인간의 눈으론 절대 알 수 없다. 남이 컴파일해서 준 쇳덩어리는 무조건 거대한 SCA 엑스레이 스캐너 장비에 넣고 분자 단위로 갈기갈기 역어셈블(Decompile)하여 뱃속의 오픈소스 리스트(SBOM)를 뽑아 검사하지 않으면, 해커의 훌륭한 백도어 좀비 숙주가 된다. -
📢 섹션 요약 비유: 버전을 올리면 코드가 깨져서 업데이트를 안 한다는 것은, **'브레이크 패드를 갈면 쇳소리가 나니까 고장 난 브레이크로 그냥 달릴래'**라는 미친 짓과 같습니다. 약간의 마찰음(코드 깨짐, 리팩토링의 고통)은 차를 안전하게 세우기 위한 필수적인 성장통입니다. 고통이 두려워 낡은 오픈소스를 방치하는 순간, 다음 코너(제로데이 해킹)에서 차는 절벽으로 떨어집니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 개발자가 수동으로 라이브러리 복붙 및 방치 (AS-IS) | SCA 툴 기반 CI/CD 자동 스캔 및 알람 (TO-BE) | 개선 효과 |
|---|---|---|---|
| 정량 | Log4j 등 치명적 CVE 발생 시 전수 조사에 2주일 소요 | 중앙 대시보드 1초 검색 후 봇(Bot)이 10분 만에 패치 | 오픈소스 제로데이 패치 리드타임 99% 극단적 단축 |
| 정량 | 나도 모르는 악성(GPL) 라이선스 오염으로 수억 소송 발생 | 빌드 시 라이선스 블랙리스트 룰 컷오프로 100% 원천 차단 | 무지성 오픈소스 반입에 따른 법적 부채(Legal Risk) 0원 보장 |
| 정성 | "내가 쓴 라이브러리가 내일 털리면 어떡하지" 공포감 | 매일 아침 NVD(해킹 족보)와 실시간 대조되는 방탄 조끼 | "내 코드는 안전하다"는 완벽한 개발자 심리적 안정감 확보 |
미래 전망
- EPSS (공략 예측 점수)와의 결합으로 피로도 제로화: "SCA 알람이 1,000개 떴는데 뭘 먼저 고쳐?" 기존엔 CVSS(위험 점수) 10점짜리부터 멍청하게 고쳤다. 미래의 SCA는 AI 머신러닝 기반의 **EPSS (Exploit Prediction Scoring System)**를 장착한다. "이 CVSS 10점짜리는 해커가 안 써! 냅둬! 저기 7점짜리 구멍을 지금 짱깨 해커들이 자동화 툴로 미친 듯이 찌르고 있어(공격 징후 98%)! 당장 저거부터 고쳐!" 라며 이론이 아닌 '실전 냄새'를 맡고 패치 우선순위(Triage)를 정해주는 스마트 SCA가 시장을 제패하고 있다.
- SBOM (소프트웨어 자재 명세서) 제출의 국가 법제화: 백신 접종 증명서 없이 식당에 못 들어가듯, 이제 SCA가 뽑아낸 영수증(SBOM) 없이 공공기관이나 글로벌 기업에 소프트웨어를 파는 건 불법이 되어가고 있다. 미국 바이든 정부 행정명령을 시작으로, "네가 짠 프로그램 뱃속에 중국산 백도어 라이브러리(오픈소스)가 1%라도 안 섞였다는 걸 영수증(SBOM)으로 증명하지 못하면 앱 스토어에 안 올려준다!"는 전 세계적인 '투명성 족쇄'가 소프트웨어 유통의 절대 헌법으로 굳어지고 있다.
참고 표준
- OWASP Top 10 (A06: Vulnerable and Outdated Components): 개발자들의 "나는 짱이야"라는 자만을 부수고, "네가 다운받은 오픈소스 관리를 안 하면 넌 해커의 밥이다"라는 차가운 현실을 박아 넣은 SCA 탄생의 거대한 스폰서 룰. (이전 장 483번)
- CycloneDX / SPDX: SCA 스캐너가 우리 앱의 뱃속을 훑고 나서 "이런이런 라이브러리가 들어있습니다"라고 예쁘게 JSON 형식으로 뽑아주는 영수증(SBOM)의 전 세계 양대 산맥 표준 파일 규격. (다음 장 496번)
소프트웨어 구성 분석(SCA)은 인류 소프트웨어 공학이 만들어낸 거대한 바벨탑(오픈소스 생태계)이 무너지지 않도록 떠받치는 **'가장 차갑고 무자비한 기계적 위생 검열대'**다. 개발자 혼자 코드를 밑바닥부터 짜던 장인의 시대는 죽었다. 우리는 전 세계 누군가가 만들어 둔 거인(오픈소스)의 어깨 위에 올라타 1초 만에 로켓을 조립하는 조립공들이다. 기술사는 내가 쌓아 올린 이 로켓의 연료통(의존성)과 나사(라이브러리)가 언제 썩어 부스러질지 모른다는 뼛속 깊은 공포(Zero Trust)를 가져야 한다. 개발자의 키보드 뒤에 SCA라는 냉혹한 사냥개를 풀어두고, 썩은 부품이 배포 컨베이어 벨트에 올라타는 그 찰나의 순간을 날카로운 이빨로 물어뜯어 벨트(빌드) 자체를 산산조각 내버리는 폭력적인 통제권, 그것이 위태로운 오픈소스의 낭만 위에서 1,000만 고객의 생명을 수호하는 아키텍트의 절대적 면허증이다.
- 📢 섹션 요약 비유: SCA가 없는 파이프라인은, 항구에서 수입 컨테이너를 까보지도 않고 **'그냥 X-Ray(SAST) 한 번 대충 찍고 바로 도심으로 반입하는 통관소'**와 같습니다. 컨테이너 껍데기는 예쁘지만, 그 안에 유통기한이 10년 지난 썩은 밀가루(취약한 컴포넌트)나 밀수된 불법 마약(GPL 라이선스 위반)이 잔뜩 들어있다면 나라(시스템)가 멸망합니다. SCA는 수십만 개의 짐칸을 일일이 뜯어서 바코드를 다 찍어보고, 유통기한이 하루라도 지나거나 식약처(NVD 족보) 경고가 뜬 물건은 항구에서 가차 없이 소각해 버리는 철혈의 관세청입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| SAST (정적 분석) & DAST (동적 분석) | SCA의 영혼의 형제들. SAST가 "내가 짠 코드"를 때리고, DAST가 "완성된 서버" 밖을 때린다면, SCA는 "내가 다운받은 남의 코드(오픈소스)"를 털어먹는 3대 천왕의 완성. (이전 장 491, 492번) |
| 취약하고 만료된 컴포넌트 (A06) | SCA 로봇이 존재하는 단 하나의 이유이자 필생의 사냥감. 이 구멍을 막기 위해 젠킨스(CI/CD) 파이프라인에 SCA라는 경비견을 묶어둔다. (이전 장 483번) |
| SBOM (소프트웨어 자재 명세서) | SCA 사냥개가 앱을 찢어 발겨서 만들어낸 "이 앱엔 500개의 오픈소스가 들어있어!"라는 영수증 쪼가리. 이 영수증이 있어야 나중에 해커 터졌을 때 1초 만에 색출할 수 있다. (다음 장 496번) |
| CVE (공개된 취약점 족보) | SCA 스캐너의 머릿속 뇌를 채우고 있는 거대한 해킹 백과사전. SCA는 매일 아침 이 족보를 다운받아서 내 소스코드 영수증(SBOM)과 대조하는 무식한 1:1 매칭 작업을 한다. (이전 장 489번) |
| DevSecOps (데브섹옵스) | "코드 짤 때마다 보안 검사해 줘!" 이 귀찮은 SCA 스캔 봇을 개발자의 손을 타지 않게, 깃허브 푸시(Push) 할 때 기계가 알아서 백그라운드로 돌려주는 마법의 컨베이어 벨트. |
👶 어린이를 위한 3줄 비유 설명
- 내가 레고로 거대한 로봇을 만들려고, 내 블록 10개랑 **동네 친구들이 빌려준 블록 90개(오픈소스)**를 잔뜩 섞어서 조립을 시작했어요.
- 그런데 친구들이 준 블록 중에 금이 가거나 독이 묻은 썩은 블록(취약점)이 섞여 있으면, 내 로봇이 나중에 와르르 무너져 버릴 거 아니에요?
- 그래서 로봇을 합체하기 전에, 바코드 삑삑이 기계(SCA)를 가져와서 친구들이 준 블록 90개를 전부 다 찍어보며 "어? 이거 뉴스에 나온 불량품 블록이네! 빼버려!" 하고 걸러내는 깐깐한 불량품 검사를 **'SCA(소프트웨어 구성 분석)'**라고 한답니다!