GitHub Actions 리드·아키텍트 보안 면접

GitHub Actions 리드 · 아키텍트 (10년+) 보안 10문항 조회수 34 · 2026-08-28 (금) 02:12:17
1 Secrets 관리
Hard

Q. GitHub Actions에서 Secrets를 사용할 때 발생할 수 있는 보안 취약점과 이를 방지하기 위한 아키텍처 수준의 설계 전략을 설명해주세요. 특히 fork된 레포지토리의 PR에서 secrets 노출 위험을 어떻게 관리하시겠습니까?

pull_request_target 이벤트와 pull_request 이벤트의 차이점, 그리고 환경(Environment) 보호 규칙을 고려해보세요.

A. 모범답안

Fork된 레포지토리의 PR에서는 기본적으로 secrets 접근을 차단해야 합니다. pull_request 이벤트는 fork에서 secrets에 접근할 수 없지만, pull_request_target은 base 레포지토리 컨텍스트로 실행되어 위험합니다. 따라서 민감한 작업은 Environment Protection Rules를 활용해 승인 프로세스를 거치도록 설계하고, secrets는 가능한 짧은 수명의 토큰(OIDC)으로 대체해야 합니다. 또한 workflow에서 secrets를 echo하거나 로그에 출력하지 않도록 정적 분석 도구를 CI에 통합하고, 조직 수준에서 secrets 사용을 모니터링하는 거버넌스 체계를 구축해야 합니다. 마지막으로 least privilege 원칙에 따라 각 workflow별로 필요한 최소한의 권한만 부여하는 GITHUB_TOKEN 스코프 전략을 수립해야 합니다.

핵심 포인트
  • • pull_request와 pull_request_target 이벤트의 보안 차이 이해
  • • Environment Protection Rules를 통한 승인 기반 배포
  • • OIDC를 활용한 short-lived credentials 전략
  • • 조직 수준의 secrets 거버넌스 및 모니터링 체계
답변에 넣으면 좋은 키워드
pull_request_target Environment Protection Rules OIDC GITHUB_TOKEN least privilege fork PR
실무에서는

오픈소스 프로젝트에서 외부 기여자의 PR이 secrets를 탈취하려는 악의적인 코드를 포함할 수 있는 상황을 방지합니다.

Follow-up 질문

OIDC를 활용한 keyless authentication을 AWS나 Azure에 구현할 때 trust policy 설정 시 주의해야 할 보안 요소는 무엇인가요?

2 공급망 보안
Hard

Q. GitHub Actions Marketplace의 서드파티 액션을 사용할 때 발생할 수 있는 공급망 공격(Supply Chain Attack) 위험과 이를 완화하기 위한 조직 차원의 정책을 설명해주세요.

액션의 버전 고정 방식과 코드 검증, 그리고 허용 목록 기반 접근을 생각해보세요.

A. 모범답안

서드파티 액션은 SHA 해시로 버전을 고정해야 하며, 태그나 브랜치 참조는 공격자가 악의적 코드로 교체할 수 있어 위험합니다. 조직 수준에서는 허용된 액션만 사용할 수 있도록 화이트리스트 정책을 적용하고, GitHub의 'Allow select actions' 기능을 활용해야 합니다. 또한 Dependabot을 통해 액션 버전 업데이트를 자동 모니터링하고, 각 업데이트마다 diff 리뷰를 의무화해야 합니다. 중요한 workflow에는 검증된 퍼블리셔의 액션만 사용하거나, 내부적으로 fork하여 보안 감사를 거친 후 사용하는 전략이 필요합니다. 마지막으로 SBOM(Software Bill of Materials)을 생성하여 모든 액션 의존성을 추적하고, 정기적인 보안 감사를 수행해야 합니다.

핵심 포인트
  • • SHA 해시를 통한 액션 버전 고정
  • • 조직 수준의 허용 액션 화이트리스트 정책
  • • Dependabot과 diff 리뷰를 통한 업데이트 관리
  • • SBOM 기반 의존성 추적 및 정기 감사
답변에 넣으면 좋은 키워드
Supply Chain Attack SHA pinning Allow select actions Dependabot SBOM verified publisher
실무에서는

인기 있는 GitHub Action이 해킹되어 악성 코드가 주입된 경우, 이를 사용하는 모든 조직의 배포 파이프라인이 침해될 수 있습니다.

Follow-up 질문

