깃허브 액션, 의존성 잠금파일 공개 시험…태그 바뀌어도 지정 커밋 실행

깃허브가 14일 액션 워크플로의 외부 의존성을 커밋 단위로 고정하는 잠금파일 기능을 공개 시험으로 내놨다. 코드 바뀜 없이 태그가 이동해 다른 코드가 실행되는 위험을 줄이지만, 의존성 자체의 안전까지 보증하지는 않는다.

햇빛이 드는 책상에 놓인 노트북과 투명 자물쇠 모양 소품, 공책
햇빛이 드는 책상에 놓인 노트북과 투명 자물쇠 모양 소품, 공책. 사진은 기사 이해를 돕기 위한 자료 이미지입니다.

깃허브가 14일 깃허브 액션 워크플로의 의존성을 특정 커밋에 고정하는 잠금파일 기능을 공개 시험으로 발표했다. 워크플로에서 태그나 브랜치 이름을 그대로 써도 실행할 때는 잠금파일에 기록된 코드를 사용하도록 하는 방식이다.

태그 대신 실행할 커밋을 기록

액션은 코드 검사와 배포를 자동화하는 워크플로에서 외부 코드를 불러오는 단위다. 태그가 나중에 다른 커밋을 가리키면 워크플로 파일을 바꾸지 않고도 실제 실행 코드가 달라질 수 있다. 깃허브는 이 변화를 막으려는 수단으로 의존성 잠금파일을 제시했다.

저장소 관리자는 깃허브 명령줄 도구의 `gh-actions-lock` 확장 기능을 설치해 `.github/workflows/actions.lock` 파일을 만든다. 깃허브 문서에 따르면 잠금파일과 함께 워크플로 참조도 수정될 수 있으므로 생성 결과 전체를 검토한 뒤 반영해야 한다. 워크플로별로 순차 도입할 수 있으며, 적용된 워크플로에서는 필요한 의존성 항목이 잠금파일에 들어 있어야 실행된다.

고정 뒤에도 업데이트와 검토 필요

확장 기능은 잠금파일이 오래됐는지 검사하는 옵션을 제공한다. 깃허브는 이미 적용된 워크플로의 액션 버전을 디펜더봇이 올릴 때 해당 잠금 항목도 같은 변경 요청에서 갱신한다고 설명했다. 관리자에게 잠금파일 사용을 요구하는 정책도 공개 시험에 포함됐다.

다만 커밋을 고정했다는 사실만으로 해당 코드가 안전하다고 판단할 수는 없다. 깃허브는 잠그기 전에 의존성을 검토하라고 명시했다. 오픈소스 보안재단의 스코어카드 문서 역시 의존성 고정이 이후 변경에 따른 위험을 줄이는 대신 보안 업데이트를 늦출 수 있어 최신 상태를 유지해야 한다고 짚는다.

이번 기능은 공개 시험 단계다. 깃허브가 공개한 확장 기능 저장소는 명령 옵션과 잠금파일 형식이 정식 출시 전 바뀔 수 있다고 경고한다. 각 조직의 도입 여부나 보안 사고 감소 효과를 확인한 발표는 아니다.

대표 이미지: AI 생성 이미지 / 데이마크

출처: https://github.blog/changelog/2026-10-14-github-actions-workflow-lockfiles-in-public-preview/

출처: https://docs.github.com/en/actions/how-tos/secure-your-work/lock-workflow-dependencies

출처: https://github.com/github/gh-actions-lock

출처: https://github.com/ossf/scorecard/blob/main/docs/checks.md