사이버 보안 기업 Wiz의 연구진 라미 매카시와 히라 라마티가 ‘Gheist’라는 이름의 새로운 공격 캠페인을 추적해 10월 25일 결과를 발표했습니다. 이 공격은 탈취된 GitHub 액세스 토큰을 이용해 저장소 내부의 민감한 정보를 빼내는 데 초점을 맞추고 있습니다.

공격자는 토큰이 접근할 수 있는 모든 저장소에 ‘ci-sync’로 시작하는 브랜치를 생성합니다. 이어 ‘.github/workflows/sync-check.yml’ 파일을 커밋하며, 커밋 메시지는 ‘ci: sync config’로 위장되어 정상적인 유지보수 작업처럼 보입니다. 푸시 이벤트가 발생하면 해당 워크플로우가 자동으로 실행됩니다.

핵심 기법은 로그 마스킹 우회에 있습니다. GitHub는 로그에서 시크릿 값이 원문 그대로 노출될 경우 이를 가립니다. 하지만 Gheist 도구는 시크릿을 Base32 인코딩하여 출력하기 때문에 마스킹 로직에 걸리지 않습니다.

이후 도구는 API를 통해 로그를 다운로드하고, 몇 초 만에 실행 기록을 삭제하여 흔적을 지웁니다.

Wiz는 9월 15일부터 이 활동을 모니터링했으며, 현재까지 850개 이상의 침해된 계정에서 1만 3500개 이상의 심어진 브랜치를 회수했다고 밝혔습니다. 피해 대상은 개인 프로젝트부터 기업용 비공개 저장소까지 다양하게 분포되어 있습니다.

최근 GitHub의 보안 개선 조치로 공개 저장소에서의 악용은 상당 부분 차단된 상태입니다. 그러나 비공개 저장소나 GitHub Enterprise 환경에서는 여전히 성공적인 침투와 후속 활동이 관측되고 있습니다. 관련 API 요청에는 ‘gheist’라는 특정 사용자 에이전트가 포함되는 것이 특징입니다.

연구진은 이번 활동을 GitHub 측에 보고했으며, 약 3분의 2에 해당하는 연루 계정은 현재 GitHub에서 더 이상 확인할 수 없는 상태라고 설명했습니다. 이는 플랫폼 차원의 대응 조치가 이루어졌음을 시사합니다. 클라우드 감사 로그를 분석하면 GitHub 자체 로그가 수집되지 않은 경우에도 이러한 공격 패턴을 탐지할 수 있다고 Wiz는 조언했습니다.