내부적으로 fork한 액션을 관리할 때 upstream 업데이트를 안전하게 동기화하는 프로세스를 어떻게 설계하시겠습니까?

3 코드 인젝션 방어
Hard

Q. GitHub Actions workflow에서 PR 제목이나 커밋 메시지 같은 사용자 입력을 사용할 때 발생할 수 있는 스크립트 인젝션 공격과 방어 방법을 설명해주세요.

github.event 컨텍스트를 직접 스크립트에 삽입할 때의 위험성과 환경변수 활용을 고려하세요.

A. 모범답안

github.event.pull_request.title 같은 사용자 제어 가능한 값을 직접 run 스크립트에 삽입하면 악의적인 명령어가 실행될 수 있습니다. 예를 들어 PR 제목에 백틱이나 세미콜론을 포함시켜 임의의 명령을 실행할 수 있습니다. 이를 방지하려면 사용자 입력을 환경변수로 먼저 설정하고, 스크립트에서는 환경변수를 참조해야 합니다. 또한 입력값에 대한 검증과 sanitization을 수행하고, 가능하면 actions/github-script 같은 안전한 방식으로 처리해야 합니다. 조직 차원에서는 workflow 코드에 대한 정적 분석 도구를 도입하여 위험한 패턴을 자동 탐지하고, 코드 리뷰 시 보안 체크리스트를 의무화해야 합니다. 또한 최소 권한 원칙에 따라 GITHUB_TOKEN의 권한을 제한하여 피해 범위를 최소화해야 합니다.

핵심 포인트
  • • 사용자 입력을 환경변수로 격리하여 처리
  • • 직접적인 컨텍스트 삽입 금지
  • • 입력값 검증 및 sanitization
  • • 정적 분석 도구를 통한 위험 패턴 자동 탐지
답변에 넣으면 좋은 키워드
script injection github.event 환경변수 sanitization actions/github-script 정적 분석
실무에서는

악의적인 기여자가 PR 제목에 명령어를 삽입하여 CI 환경에서 secrets를 탈취하거나 악성 코드를 배포하는 공격을 방지합니다.

Follow-up 질문

workflow에서 동적으로 생성된 스크립트를 실행해야 하는 경우 안전하게 구현하는 방법은 무엇인가요?

4 권한 관리
Medium

Q. GitHub Actions의 GITHUB_TOKEN 권한 모델과 관련하여, 조직의 모든 레포지토리에 적용할 보안 기준선(baseline) 권한 정책을 어떻게 설계하고 관리하시겠습니까?

기본 권한을 제한적으로 설정하고, 필요시 workflow별로 명시적으로 권한을 요청하는 방식을 고려하세요.

A. 모범답안

조직 수준에서 GITHUB_TOKEN의 기본 권한을 read-only로 설정하고, 각 workflow에서 필요한 권한만 명시적으로 선언하도록 강제해야 합니다. permissions 키를 workflow 파일 최상위 또는 job 레벨에 명시하여 최소 권한 원칙을 적용하고, contents: write나 packages: write 같은 민감한 권한은 정당한 사유가 있을 때만 허용해야 합니다. 조직 정책으로 'Restrict permissions for GITHUB_TOKEN'을 활성화하고, 정기적으로 권한 사용 현황을 감사하여 과도한 권한을 사용하는 workflow를 식별해야 합니다. 또한 branch protection rules와 결합하여 특정 브랜치에 대한 쓰기 권한을 제한하고, 중요한 작업은 Environment를 통해 추가 승인을 요구하도록 설계해야 합니다.

핵심 포인트
  • • 조직 수준에서 기본 권한을 read-only로 제한
  • • workflow별 명시적 권한 선언 강제
  • • 정기적인 권한 사용 감사
  • • Environment와 branch protection 결합
답변에 넣으면 좋은 키워드
GITHUB_TOKEN permissions least privilege read-only branch protection Environment
실무에서는

과도한 권한을 가진 GITHUB_TOKEN이 탈취되면 레포지토리 코드 변조, 릴리즈 조작, 패키지 배포 등 심각한 피해가 발생할 수 있습니다.

Follow-up 질문

특정 팀이나 레포지토리에서 더 높은 권한이 필요한 정당한 사유가 있을 때 어떻게 예외를 관리하시겠습니까?

5 로그 및 감사
Medium

Q. GitHub Actions workflow 실행 로그에 민감한 정보가 노출되는 것을 방지하고, 보안 사고 발생 시 감사 추적(audit trail)을 확보하기 위한 전략을 설명해주세요.

