기술

GitHub, npm 및 GitHub Actions를 겨냥한 소프트웨어 공급망 공격 방어 강화

GitHub는 개발자 계정 탈취부터 자격 증명 도용과 악성 소프트웨어 배포에 이르기까지, 소프트웨어 공급망 공격에 활용되는 일반적인 경로를 차단하기 위해 지난 몇 달 동안 npm과 GitHub Actions에 적용한 일련의 변경 사항을 공개했다.

2026-07-28
3 분 읽기
1,446 조회수
certi.news Editorial Team
GitHub, npm 및 GitHub Actions를 겨냥한 소프트웨어 공급망 공격 방어 강화

GitHub는 소프트웨어 공급망 공격에 사용되는 일반적인 기법을 차단하고 그 영향을 줄이기 위해 지난 몇 달 동안 npm과 GitHub Actions에 적용한 보안 변경 사항을 공개했다. 여기에는 영향력이 큰 npm 계정 보호, Actions 워크플로의 기본 동작 강화, 자격 증명 도용 위험 감소, 사고에 더 신속하게 대응할 수 있는 도구 제공이 포함된다.

이러한 조치는 패키지 저장소와 지속적 통합 및 배포 시스템의 취약점을 악용해 수백 개의 오픈 소스 프로젝트에 악성 소프트웨어를 배포하는 공격이 증가한 이후 이루어졌다. Greg Ose와 Zachary Steindler에 따르면, 이러한 공격은 일반적으로 프로젝트에 대한 최초 접근, 권한 상승, 자격 증명 도용, 다른 프로젝트와 사용자로의 확산으로 이어지는 일련의 단계로 진행된다.

최초 침해 기회 줄이기

2026년 6월, npm은 이메일 주소를 변경하거나 2단계 인증 복구 토큰을 사용할 때 영향력이 큰 계정을 72시간 동안 읽기 전용 상태로 전환했다. 이 유예 기간을 통해 계정 관리자는 피싱 시도를 발견하고 대응한 뒤 해당 계정이 공격에 사용되는 것을 막을 시간을 확보할 수 있다.

같은 달 GitHub는 actions/checkout 액션의 기본 동작을 변경해, 악용되기 쉬운 트리거에서 포크된 저장소에서 들어온 풀 리퀘스트의 신뢰할 수 없는 코드를 가져오지 못하도록 했다. 위험을 검토한 후 이 차단을 해제할 수 있으며, 변경 사항은 액션의 이전 버전에도 적용됐다.

GitHub는 또한 조직, 엔터프라이즈 또는 저장소 수준에서 워크플로 실행을 허용할 주체와 허용되는 트리거 유형을 제어하는 정책을 제공했다. 여기에 더해 신뢰도가 낮은 워크플로가 다른 워크플로와 공유하는 캐시를 수정할 수 있는 기능을 제한했다. 이는 제한된 권한의 실행에서 고권한 자격 증명 도용으로 이동하는 데 사용된 경로를 차단한다.

자격 증명 도용과 악성 소프트웨어 확산 제한

npm은 2026년 4월 신뢰할 수 있는 배포 기능에 CircleCI 지원을 추가했다. 이를 통해 프로젝트는 공격자가 지속적 통합 환경에서 추출할 수 있는 장기 자격 증명을 사용하는 대신 신뢰할 수 있는 주체를 통해 배포할 수 있다.

GitHub는 기술 프리뷰 단계에서 네트워크 방화벽도 테스트하고 있다. 이 방화벽은 GitHub Actions 실행에서 나가는 트래픽을 기록한다. 이를 통해 악성 코드를 다운로드하거나 새로운 도메인으로 자격 증명을 전송하는 등의 행위를 탐지할 수 있다. GitHub는 이후 이러한 활동을 차단하기 위한 네트워크 아웃바운드 트래픽 제한과 정책을 추가할 예정이다.

npm이 2026년 5월 출시한 단계적 배포 기능을 사용하면 자격 증명만으로 새 버전을 즉시 배포할 수 없다. npm 인터페이스 또는 npmjs.com을 통해 승인을 받고 2단계 인증을 완료할 때까지 해당 버전은 대기 상태로 남는다.

또한 npm v12는 설치 중 실행 스크립트를 기본적으로 비활성화해 기존 동작을 변경하는 호환성 중단 변경을 준비하고 있다. 승인된 특정 스크립트는 다시 활성화할 수 있다. Git 저장소 또는 원격 URL에 의존하는 종속성도 기본적으로 비활성화되어 설치 중 코드 실행 경로를 줄인다.

