정현진Jeong Hyeonjin

정현진 — 보안 포트폴리오

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 구성 요소 분석 사용한 오픈소스의 알려진 취약점과 라이선스 —

구성

  1. GitHub에 코드를 올리면 CodeBuild가 빌드하면서 SAST(소스 코드 정적 분석)와 SCA(오픈소스 라이브러리 취약점) 검사를 수행
  2. Docker 이미지를 만들어 ECR에 저장
  3. CodeDeploy와 ECS로 서비스 배포
  4. 배포된 서비스에 DAST로 웹 취약점 점검
  5. 검사 결과를 Slack 알림과 대시보드로 확인

인프라는 콘솔에서 손으로 만들지 않고 IaC로 코드로 관리했습니다.

제가 맡은 일

PM을 맡아 팀원들과 역할을 나누고 일정을 관리했습니다.
클라우드는 처음이라, 먼저 AWS 서비스들이 파이프라인에서 각각 어떤 역할을 하는지 이해하고 기본 기능을 끝까지 구현하는 데 집중했습니다.

FINDINGS

배운 것

보안 도구를 실제 파이프라인에 연결해 보면서 검사가 어느 단계에서 도는지 알게 됐습니다.
SAST·SCA는 빌드할 때 코드를 보고, DAST는 배포된 서비스를 대상으로 돕니다.
IaC로 인프라를 코드로 관리하는 방식도 이 프로젝트에서 처음 익혔습니다.

3 백링크0 링크6 태그

AWS CI/CD 보안 파이프라인