로그 마스킹 기능과 조직 수준의 감사 로그, 그리고 외부 SIEM 통합을 고려하세요.

A. 모범답안

add-mask 명령어를 사용하여 동적으로 생성된 민감한 값을 자동으로 마스킹하고, secrets는 자동으로 마스킹되지만 base64 인코딩 등으로 변형된 값은 노출될 수 있으므로 주의해야 합니다. 조직 수준에서는 GitHub Enterprise의 audit log API를 활용하여 모든 workflow 실행, secrets 접근, 설정 변경 등을 중앙에서 수집하고 SIEM(Splunk, DataDog 등)과 통합해야 합니다. workflow 실행 로그는 최소 90일 이상 보관하고, 민감한 작업에 대해서는 누가, 언제, 무엇을 실행했는지 추적 가능하도록 메타데이터를 기록해야 합니다. 또한 정기적으로 로그를 분석하여 비정상적인 패턴(예: 실패율 급증, 비정상 시간대 실행)을 탐지하고, 알림을 설정해야 합니다. 규제 준수가 필요한 경우 변조 방지를 위해 로그를 immutable storage에 보관하는 것도 고려해야 합니다.

핵심 포인트
  • • add-mask를 통한 동적 값 마스킹
  • • audit log API와 SIEM 통합
  • • 최소 90일 로그 보관 및 메타데이터 추적
  • • 비정상 패턴 탐지 및 알림 설정
답변에 넣으면 좋은 키워드
add-mask audit log SIEM 로그 보관 감사 추적 immutable storage
실무에서는

배포 중 API 키가 로그에 노출되어 공개 레포지토리에서 누구나 볼 수 있게 되는 사고를 방지하고, 사고 발생 시 영향 범위를 파악합니다.

Follow-up 질문

workflow 로그에서 실수로 노출된 secrets를 발견했을 때 즉각적으로 취해야 할 조치는 무엇인가요?

6 네트워크 보안
Hard

Q. GitHub Actions self-hosted runner를 사용할 때 발생할 수 있는 보안 위험과 이를 완화하기 위한 네트워크 아키텍처 및 격리 전략을 설명해주세요.

runner의 격리 수준, 네트워크 세그멘테이션, 그리고 ephemeral runner 활용을 생각해보세요.

A. 모범답안

self-hosted runner는 GitHub hosted runner와 달리 영구적인 환경에서 실행되어 이전 작업의 아티팩트나 악성 코드가 남을 수 있습니다. 따라서 ephemeral runner 패턴을 적용하여 매 작업마다 새로운 VM이나 컨테이너를 프로비저닝하고 작업 후 즉시 폐기해야 합니다. 네트워크 측면에서는 runner를 DMZ나 격리된 VLAN에 배치하고, 내부 네트워크로의 접근은 최소한으로 제한해야 합니다. 특히 public 레포지토리의 workflow는 절대 self-hosted runner에서 실행하지 않도록 정책을 수립하고, private 레포지토리만 허용해야 합니다. runner 그룹을 활용하여 민감도에 따라 runner를 분리하고, 각 그룹별로 접근 가능한 레포지토리를 제한해야 합니다. 또한 runner에서 외부로 나가는 트래픽을 프록시를 통해 모니터링하고, 의심스러운 연결을 차단하는 egress filtering을 구현해야 합니다.

핵심 포인트
  • • ephemeral runner로 작업마다 환경 초기화
  • • 네트워크 세그멘테이션 및 최소 권한 접근
  • • public 레포지토리에서 self-hosted runner 사용 금지
  • • runner 그룹 분리 및 egress filtering
답변에 넣으면 좋은 키워드
self-hosted runner ephemeral 네트워크 격리 runner 그룹 egress filtering DMZ
실무에서는

악의적인 PR이 self-hosted runner에서 실행되어 내부 네트워크를 스캔하거나 민감한 데이터에 접근하는 공격을 방지합니다.

Follow-up 질문

Kubernetes 클러스터에서 self-hosted runner를 운영할 때 추가로 고려해야 할 보안 사항은 무엇인가요?

7 컴플라이언스
Hard

Q. 금융권이나 의료 분야처럼 엄격한 규제 환경에서 GitHub Actions를 사용할 때 GDPR, HIPAA, PCI-DSS 같은 컴플라이언스 요구사항을 충족하기 위한 아키텍처 전략을 설명해주세요.

