GitHub 악성코드 캠페인: 트로이 목마를 배포하는 10,000개의 저장소
트로이 목마를 배포하는 10,000개의 GitHub 저장소
보안 연구원이 약 10,000개의 저장소가 연관된 대규모 악성코드 배포 캠페인을 GitHub에서 확인했습니다. 이 저장소들은 포크가 아니라 기존 프로젝트를 독립적으로 복제한 것으로, README 파일에 연결된 zip 아카이브를 통해 사용자를 속여 트로이 목마를 다운로드하도록 설계되었습니다.
악성코드 배포 패턴
이 캠페인은 보안 탐지를 우회하고 검색 엔진 결과에서 가시성을 높이기 위해 정교한 패턴을 사용합니다. 악성 저장소의 확인된 특징은 다음과 같습니다:
- 복제된 콘텐츠: 저장소가 정식 프로젝트의 모든 커밋과 기여자를 복사해 신뢰성을 구축하고 확립된 것처럼 보이게 합니다.
- 빈번한 커밋 덮어쓰기: 공격자는 몇 시간마다 동일한 커밋을 삭제하고 다시 푸시합니다. 이 커밋은 일반적으로 악성 zip 아카이브에 대한 링크가 포함된
README.md파일만 업데이트합니다. - SEO 조작: 새롭거나 저활동 저장소를 복제하고 인기 태그에 추가함으로써, 가짜 프로젝트가 검색 엔진(예: Bing) 및 GitHub 태그 검색 결과 상단에 나타나도록 합니다.
- 일관된 명명: 많은 악성 커밋의 제목이 "Update README.md"입니다.
악성 페이로드 구성
각 악성 zip 아카이브에는 일반적으로 다음 네 가지 파일이 포함됩니다:
Application.cmd또는Launcher.cmdloader.exe또는luajit.exe(또는 다른 실행 파일 이름)- 무작위 이름의
.cso또는.txt파일 lua51.dll
직접 링크를 VirusTotal에 제출하면 탐지 결과가 0일 수 있지만, 실제 zip 파일을 제출하면 트로이 목마가 존재함을 확인할 수 있습니다.
탐지 방법론
GitHub API 제한이 시간당 5,000 요청이므로, 연구자는 gharchive를 사용해 GitHub 이벤트 아카이브를 다운로드했습니다. 탐지 스크립트는 24시간마다 1~24번 업데이트된 저장소를 필터링했으며, 특히 README만 수정되고 커밋이 봇이 아닌 사용자가 푸시한 경우에 주목했습니다.
이 과정은 5일 동안 1,600만 건의 커밋 푸시를 40,000개의 후보 저장소로 축소했으며, 최종적으로 정확히 악성 패턴과 일치하는 10,000개를 식별했습니다.
기술 분석 및 가설
잠재적 목표
악성코드 분석 결과 주요 목표는 암호화폐 절도인 것으로 보입니다. VirusTotal "Network Communication" 로그를 보고한 커뮤니티 구성원은 악성코드가 IP 정보를 얻기 위해 GET 요청을, Polygon RPC 노드(drpc)에 POST 요청을, 공격자의 명령·제어 서버에 POST 요청을 수행한다는 점을 언급했습니다.
회피 전술
연구자는 빈번한 커밋 덮어쓰기가 GitHub 보안 알고리즘을 우회하기 위한 전술이라고 가정합니다. 가짜 기여자와 커밋 기록을 유지함으로써, 공격자는 코드 감사를 꺼리게 만들고 바이너리 검증을 방해하는 정당성의 외관을 조성합니다.
커뮤니티 인사이트 및 반론
기술 사용자들 간 토론에서는 GitHub을 통한 소프트웨어 배포의 여러 시스템적 취약점이 강조되었습니다:
"오픈소스 소프트웨어는 소스가 공개돼 있기 때문에 악의적인 행동을 할 수 없다는 원칙은 더 이상 통하지 않는다... 코드를 검토할 시간도 없고, 바이너리와 일치하는지도 확인할 여유가 없다."
다른 사용자들은 이것이 고립된 사건이 아니며, 이전에 "SmartLoader"와 "StealC"와 같은 캠페인에서도 유사한 복제 기법으로 악성코드를 전달한 사례가 있었다고 지적했습니다. 또한 Bing과 같은 검색 엔진이 Google에 비해 첫 페이지에 피싱 및 오타 스쿼팅 결과를 더 많이 반환할 수 있다는 의견도 있었습니다.
현재 상황
연구 결과와 저장소 목록이 공개된 이후, GitHub은 확인된 악성 저장소를 삭제하기 시작했습니다. 연구자는 탐지 스크립트와 전체 영향을 받은 저장소 목록을 "Git Malware Finder"라는 공개 GitHub 저장소에 제공했습니다.
요약: 보안 연구자는 README 파일의 zip 아카이브를 통해 트로이 목마를 배포하는 10,000개의 복제된 GitHub 저장소를 이용한 대규모 캠페인을 발견했습니다.
제목: GitHub 악성코드 캠페인: 트로이 목마를 배포하는 10,000개의 저장소