의존성 및 공급망 보안(SCA)
소프트웨어 구성 분석, Dependabot, 의존성 검토, 고정된 작업을 사용해 취약한 서드파티 패키지로부터 파이프라인을 보호해 보세요.
의존성 및 공급망 보안(SCA)은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
소프트웨어 공급망 위험
현대 애플리케이션은 대부분 타사 의존성으로 구성됩니다. 의존성 트리 깊숙한 곳에 있는 취약한 패키지 하나만으로도 전체 앱이 손상될 수 있습니다.
이것이 바로 소프트웨어 공급망 위험이며, 이를 보호하는 것은 DevSecOps의 핵심 부분입니다.
SCA란 무엇인가
소프트웨어 구성 분석 (SCA)은 프로젝트의 의존성을 검사하고 알려진 취약점(CVE) 데이터베이스와 비교합니다.
사용자가 작성한 코드를 검사하는 SAST와 달리 SCA는 가져오는 라이브러리에 초점을 맞춥니다.
- 알려진 취약 버전을 탐지합니다
- 위험하거나 호환되지 않는 라이선스를 표시합니다
- 안전한 업그레이드 버전을 제안합니다
데펜더봇 알림
GitHub는 데펜더봇을 제공합니다. 데펜더봇은 프로젝트의 매니페스트 파일을 지속적으로 검사하고 의존성에 알려진 취약점이 있으면 알림을 생성합니다.
설정 > 코드 보안 및 분석에서 활성화할 수 있습니다. 알림은 심각도 등급과 함께 보안 탭에 표시됩니다.
자동 의존성 업데이트
데펜더봇은 취약한 의존성을 자동으로 업데이트하는 풀 리퀘스트를 열 수도 있습니다. dependabot.yml 파일로 구성하십시오.
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly풀 리퀘스트의 의존성 검토
의존성 검토 작업은 풀 리퀘스트에서 실행되며, PR에 알려진 취약점이 있는 의존성이 추가되면 병합을 차단합니다.
이렇게 하면 보안을 왼쪽으로 이동하여 위험한 패키지가 기본 브랜치에 도달하기 전에 찾아낼 수 있습니다.
- name: Dependency Review
uses: actions/dependency-review-action@v4
with:
fail-on-severity: high작업 버전 고정
워크플로에서 호출하는 작업 자체도 의존성입니다. @v4를 참조하면 해당 태그를 관리하는 사람을 신뢰하게 됩니다.
최고 수준의 보안을 위해 작업을 변경할 수 없는 전체 커밋 SHA에 고정하십시오.
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11잠금 파일의 중요성
잠금 파일(예: package-lock.json 또는 poetry.lock)은 정확한 의존성 버전과 해시를 고정합니다.
CI에서는 결정적인 설치 명령을 사용하여 빌드를 재현 가능하게 만들고 변조된 버전을 모르게 가져오지 않도록 하십시오.
- name: Install (locked)
run: npm ciSBOM 생성
소프트웨어 구성 요소 목록 (SBOM)은 빌드에 포함된 모든 구성 요소의 전체 목록입니다. 규정 준수를 위해 이를 요구하는 경우가 점점 늘고 있습니다.
GitHub는 SPDX 형식으로 SBOM을 내보낼 수 있으며, 싯프트와 같은 도구를 CI 내부에서 실행하여 생성할 수도 있습니다.
- name: Generate SBOM
uses: anchore/sbom-action@v0
with:
format: spdx-json라이선스 준수
SCA는 라이선스 위험도 다룹니다. 독점 제품에 GPL 라이선스 라이브러리를 포함하면 법적 의무가 발생할 수 있습니다.
허용되지 않는 라이선스를 표시하거나 거부하도록 스캐너를 구성하여 감사 과정이 아니라 CI에서 문제를 발견하도록 하십시오.
빌드 실패 처리
탐지는 문제가 있는 코드를 차단할 때만 도움이 됩니다. 심각한 취약점이 발견되면 파이프라인을 실패시키도록 SCA 게이트를 구성하십시오.
심각도 기준을 설정하여 위험도가 낮은 발견 사항은 경고하고 심각한 발견 사항은 병합 또는 배포를 차단하도록 하십시오.
with:
fail-on-severity: critical지속적인 모니터링
새로운 취약점은 매일 공개되므로 한 번의 검사만으로는 충분하지 않습니다. 모든 PR에서 실행하는 것과 함께 일정에 따라서도 SCA를 실행하십시오.
이렇게 하면 병합 시점에는 안전했지만 나중에 취약해진 패키지를 찾아낼 수 있습니다.
on:
schedule:
- cron: '0 6 * * 1'간단 확인
소프트웨어 공급망 보안에 대한 이해도를 확인해 보십시오.
복습
소프트웨어 공급망을 보호하는 방법을 배웠습니다.
- SCA는 알려진 취약점이 있는지 의존성을 검사합니다
- 데펜더봇은 위험한 패키지를 알리고 자동으로 업데이트합니다
- 의존성 검토는 위험한 PR을 차단합니다
- 작업을 SHA 값에 고정하고, 잠금 파일을 사용하며, SBOM을 생성하십시오
SAST 및 비밀 관리와 함께 사용하면 안전한 파이프라인을 완성할 수 있습니다.
자주 묻는 질문
“의존성 및 공급망 보안(SCA)” 강의는 무료인가요?
네 — “의존성 및 공급망 보안(SCA)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
“의존성 및 공급망 보안(SCA)”에서 뭘 배우나요?
소프트웨어 구성 분석, Dependabot, 의존성 검토, 고정된 작업을 사용해 취약한 서드파티 패키지로부터 파이프라인을 보호해 보세요. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“의존성 및 공급망 보안(SCA)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- CI/CD 보안 모범 사례
- GitHub를 사용한 보안 비밀 관리
- 정적 애플리케이션 보안 테스트 (SAST)
- 의존성 및 공급망 보안(SCA)