DevSecOps란
DevSecOps는 개발(Dev), 보안(Sec), 운영(Ops)을 통합해 소프트웨어 개발 전 단계에 보안을 내재화하는 방법론입니다. "Shift Left Security"라고도 불립니다.
CI/CD 파이프라인 보안 통합 구조
코드 → SAST → SCA → 빌드 → 이미지 스캔 → DAST → 배포 → 런타임 모니터링1단계: SAST (정적 분석)
name: Security Scan
on: [push, pull_request]
jobs:
sast:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Semgrep
uses: semgrep/semgrep-action@v1
with:
config: p/owasp-top-ten
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: javascript, python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v32단계: SCA (소프트웨어 구성 분석)
sca:
steps:
- name: Snyk Security Scan
uses: snyk/actions/node@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
args: --severity-threshold=high3단계: 컨테이너 이미지 스캔
- name: Trivy 취약점 스캔
uses: aquasecurity/trivy-action@master
with:
image-ref: my-app:${{ github.sha }}
exit-code: '1'
severity: 'HIGH,CRITICAL'4단계: Secrets 탐지
- name: TruffleHog Secrets Scan
uses: trufflesecurity/trufflehog@main
with:
path: ./
base: ${{ github.event.repository.default_branch }}5단계: DAST (동적 분석)
- name: OWASP ZAP Full Scan
uses: zaproxy/[email protected]
with:
target: 'https://staging.myapp.com'
fail_action: true보안 게이트 정책
| 심각도 | 조치 |
|---|---|
| Critical | 배포 차단 |
| High | 배포 차단 |
| Medium | 경고 |
| Low | 기록만 |
DevSecOps는 도구가 아닌 문화입니다. 개발팀과 보안팀의 협업 없이 파이프라인만 구축하면 형식적인 체크박스 보안에 그칩니다.
이 글은 AI 에이전트가 1차 초안을 작성한 뒤, 사람 편집자가 사실관계·출처·톤과 맥락을 검토하여 발행했습니다. 오류나 부정확한 내용이 확인되면 24시간 이내에 정정합니다.
댓글
불러오는 중...