Projects / AWS CI∕CD 보안 파이프라인
AWS CI/CD 보안 파이프라인
- 유형
- 프로젝트
- 분야
- 클라우드
- 상태
- 완료
- 기간
- 2025.10 — 2025.12
- 역할
- PM
- 종류
- 프로젝트
AWS에서 코드를 올리면 빌드·검사·배포·점검이 자동으로 이어지는 CI/CD 파이프라인을 만들고 SAST·SCA·DAST를 붙인 팀 프로젝트입니다. PM을 맡았습니다.
ANALYSIS
왜 시작했나
리버싱만 하다 보니 다른 보안 분야도 경험해 보고 싶었습니다.
특히 실제 서비스는 코드가 어떤 과정을 거쳐 배포되는지, 그 과정 어디에 보안 검사를 넣을 수 있는지 알고 싶어서 클라우드 프로젝트에 참여했습니다.
목표는 AWS에 CI/CD 파이프라인을 만들고, 보안 도구를 그 안에 자동으로 붙이는 것이었습니다.
사전 조사
구현 전에 두 가지를 먼저 정리했습니다.
- 참고 아키텍처 분석: GitHub에 push → GitHub Actions가
deploy.yml에 적힌 순서대로 JDK 세팅·빌드·테스트 → Docker 이미지를 레지스트리에 올림 → AWS Fargate가 새 이미지를 받아 VPC 안의 마이크로서비스로 배포하는 흐름을 단계별로 정리했습니다. - 애플리케이션 보안 테스트(AST) 종류: 어떤 검사를 어느 단계에 넣을지 정하려고 세 가지를 비교했습니다.
| 종류 | 방식 | 보는 것 | 조사한 도구 |
|---|---|---|---|
| SAST | 화이트박스, 실행 전 | 소스 코드의 입력 검증, 경쟁 조건, 경로 탐색 같은 결함 | Amazon CodeGuru Security, SonarQube, Checkmarx |
| DAST | 블랙박스, 실행 중 | 실행 중인 서비스의 취약점 | ZAP, HCL AppScan |
| SCA | 구성 요소 분석 | 사용한 오픈소스의 알려진 취약점과 라이선스 | — |
구성
- GitHub에 코드를 올리면 CodeBuild가 빌드하면서 SAST(소스 코드 정적 분석)와 SCA(오픈소스 라이브러리 취약점) 검사를 수행
- Docker 이미지를 만들어 ECR에 저장
- CodeDeploy와 ECS로 서비스 배포
- 배포된 서비스에 DAST로 웹 취약점 점검
- 검사 결과를 Slack 알림과 대시보드로 확인
인프라는 콘솔에서 손으로 만들지 않고 IaC로 코드로 관리했습니다.
제가 맡은 일
PM을 맡아 팀원들과 역할을 나누고 일정을 관리했습니다.
클라우드는 처음이라, 먼저 AWS 서비스들이 파이프라인에서 각각 어떤 역할을 하는지 이해하고 기본 기능을 끝까지 구현하는 데 집중했습니다.
FINDINGS
배운 것
보안 도구를 실제 파이프라인에 연결해 보면서 검사가 어느 단계에서 도는지 알게 됐습니다.
SAST·SCA는 빌드할 때 코드를 보고, DAST는 배포된 서비스를 대상으로 돕니다.
IaC로 인프라를 코드로 관리하는 방식도 이 프로젝트에서 처음 익혔습니다.