프로젝트 개요
- 프로젝트명 : PyGoat 기반 End-to-End DevSecOps 가드레일 자동화 플랫폼
- 핵심 목표 : 취약한 앱(PyGoat)이 개발-빌드-배포-운영되는 전 과정에 보안 검증을 자동화하여 보안내재화 달성
- 주요 특징 : Shift-Left(보안의 조기 적용) , Zero-Trust(최소 권한 및 격리), Compliance as Code(정책의 코드화)
프로젝트 흐름
프로젝트는 소프트웨어 생명주기 (SLDC)에 따라 4개의 보안 게이트로 구성된다.
소프트웨어 생명주기 (Software Development Life Cycle) 주요 단계
요구 사항 분석 - 설계 - 구현 - 테스트 - 배포 - 유지보수
[Gate 1] Code & Supply Chain (개발 및 공급망)
- 역할: 소스 코드 작성 및 외부 라이브러리 반입 시점의 결함 차단.
- 사용 도구:
- Gitleaks: 코드 내 API 키, 패스워드 등 민감 정보 유출 방지.
- SonarQube (SAST): SQLi, XSS 등 시큐어 코딩 규칙 위반 탐지.
- Snyk (SCA): 오픈소스 취약점 및 라이선스 위반 점검.
- Syft & Cosign: SBOM 생성 및 이미지 서명을 통한 공급망 무결성 보장.
[Gate 2] Infra & Secrets (인프라 및 기밀 관리)
- 역할: 컨테이너 이미지 및 인프라 설정(IaC)의 취약점 요새화(Hardening).
- 사용 도구:
- Trivy: 컨테이너 이미지 내부 패키지 및 OS 취약점 스캔.
- Checkov: Terraform 등 IaC 설정 오류(잘못된 권한 등) 탐지.
- HashiCorp Vault: 소스 코드와 분리된 중앙 집중형 보안 비밀 관리.
- Docker Hardening: 비특권 사용자 실행 및 경량화 이미지(Distroless) 적용.
[Gate 3] Orchestration & Policy (오케스트레이션 및 정책)
- 역할: 쿠버네티스 클러스터 내 운영 규칙 강제 및 내부 확산 방지.
- 사용 도구:
- Kyverno: 보안 정책(예: Root 실행 금지)을 위반하는 파드 배포 실시간 차단.
- Kube-linter: K8s 매니페스트 파일의 설정 오류 사전 검증.
- Network Policy: Zero-Trust 관점의 마이크로 세그멘테이션(통신 격리).
[Gate 4] Cloud/Runtime (클라우드 및 실시간 대응)
- 역할: 실행 중인 환경에서의 미분류 위협 탐지 및 능동적 사고 대응.
- 사용 도구:
- Falco: eBPF 기반 커널 모니터링을 통한 비정상 행위(쉘 접속 등) 탐지.
- Prowler: AWS/Azure 등 클라우드 설정의 컴플라이언스(CIS) 점검.
- OWASP ZAP (DAST): 동적 환경에서의 애플리케이션 공격 테스트.
- Active Response: 위협 탐지 시 컨테이너 자동 격리 등 SOAR 기초 구현.
프로젝트 구조
- 4단계 분리 이유

- 단계별 도구 선정 이유
[1주차] 공급망 보안의 핵심
- Gitleaks: 사람이 가장 많이 하는 실수인 비밀번호를 코드에 적는 것을 자동 차단하여 계정 탈취 사고를 원천 봉쇄
- SonarQube: 업계 표준 SAST 도구. SQL 인젝션 같은 고전적이지만 치명적인 코드 결함을 리포팅하여 '시큐어 코딩' 준수를 강제
- Snyk: 현대 개발에 자주 사용되는 오픈소스의 라이브러리 취약점을 전담 관리
[2주차] 인프라 강화의 핵심
- Trivy: 컨테이너 이미지 안의 오래된 패키지 취약점을 가장 빠르고 정확하게 찾아냄 (가장 널리 쓰이는 표준 도구).
- Checkov: 클라우드 설정(Public S3 등) 실수를 코드로 검사함. 인적 오류에 의한 클라우드 유출 사고 방지가 목적
- HashiCorp Vault: 소스 코드나 환경 변수에 암호 정보를 절대 두지 않기 위한 '금고' 역할.
[3주차] 통제와 격리의 핵심
- Kyverno: K8s 전용 정책 엔진. "Root 권한 실행 금지" 같은 규칙을 강제하여 보안 수준을 상향 평준화함.
- Network Policy: 침입자가 들어왔을 때 옆 컨테이너로 퍼지지 못하게 물리적으로 격리(Segment)하여 피해를 최소화함.
[4주차] 실시간 탐지와 대응의 핵심
- Falco: eBPF 기술을 써서 커널 수준에서 행위를 감시함. 공격자가 파일을 수정하거나 쉘에 접속하는 순간을 0.1초 만에 감지함.
- Prowler: 클라우드 서비스(AWS 등)가 보안 권고안(CIS Benchmark)을 잘 지키고 있는지 종합 점검함.

