깃허브가 흔들린 날: RCE 취약점과 가용성 사고가 동시에 터진 의미
전 세계 개발자들의 하루는 보통 git push로 시작해서 git pull로 끝납니다. 그런데 그 한가운데 있는 깃허브가 흔들린다면 어떻게 될까요. 최근 RCE 취약점과 가용성 사고가 거의 동시에 터지면서, 우리가 너무 당연하게 여겨온 인프라의 취약함이 다시 한 번 드러났습니다.
무슨 일이 있었나
이번 사건의 핵심은 두 가지 축으로 나뉩니다. 하나는 원격 코드 실행(RCE) 가능성이 보고된 보안 취약점이고, 다른 하나는 같은 시기에 발생한 대규모 가용성 장애입니다. 두 사건이 같은 날 겹쳤다는 점이 특히 무겁게 다가옵니다.
RCE는 공격자가 원격에서 임의의 코드를 실행할 수 있는 결함을 의미합니다. 깃허브처럼 수억 개의 저장소를 호스팅하는 플랫폼에서 이런 취약점이 발견되면, 단순한 한 회사의 문제가 아니라 전 세계 소프트웨어 공급망의 문제로 번집니다. 내가 쓰는 오픈소스 라이브러리, 회사 내부 프로젝트, CI/CD 파이프라인 모두가 이 플랫폼 위에 올라가 있기 때문입니다.
RCE 취약점이 무서운 진짜 이유
흔히 보안 취약점이라고 하면 “내 비밀번호가 털리는 것"을 떠올리기 쉬운데요. RCE는 그보다 훨씬 위험합니다. 공격자가 시스템에 침투해 원하는 명령을 직접 실행할 수 있다는 뜻이거든요.
깃허브 환경에서 이게 왜 치명적이냐면, 코드 저장소는 단순한 파일 보관소가 아닙니다. 빌드 스크립트, 배포 키, 시크릿 토큰, GitHub Actions 워크플로우까지 다 들어 있습니다. 한 줄의 악성 코드가 수많은 다운스트림 프로젝트로 퍼져나가는 공급망 공격의 출발점이 될 수 있는 거죠.
지난 몇 년간 SolarWinds, log4j, xz-utils 같은 사건들을 거치면서 우리는 이미 한 번 학습했습니다. 신뢰하던 한 지점이 무너지면 그 위에 쌓인 모든 것이 흔들린다는 사실을요.
가용성 사고가 같은 날 겹쳤다는 점
두 번째 이슈는 가용성 장애입니다. 깃허브가 다운되면 어떤 일이 벌어질까요. 전 세계 개발팀의 코드 리뷰가 멈춥니다. CI 파이프라인이 멈춥니다. 배포가 밀립니다. npm, pip, Go 모듈처럼 깃허브를 백엔드로 쓰는 패키지 매니저들도 같이 휘청입니다.
문제는 RCE 같은 보안 사고와 가용성 사고가 겹쳐서 발생할 때입니다. 보안팀이 패치를 배포해야 하는 순간 플랫폼이 불안정하면, 대응 자체가 늦어집니다. 운영팀은 장애 복구에 매달리고, 보안팀은 공격 가능성을 우려해야 하는 상황이 동시에 펼쳐지죠.
이런 동시 발생이 우연인지, 아니면 한 사건이 다른 사건을 유발한 건지는 사후 분석을 통해 밝혀져야 할 부분입니다. 다만 한 가지 분명한 건, 대형 플랫폼의 단일 장애점 리스크가 다시 부각됐다는 점입니다.
개발자 플랫폼의 “너무 큰 신뢰” 문제
깃허브는 마이크로소프트 인수 이후 사실상 전 세계 오픈소스의 중앙 허브가 됐습니다. 편리합니다. 그런데 편리한 만큼 의존도도 깊어졌습니다.
한 개발자가 커뮤니티에서 이런 말을 하더군요. “깃허브가 다운되면 우리 회사 개발 생산성이 0이 된다"고요. 농담처럼 들리지만 현실입니다. 이슈 트래킹, PR 리뷰, 위키, 액션, 패키지 호스팅까지 한 군데에 묶여 있으니까요.
대안으로 GitLab, Codeberg, 자체 호스팅 Gitea 같은 선택지가 거론되지만, 생태계 효과 때문에 쉽게 옮기기는 어렵습니다. 결국 리스크를 인지하고 분산 전략을 준비해두는 것이 현실적인 답입니다. 미러 저장소를 두거나, 중요한 빌드 아티팩트는 별도 보관하는 식으로요.
우리가 지금 해야 할 일
당장 개발자 입장에서 점검해볼 것들이 있습니다. 첫째, GitHub Actions의 시크릿과 토큰 권한을 다시 살펴보세요. 필요 이상의 권한을 가진 토큰은 RCE 공격이 일어났을 때 피해를 키웁니다. 둘째, 의존하는 오픈소스 라이브러리들이 깃허브 외에 미러를 가지고 있는지 확인해두면 좋습니다. 셋째, 사고 발생 시 오프라인에서도 빌드/배포가 가능한 백업 파이프라인이 있는지 점검해야 합니다.
조직 차원에서는 공급망 보안(SBOM, 서명 검증) 도입이 더 이상 미룰 수 없는 과제가 됐습니다. 어떤 코드가 어디서 왔는지 추적할 수 있어야, 사고가 났을 때 영향 범위를 빠르게 좁힐 수 있습니다.
마무리
이번 사건은 단순한 한 회사의 사고가 아닙니다. 전 세계 소프트웨어가 얼마나 좁은 통로 위에 서 있는지를 보여주는 신호입니다. 편리함과 집중화는 동전의 양면이라는 사실을 다시 한 번 확인한 셈이죠.
여러분의 팀은 깃허브가 하루 멈춘다면 어떻게 대응하시겠습니까. 한 번도 시뮬레이션해본 적이 없다면, 이번이 그 질문을 꺼내볼 적기일지도 모릅니다.
댓글
댓글을 불러오는 중...