Skip to content

[PL-408] GitHub Actions 참조를 커밋 SHA 로 고정 - #45

Merged
pax-d merged 1 commit into
masterfrom
PL-408-pin-action-shas
Sep 8, 2026
Merged

[PL-408] GitHub Actions 참조를 커밋 SHA 로 고정#45
pax-d merged 1 commit into
masterfrom
PL-408-pin-action-shas

Conversation

@pax-d

@pax-dpax-d commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Description 🔍

배경

  • 액션을 태그(@v5)로 부르면 액션 저장소 주인이 태그를 다른 커밋으로 옮기는 순간 우리 CI 가 다른 코드를 실행합니다. 워크플로 파일은 그대로인데 내용만 바뀝니다.

  • 2025년 tj-actions/changed-files 사고가 이 방식이었고, 태그로 부르던 저장소들이 빌드 로그에 시크릿을 노출했습니다.

  • 조직 전체에서 미고정 참조 974건을 확인했습니다. 저장소 70곳에 같은 형태의 PR 을 엽니다.

변경 사항

  • 이 저장소 워크플로 2개의 외부 액션 참조 8건을 커밋 SHA 로 고정합니다.

  • 실행되는 코드는 지금과 같습니다 - 각 참조를 그 태그가 현재 가리키는 커밋으로 바꾸기만 했고, 동작·이름·트리거는 건드리지 않았습니다.

  • 대상 브랜치는 master 입니다.

  • 조직 내부 8percent/* reusable workflow 참조는 고정하지 않습니다 - 우리 소유라 태그 탈취 위험이 없고, 중앙 워크플로는 최신 main 을 따라야 합니다.

구현 내용

  • .github/workflows/ci.yml: 참조 7건을 고정합니다.

  • .github/workflows/release_drafter.yml: 참조 1건을 고정합니다.

  • 원래 태그는 SHA 뒤에 주석으로 남겨 어떤 버전인지 읽을 수 있게 합니다.

  • SHA 는 각 액션 저장소에서 해당 태그가 가리키는 커밋을 조회해 채웠습니다.

향후 계획 (선택사항)

  • 고정이 끝나면 조직 설정으로 미고정 참조를 차단합니다. 적용 시점은 따로 공지합니다.

  • 새 액션을 추가할 때는 태그 대신 커밋 SHA 와 버전 주석으로 적어주시면 됩니다.

참고 자료

  • 리뷰해주시면 보안팀이 머지하겠습니다. 2026-09-09 까지 리뷰를 부탁드립니다.

  • 관련 Jira 이슈: PL-408

https://claude.ai/code/session_0142eVjvJeP3DSh61ujeb4Kc

@pax-dpax-d self-assigned this Sep 8, 2026
@github-actions

Copy link
Copy Markdown

☂️ Code Coverage

current status: ✅

Overall Coverage

StatementsCoveredCoverageThresholdStatus
11100%0%🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: 957f1d2 by action🐍

@pax-d
pax-d requested a review from chankooSeptember 8, 2026 06:18
@pax-d
pax-d merged commit a7ea60e into masterSep 8, 2026
5 checks passed
@pax-d
pax-d deleted the PL-408-pin-action-shas branch September 8, 2026 07:49
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@pax-d