오픈소스 성지 ‘깃허브’ 통한 공격 시도 주목…SW 공급망 보안 재점검 필요

위협 그룹 ‘바나나 스쿼드’의 67개 가짜 리포지토리 운영 사례 적발

2025-06-26     정종길 기자

[아이티데일리] 깃허브(GitHub)를 통한 소프트웨어(SW) 공급망 공격 관련 경고가 제기되고 있다. 최근 오픈소스 패키지 레지스트리의 보안 강화로 인해 사이버 범죄자들이 새로운 공격 경로를 모색하면서, 깃허브 리포지토리(Repository)를 정교하게 타이포스쿼팅(Typosquatting)해 개발자들을 유인하는 공격이 확인됐기 때문이다. 이는 ‘바나나 스쿼드(Banana Squad)’로 알려진 위협 그룹의 사례로, 이들은 67개의 악성 리포지토리를 운영하면서 수백 개의 트로이목마화된 파이썬 파일을 유포한 것으로 파악돼 보안 업계의 주목을 받고 있다.

바나나 스쿼드는 2023년 체크막스 연구진에 의해 최초 식별된 위협 그룹으로, 초기 악성 도메인인 bananasquad.ru에서 그룹명이 유래했다. 이들의 최초 캠페인에서는 2023년 4월부터 다양한 사용자명을 사용해 수백 개의 악성 패키지를 무차별적으로 배포했으며, 이러한 사실이 발견돼 패키지가 제거되기 전까지 약 75,000회 다운로드를 기록했다.

바나나스쿼드를 형상화한 일러스트 (출처=리버싱랩스 블로그)

최근 리버싱랩스(ReversingLabs)에 의해 파악된 신규 악성 캠페인에서 바나나 스쿼드는 개발자가 신뢰할 수 있는 정상 파이썬 도구로 인식하도록 유사한 이름의 가짜 깃허브 리포지토리를 67개 운영한 것으로 조사됐다. 그리고 각 리포지토리에는 트로이목마화된 파이썬 파일들이 숨겨져 있었던 것으로 파악됐다. 특히 깃허브의 UI 특성을 악용해 코드에 긴 공백 문자열을 삽입하면 악성 백도어 코드를 화면 밖으로 밀어내 시각적으로 탐지하기 어렵게 만들 수 있다는 점을 노린, 다소 원시적이지만 교묘한 수법을 사용했다.

공격자들이 운영한 것으로 파악된 깃허브 각 계정은 일반적으로 하나의 리포지토리만 호스팅했으며, 이런 점에 미뤄 악성 콘텐츠 전달을 위해 생성된 가짜 계정일 가능성이 높은 것으로 분석된다. 이들 계정은 공통적으로 테마 관련 키워드, 이모지(emoji), 고유하게 생성된 문자열이 포함된 ‘소개’ 섹션을 포함하고 있었던 것으로 확인됐다. 연구진은 이들 리포지토리의 출처를 dieserbenni.ru, 그리고 최근에는 1312services.ru 등의 악성 도메인 지표를 통해 추적했다고 밝혔다.

바나나 스쿼드는 베이스64(Base64), 헥스(Hex) 인코딩과 페르넷(Fernet) 대칭 암호화를 다층으로 적용해 리포지토리 내부의 악성 페이로드를 은폐함으로써 자동 탐지를 회피한 것으로 확인됐다. 다만 이번 캠페인은 기업이나 기관을 노린 것은 아니고 디스코드(Discord) 계정 클리너, 포트나이트 외부 치트, 틱톡 사용자명 체커, 페이팔 대량 계정 체커 등의 도구를 찾는 게이머와 개발자들을 주요 표적으로 삼은 것으로 파악됐다. 사용자가 이 코드를 설치하면 다운로더가 추가 스크립트를 가져와 엑소더스(Exodus) 암호화폐 지갑을 조작하거나, 수집된 모든 데이터를 공격자가 제어하는 외부 서버로 전송한 것으로 조사됐다.

이번 사례는 기업용 SW 공급망을 직접 노린 사례는 아니지만, 오픈소스 리포지토리를 대상으로 했다는 점에서 경각심을 높여야 한다는 게 보안 전문가들의 지적이다. 최근 깃허브를 노린 공급망 공격은 대규모 자동화 양상을 보이며 발전하고 있다. 2023년 중반부터 해커들이 타이포스쿼팅 공격을 대규모로 자동화해 수백만 개의 악성 리포지토리로 깃허브를 공격하고 있으며, 35,000개 이상의 파일에서 악성 URL이 발견되는 등 그 규모가 심각한 수준에 달하고 있다. 이 공격으로 10만 개 이상의 깃허브 리포지토리가 영향을 받았으며, 실제 수치는 수백만 개에 달할 것으로 추정된다.

리버싱랩스의 수석 악성코드 연구원 로버트 시몬스는 “npm과 PyPI 같은 오픈소스 레지스트리에 업로드되는 악성 패키지 수는 감소했지만, 깃허브 같은 플랫폼에서 활동하는 위협 행위자들의 은밀함과 정교함은 증가하고 있다”고 분석하고 “공개적으로 사용 가능한 소스 코드 리포지토리에 백도어와 트로이목마화된 코드가 더욱 널리 퍼지고 있으며, 이는 증가하는 SW 공급망 공격 벡터를 나타낸다”고 강조했다.

현재 깃허브는 식별된 모든 악성 리포지토리를 제거한 상태지만, 모방 프로젝트가 언제든지 다시 나타날 수 있다는 경고가 제기되고 있다. 깃허브는 인공지능(AI) 기술을 활용해 복제된 패키지가 플랫폼에 도달하기 전에 대부분 차단하고 있지만, 단 1%만 살아남아도 수천 개의 악성 리포지토리가 유통된다는 점에서 위험성은 항상 존재한다.

소나타입(Sonatype)의 보고서에 따르면, 전 세계적으로 오픈소스 SW 공급망 공격은 2020년 대비 2023년에 742%의 급증가세를 보일 정도로 기승을 부리고 있다. 특히 기업 코드베이스의 80% 이상이 최소 하나 이상의 오픈소스 취약점을 포함하고 있다는 점에서 각별한 주의가 필요하다. 실제 악성 npm과 PyPI 패키지들은 탐지되기 전까지 수천 번 다운로드되는 경우가 빈번하며, 오픈소스 취약점의 95%는 개발자가 직접 선택하지 않은, 간접적으로 포함되는 패키지에서 발견되고 있다. 

이와 관련해 리버싱랩스의 로버트 시몬스(Robert Simmons) 수석 악성코드 연구원은 “깃허브를 통한 공급망 공격이 기존 패키지 레지스트리 공격보다 더욱 정교해지고 있어 개발자와 기업의 각별한 주의가 필요하다”고 조언했다.

한 국내 보안 업체 개발 팀장은 “리포지토리 URL을 직접 입력하거나 북마크를 활용해 타이포스쿼팅을 방지할 수 있다. 특히 이번 사례에서도 나타났듯 단일 리포지토리만 호스팅하는 비활성 깃허브 계정은 피해야 한다. 또 코드 검토 시에는 화면 끝까지 스크롤해 긴 공백에 숨겨진 악성 코드를 확인하고, 소스 코드 비교 도구를 활용해 의심스러운 변경사항을 탐지해야 한다. 기업 환경에서는 사설 패키지 레지스트리 운영과 함께 CI/CD 파이프라인에 정적 분석 도구(SAST)를 통합하고, 외부 오픈소스 코드 도입 시 다단계 보안 검증 프로세스를 필수적으로 적용해야 한다”고 조언했다.