데이터 레지던시, 감사 요구사항, 그리고 데이터 처리자로서의 GitHub 역할을 고려하세요.

A. 모범답안

규제 준수를 위해서는 먼저 데이터 레지던시 요구사항을 확인하고, 필요시 GitHub Enterprise Server(on-premise)나 특정 리전에 데이터를 보관하는 옵션을 고려해야 합니다. GitHub와 DPA(Data Processing Agreement)를 체결하고, GitHub의 SOC 2, ISO 27001 인증을 확인하여 데이터 처리자로서의 책임을 명확히 해야 합니다. 민감한 개인정보나 PHI, PCI 데이터는 절대 workflow나 로그에 노출되지 않도록 하고, 필요시 토큰화나 암호화를 거쳐 처리해야 합니다. 감사 로그는 변조 방지 스토리지에 최소 7년 보관하고, 접근 권한은 역할 기반으로 엄격히 제한해야 합니다. 또한 정기적인 보안 평가와 침투 테스트를 수행하고, 모든 workflow 변경사항에 대한 승인 프로세스를 구축해야 합니다. 마지막으로 incident response plan을 수립하여 보안 사고 발생 시 규제 기관에 적시에 보고할 수 있는 체계를 마련해야 합니다.

핵심 포인트
  • • 데이터 레지던시 요구사항 충족 및 DPA 체결
  • • 민감 데이터의 workflow 노출 금지 및 암호화
  • • 변조 방지 감사 로그 장기 보관
  • • 정기 보안 평가 및 incident response plan
답변에 넣으면 좋은 키워드
GDPR HIPAA PCI-DSS DPA 데이터 레지던시 SOC 2 감사 로그
실무에서는

의료 기관이 환자 데이터를 처리하는 애플리케이션을 배포할 때 HIPAA 위반으로 인한 법적 제재를 방지합니다.

Follow-up 질문

GitHub Actions에서 처리되는 데이터에 대한 Data Flow Diagram을 작성할 때 어떤 요소들을 포함해야 하나요?

8 아티팩트 보안
Medium

Q. GitHub Actions에서 빌드된 아티팩트(artifact)와 컨테이너 이미지의 무결성을 보장하고 공급망 공격을 방지하기 위한 서명 및 검증 전략을 설명해주세요.

Sigstore, SLSA 프레임워크, 그리고 provenance attestation을 고려하세요.

A. 모범답안

아티팩트의 무결성을 보장하기 위해 Sigstore의 Cosign을 활용하여 컨테이너 이미지에 서명하고, keyless signing을 통해 OIDC 기반으로 인증해야 합니다. SLSA(Supply-chain Levels for Software Artifacts) 프레임워크를 적용하여 빌드 프로세스의 provenance를 생성하고, 어떤 소스 코드에서 어떤 빌드 과정을 거쳐 아티팩트가 생성되었는지 검증 가능하게 만들어야 합니다. GitHub의 artifact attestation 기능을 활용하여 빌드 메타데이터를 아티팩트와 함께 저장하고, 배포 시점에 이를 검증하는 정책을 수립해야 합니다. 컨테이너 이미지는 SBOM을 함께 생성하여 모든 의존성을 추적하고, 취약점 스캔을 자동화해야 합니다. 또한 이미지 레지스트리에 admission control을 적용하여 서명되지 않은 이미지의 배포를 차단하고, OPA나 Kyverno 같은 정책 엔진으로 런타임 검증을 수행해야 합니다.

핵심 포인트
  • • Cosign을 통한 keyless signing
  • • SLSA 프레임워크 기반 provenance 생성
  • • artifact attestation 및 배포 시점 검증
  • • SBOM 생성 및 admission control 적용
답변에 넣으면 좋은 키워드
Sigstore Cosign SLSA provenance attestation SBOM admission control
실무에서는

배포된 컨테이너 이미지가 승인된 빌드 프로세스에서 생성되었는지 확인하고, 중간에 변조되지 않았음을 보장합니다.

Follow-up 질문

SLSA 레벨 3 이상을 달성하기 위해 GitHub Actions workflow에서 구현해야 할 구체적인 요구사항은 무엇인가요?

9 취약점 관리
Medium

Q. GitHub Actions workflow 자체와 workflow에서 사용하는 의존성의 취약점을 지속적으로 관리하기 위한 자동화 전략과 조직 프로세스를 설명해주세요.

