AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

CI/CD 파이프라인에 SAST, DAST, SCA를 통합해야 하는 이유

카테고리

인프라/DevOps/보안

서브카테고리

DevOps

대상자

  • 대상자: DevOps 엔지니어, 프론트엔드/백엔드 개발자, CI/CD 파이프라인 운영자
  • 난이도: 중급~고급 (보안 도구 통합 및 파이프라인 설계 지식 필요)

핵심 요약

  • SAST코드 작성 시점에 SQL 인젝션, 하드코딩된 비밀번호 등 보안 취약점사전에 탐지
  • DAST운영 중인 앱에 대해 인증 오류, 클라우드 버킷 설정 오류 등의 런타임 취약점시뮬레이션 검증
  • SCA존재하는 의존성의 CVE, GPL 라이선스 위험 등 라이브러리 관련 취약점자동 차단

섹션별 세부 요약

1. 문제 설명

  • CI/CD 속도 vs 보안의 균형이 무너지면, 의도치 않은 취약점이 프로덕션으로 유입
  • 예시: lodash 의존성 업데이트가 CVE를 포함할 수 있음
  • 결과: API 키 유출, 3일간 다운타임, 업무 계약 상실심각한 비용 발생

2. SAST (Static Application Security Testing)

  • 기능: 코드 작성 시점에 SQL 인젝션, 하드코딩된 비밀번호코드 내부 취약점 탐지
  • CI/CD 영향: 병합 전 취약코드 차단, 프로덕션 핫픽스 예방
  • 도구 예시: SonarQube, Semgrep풀리퀘스트 체크에 통합

3. DAST (Dynamic Application Security Testing)

  • 기능: 운영 중인 앱에 대해 인증 오류, 관리자 엔드포인트 노출, 클라우드 버킷 설정 오류 탐지
  • CI/CD 영향: 실제 해킹 시뮬레이션으로 런타임 설정 오류 포착
  • 도구 예시: OWASP ZAP스테이징 환경에서 배포 전 실행

4. SCA (Software Composition Analysis)

  • 기능: 의존성 라이브러리CVE, GPL 라이선스 위험, 과시된 버전 탐지
  • CI/CD 영향: 자동으로 취약한 의존성 PR 차단, 공급망 공격 위험 감소
  • 도구 예시: Snyk, Dependabotpackage.json커밋마다 스캔

5. 실행 예시: 스타트업 X 실패 사례

  • 결과:
  • API 키 유출 → $200,000 손실
  • 과시된 express 버전 → 3일간 다운타임
  • 패치 테스트 실패 → 기업 계약 상실
  • 개선 후:
  • 6개월 내 심각한 CVE 0개
  • 법적 검토 시간 50% 감소

6. 구현 단계

  1. SAST 통합: 리인터와 IDE 플러그인에 추가
  2. DAST 자동화: 스테이징 환경 배포 후 실행
  3. SCA 강제:

```yaml

name: Scan dependencies

uses: snyk/actions/node@master

with:

command: monitor

```

  1. 비상 시 차단: 심각한 이슈 발생 시 병합 차단

7. 실무 팁

  • 80%의 해킹알려진 취약점을 악용
  • 90%의 코드베이스오픈소스 코드 포함
  • SAST/DAST/SCA 없이 운영하면 운영 리스크가 100%

결론

  • SAST조기 취약점 수정, DAST해커 시뮬레이션, SCA의존성 위험 차단
  • 도구 도입 순서: Snyk(처음), SAST → DAST → Policy-as-Code
  • 핵심: 보안은 개발팀의 일이지 SOC 팀의 책임이 아님