Post

2FA를 뚫렸다는데 로그인 기록이 없다? GitHub 보안 사건의 이상한 점들

2단계 인증을 활성화했는데도 계정이 침해된 사용자의 신고를 살펴보며, 현재 클라우드 기반 자동화 운영에 필요한 보안 상황을 점검해본다.

2FA를 뚫렸다는데 로그인 기록이 없다? GitHub 보안 사건의 이상한 점들

원문에서 눈에 띄는 모순

Reddit r/github에 올라온 이 게시물을 확인해본 결과, 몇 가지 기술적으로 설명하기 어려운 부분들이 있습니다. 사용자가 보고한 내용을 정리하면 이렇습니다.

먼저 피해자는 2단계 인증(2FA)을 활성화한 상태였습니다. 그런데 누군가가 2FA를 우회해서 계정에 로그인했고, 모든 정보를 변경했으며, 심지어 2FA 앱 등록까지 바꿨다고 합니다. 여기까지만 해도 심각한 사건입니다.

그런데 더 이상한 부분이 있습니다. 사용자가 GitHub의 보안 로그(security log)를 확인해보니, 해당 해커의 로그인 기록이 전혀 없었다는 것입니다. 원문의 첫 번째 업데이트를 보면 “There was no login entry of that hacker. So he somehow bypassed login?”이라고 쓰여 있습니다.

더 흥미로운 것은 해커의 첫 번째 활동 기록입니다. 보안 로그에 나타난 가장 초기의 항목은 “Country changed from your previous session”이었습니다. 즉, 로그인 기록 없이 바로 국가 정보 변경부터 시작된 것입니다.

자동화 운영자에게 던지는 질문

35년간 대학에서 컴퓨터 시스템과 커뮤니케이션 기술을 가르쳐온 입장에서 보면, 지금 이 사건은 단순한 한 사용자의 문제가 아닙니다. 특히 n8n이나 Make 같은 자동화 플랫폼을 GitHub과 연동하는 1인 운영자나 소규모 팀들이 늘어나면서, 이 사건의 의미가 더 커졌습니다.

왜냐하면 현대의 자동화 인프라는 여러 플랫폼의 인증 정보를 한 곳에 모으는 구조이기 때문입니다. GitHub 토큰, API 키, 개인 접근 토큰(Personal Access Token) 같은 것들이 자동화 서비스에 저장되어 있습니다. 만약 GitHub 계정이 침해되면, 이와 연결된 모든 자동화 워크플로우가 위험해집니다.

원문을 보면 사용자가 “이번 주에 GitHub과의 유일한 상호작용은 VSCode에서의 푸시뿐이었다”고 명시했습니다. 즉, 웹 인터페이스를 통한 로그인이 없었다는 뜻입니다. 그렇다면 VSCode 같은 클라이언트 애플리케이션을 통한 침해 경로가 있을 수 있다는 의문이 생깁니다. 또는 GitHub의 세션 관리 시스템 자체에 문제가 있을 수도 있습니다.

2FA 우회의 기술적 가능성

2단계 인증(2FA)이 진정으로 우회되었는지, 아니면 다른 메커니즘이 작동했는지는 아직 명확하지 않습니다. 원문에서 사용자는 “자동 이메일에 따르면” 누군가가 2FA를 우회했다고 표현했습니다. 하지만 보안 로그에는 로그인 기록 자체가 없습니다.

이것은 몇 가지 시나리오를 시사합니다. 첫째, 보안 로그가 모든 계정 변경을 기록하지 않을 수도 있습니다. 둘째, GitHub의 어떤 내부 시스템이나 관리자 권한 기능을 통해 로그인 우회가 일어났을 수도 있습니다. 셋째, 사용자의 기기(VSCode가 설치된 컴퓨터)에서 저장된 인증 토큰이 유출되었을 수도 있습니다.

세 번째 가능성은 특히 중요합니다. GitHub Desktop이나 VSCode의 GitHub 확장 프로그램은 로컬 기기에 장기 인증 토큰을 저장합니다. 만약 사용자의 컴퓨터가 맬웨어에 감염되었다면, 이 토큰이 탈취될 수 있고, 그러면 실제 로그인 없이도 계정 정보를 변경할 수 있게 됩니다. 하지만 원문에서는 이에 대한 언급이 없습니다.

시니어 개발자와 운영자들이 주목해야 할 지점

지난 35년 동안 여러 기술 붐과 보안 위기를 지켜봤을 때, 이런 사건들의 공통점이 있습니다. 초기에는 “개인의 부주의”로 치부되다가, 나중에 시스템 결함이 밝혀지는 패턴입니다.

지금 이 GitHub 사건도 마찬가지입니다. 사용자 커뮤니티에서는 이미 여러 추측과 질문이 나오고 있을 텐데, GitHub 공식의 명확한 입장이 없으면 불안감만 커집니다. 특히 자동화 운영자들은 GitHub 계정을 “단순한 저장소 관리 도구”가 아니라 “전체 워크플로우의 신뢰할 수 있는 인증 지점”으로 의존하고 있기 때문입니다.

원문을 읽으며 확인해본 결과, 피해자는 2FA를 사용했고, 주요 활동도 제한적이었으며, 보안 로그의 이상 징후(로그인 없이 국가 정보 변경)를 명확히 제시했습니다. 이는 일반적인 피싱이나 약한 비밀번호 공격과는 다른 패턴입니다.

“2FA 우회”가 실제로 발생한 것인지, 아니면 로그인 우회(session hijacking이나 토큰 탈취) 같은 다른 기법인지 구분하는 것이 중요한 논쟁점인데, 이 부분은 계속 지켜봐야 할 지점입니다. GitHub이 공식적으로 어떤 설명을 제시하는지, 그리고 커뮤니티에서 비슷한 사건들이 더 보고되는지가 매우 중요합니다.

특히 자동화 인프라를 직접 운영하는 분들이라면, 이번 사건이 단순히 “다른 사람의 불행”이 아니라 “언제든 우리 계정에도 일어날 수 있는 일”이라는 점을 인식해야 합니다.

이 이슈는 다음 편에서 GitHub의 공식 대응과 보안 커뮤니티의 분석이 어떻게 흘러갔는지 이어서 다뤄보겠습니다.

This post is licensed under CC BY 4.0 by the author.