Dependabot, CodeQL, 그리고 정기적인 보안 스캔 파이프라인을 생각해보세요.

A. 모범답안

Dependabot을 활성화하여 workflow에서 사용하는 GitHub Actions와 의존성의 보안 업데이트를 자동으로 탐지하고 PR을 생성하도록 설정해야 합니다. CodeQL을 통해 workflow 파일 자체의 보안 취약점과 안티패턴을 정적 분석하고, 커스텀 쿼리로 조직 특화 보안 규칙을 검증해야 합니다. 모든 workflow에 보안 스캔 단계를 필수로 포함시켜 SAST, SCA, 컨테이너 스캔을 자동화하고, 임계값 이상의 취약점이 발견되면 빌드를 실패시켜야 합니다. 조직 차원에서는 Security Champions를 지정하여 각 팀의 workflow 보안을 책임지게 하고, 월간 보안 리뷰를 통해 전체 조직의 취약점 현황을 파악해야 합니다. 또한 취약점 SLA를 정의하여 Critical 취약점은 24시간 내, High는 7일 내 패치하도록 프로세스를 수립하고, 이를 추적하는 대시보드를 구축해야 합니다.

핵심 포인트
  • • Dependabot을 통한 자동 의존성 업데이트
  • • CodeQL 기반 workflow 정적 분석
  • • 필수 보안 스캔 단계 및 빌드 게이트
  • • 취약점 SLA 정의 및 추적 대시보드
답변에 넣으면 좋은 키워드
Dependabot CodeQL SAST SCA 취약점 SLA Security Champions 빌드 게이트
실무에서는

사용 중인 서드파티 액션에서 심각한 취약점이 발견되었을 때 영향받는 모든 workflow를 신속히 식별하고 패치합니다.

Follow-up 질문

false positive가 많은 보안 스캔 결과로 인해 개발자들이 무시하게 되는 상황을 어떻게 개선하시겠습니까?

10 보안 거버넌스
Hard

Q. 대규모 조직에서 수백 개의 레포지토리와 수천 개의 workflow를 안전하게 관리하기 위한 중앙 집중식 보안 거버넌스 모델과 자동화된 정책 집행 메커니즘을 설계해주세요.

조직 수준의 정책 설정, reusable workflow, 그리고 자동화된 컴플라이언스 체크를 고려하세요.

A. 모범답안

조직 수준에서 GitHub Enterprise 정책을 활용하여 기본 보안 설정을 강제하고, 모든 레포지토리에 자동 적용되도록 해야 합니다. 공통 보안 요구사항은 reusable workflow로 중앙화하여 각 팀이 재사용하도록 하고, 보안 업데이트 시 한 곳만 수정하면 모든 workflow에 반영되도록 설계해야 합니다. Policy as Code 접근으로 OPA나 Conftest를 활용하여 workflow 파일이 조직 보안 정책을 준수하는지 자동 검증하고, PR 단계에서 위반사항을 차단해야 합니다. 중앙 보안 팀은 GitHub API를 활용한 자동화 스크립트로 모든 레포지토리의 보안 설정(branch protection, secrets 사용, runner 설정 등)을 주기적으로 스캔하고, 비준수 항목을 식별하여 자동으로 티켓을 생성해야 합니다. 보안 메트릭 대시보드를 구축하여 조직 전체의 보안 posture를 가시화하고, 경영진에게 리스크를 보고할 수 있어야 합니다. 마지막으로 정기적인 보안 교육과 게임데이 훈련을 통해 개발자들의 보안 인식을 높여야 합니다.

핵심 포인트
  • • 조직 수준 정책 강제 및 reusable workflow 중앙화
  • • Policy as Code로 자동 컴플라이언스 검증
  • • GitHub API 기반 자동 감사 및 티켓 생성
  • • 보안 메트릭 대시보드 및 정기 교육
답변에 넣으면 좋은 키워드
보안 거버넌스 reusable workflow Policy as Code OPA 자동 감사 보안 메트릭
실무에서는

대규모 조직에서 일관된 보안 수준을 유지하면서도 각 팀의 자율성을 존중하고, 보안 사고 발생 시 빠르게 대응할 수 있는 체계를 구축합니다.

Follow-up 질문

분산된 팀들이 각자의 요구사항으로 중앙 정책을 우회하려 할 때 어떻게 균형을 맞추시겠습니까?

댓글 0

로그인 후 댓글을 작성할 수 있습니다.

아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!