GitLab 위협 인텔리 (새 탭에서 열림)
GitLab 위협 인텔리전스 팀은 북한 연계 위협 그룹이 수행하는 '전염성 인터뷰(Contagious Interview)'와 가짜 IT 개발자 취업 캠페인의 세부 수법을 공개하고, 이들이 GitLab 플랫폼을 어떻게 악용했는지 분석했습니다. 북한 해커들은 채용 담당자로 위장해 개발자들에게 악성 코드가 포함된 기술 과제를 실행하도록 유도하며, 이를 통해 자금 탈취와 자격 증명 절취를 시도하고 있습니다. GitLab은 2025년 한 해 동안 130개 이상의 관련 계정을 차단했으며, 이들의 인프라 분석을 통해 확보한 지표를 공유하여 보안 커뮤니티의 대응 역량 강화를 촉구했습니다.
전염성 인터뷰(Contagious Interview)의 실체
- 공격 방식: 해커들이 구인 구직 플랫폼에서 채용 담당자로 위장해 개발자에게 접근한 뒤, 기술 면접을 빙자하여 악성 코드가 포함된 프로젝트를 내려받아 실행하도록 유도합니다.
- 주요 악성코드: 주로 BeaverTail과 Ottercookie로 알려진 JavaScript 기반의 악성코드 패밀리가 사용됩니다.
- 피해 결과: 개발자의 장비에 대한 원격 제어 권한을 획득하고, 암호화폐 지갑 정보나 로그인 자격 증명을 탈취하여 금융 자산 절도 및 내부 네트워크 침투의 발판으로 삼습니다.
2025년 캠페인 추세 및 주요 특징
- 공격 규모: 2025년 한 해 동안 총 131개의 북한 연계 위협 계정이 차단되었으며, 특히 9월에 공격 활동이 정점에 달했습니다.
- 인프라 활용: 공격자의 90%가 Gmail 계정을 사용해 GitLab에 가입했으며, 탐지를 피하고자 소비자용 VPN이나 전용 VPS 인프라를 통해 접속했습니다.
- 타겟 산업: 주로 암호화폐, 금융, 부동산 분야의 개발자를 타겟팅했으나, 최근에는 AI 및 게임 산업으로도 범위를 넓히고 있습니다.
- 외부 서비스 악용: 악성 페이로드를 GitLab에 직접 저장하지 않고, Vercel과 같은 합법적인 호스팅 서비스나 커스텀 도메인을 활용해 외부에서 불러오는 방식을 취했습니다.
악성 코드 삽입 및 은닉 기술
- 환경 변수 위장:
.env파일 내에 악성 페이로드 URL과 헤더 값을 Base64로 인코딩하여 일반적인 설정값처럼 보이게 위장합니다. - 동적 코드 실행:
Function.constructor를 사용하여 문자열 형태의 원격 콘텐츠를 실행 가능한 코드로 로드하는 커스텀 에러 핸들러 기법을 사용합니다. - 최신 변종 기법: VS Code 작업을 통한 악성 쉘 명령 실행, 가짜 폰트 파일 내에 숨겨진 바이너리 데이터 디코딩, 프로젝트 실행 직전에 생성된 악성 NPM 종속성 활용 등의 수법이 관찰되었습니다.
가짜 IT 노동자 운영 사례
- 신분 위조 파이프라인: 최소 135개의 가짜 페르소나를 생성하는 자동화된 파이프라인을 구축하여 전문적인 인맥을 형성하고 구인 제안을 수집했습니다.
- 신분증 조작: 도용된 미국 시민권자의 신분증에 자신의 사진을 합성하여 21개의 고유한 가짜 신분을 관리하는 사례가 발견되었습니다.
- 글로벌 거점: 러시아 모스크바 등 해외 거점에서 활동하며 미국 내 조력자를 모집하고, 제재를 피하면서 미국 기업으로부터 수익을 창출하고 있습니다.
개발자들은 신뢰할 수 없는 출처에서 제공된 기술 면접용 코드 프로젝트를 실행할 때 각별히 주의해야 합니다. 특히 .env 파일에 인코딩된 의심스러운 문자열이 있거나, 프로젝트 실행 시 외부 URL에서 콘텐츠를 불러오는 로더가 포함되어 있는지 철저히 검증하는 보안 습관이 필요합니다.