비보안 업데이트 지연과 대응 개선

Dependabot을 통한 릴리스 업데이트는 2026년 7월부터 패키지가 출시된 후 최소 3일 동안 대기한 뒤 풀 리퀘스트를 생성하기 시작했다. 이를 통해 악성 버전이 프로젝트에 도달하기 전에 탐지 신호가 나타날 시간을 확보할 수 있다. 보안 업데이트는 중요한 수정이 지연되지 않도록 계속 즉시 생성된다.

대응 측면에서 GitHub는 6월 특정 사용자의 모든 자격 증명을 조직 내부에서 취소할 수 있는 셀프 서비스 도구를 추가했다. 또한 3월에는 자격 증명 취소 API 지원을 확대해 GitHub OAuth 토큰과 App Token을 포함했다. 이 지원은 2025년 4월 개인용 액세스 토큰에서 처음 시작됐다. GitHub는 이러한 기능이 유출된 데이터를 신속하게 무효화하고 악용될 수 있는 기간을 줄이는 데 도움이 된다고 밝혔다.

GitHub는 이러한 변경 사항이 npm과 GitHub Actions를 기본적으로 더 안전하게 만들기 위한 지속적인 작업의 일부라고 강조했다. 또한 다른 개선 사항도 계속 출시하고 있으며, 변경 로그와 블로그 게시물을 통해 이를 추적할 수 있다고 밝혔다.

뉴스 출처
GitHub Blog
원문 보기 ↗
c
작성자

certi.news Editorial Team

핵심 내용

GitHub은 계정 탈취, 자격 증명 도용, 악성 소프트웨어 배포를 비롯해 소프트웨어 공급망 공격의 일반적인 경로를 차단하기 위해 npm과 GitHub Actions에 적용한 일련의 보안 변경 사항을 설명했습니다. 여기에는 기본 설정 강화, 신뢰할 수 있는 배포와 단계적 배포, 네트워크 트래픽 모니터링, 자격 증명 폐기 개선이 포함됩니다.

  • npm은 이메일 주소를 변경하거나 2단계 인증 복구 코드를 사용할 때 영향력이 큰 계정을 72시간 동안 읽기 전용 상태로 전환합니다.
  • GitHub은 특정 트리거에서 포크된 저장소의 풀 리퀘스트로부터 신뢰할 수 없는 코드를 가져오지 못하도록 actions/checkout 작업의 기본 동작을 변경했습니다.
  • npm은 신뢰할 수 있는 배포 기능에 CircleCI 지원을 추가했으며, 버전을 게시하기 전에 승인과 2단계 인증을 요구하는 단계적 배포도 도입했습니다.
  • GitHub은 GitHub Actions 작업에서 나가는 트래픽을 기록하기 위한 네트워크 방화벽을 테스트 중이며, 이그레스 트래픽 제한을 추가할 계획입니다.
  • npm v12는 설치 중 실행 스크립트와 원격 종속성을 기본적으로 비활성화할 준비를 하고 있으며, 검토 후 이를 허용할 수 있습니다.
  • GitHub은 사용자 자격 증명과 토큰을 신속하게 폐기할 수 있는 도구를 추가했으며, Dependabot은 보안과 관련 없는 패키지 업데이트를 최소 3일 동안 지연합니다.

자주 묻는 질문

GitHub과 npm의 변경 사항의 목적은 무엇인가요?

소프트웨어 공급망 공격에 흔히 사용되는 기법을 차단하고 계정 탈취, 자격 증명 도용, 악성 소프트웨어 배포 위험을 줄이는 것입니다.

npm의 단계적 배포는 어떤 기능을 하나요?

버전을 업로드한 후 대기 단계에 유지하며, 자격 증명만으로 즉시 게시할 수 없도록 합니다. 게시하려면 승인과 2단계 인증 완료가 필요합니다.

npm v12에서는 무엇이 바뀌나요?

설치 중 실행되는 스크립트와 Git 저장소 또는 원격 URL에 의존하는 종속성이 기본적으로 비활성화되며, 승인 후 특정 항목을 다시 활성화할 수 있습니다.

Dependabot은 왜 보안과 관련 없는 패키지 업데이트를 지연하나요?

악성 버전이 프로젝트에 도달하기 전에 탐지 시스템이 이를 발견할 시간을 제공하기 위해서입니다. 보안 업데이트는 계속 즉시 열립니다.

같은 카테고리

추천 기사

모든 뉴스 보기