한국정보기술진흥원
한국정보기술신문
thumbnail

정보기술 · 정보보안 ·

GitLab, 대규모 NPM 공급망 공격 발견...수백 개 악성 패키지 유포

발행일
읽는 시간1분 58초

GitLab이 NPM 생태계를 겨냥한 대규모 공급망 공격을 발견했다. 공격자들은 합법적 패키지를 모방한 악성 코드를 유포했다.

[한국정보기술신문] GitLab 보안팀이 NPM(Node Package Manager) 생태계를 표적으로 한 광범위한 공급망 공격을 탐지했다고 밝혔다. 이번 공격은 개발자들이 널리 사용하는 오픈소스 패키지 저장소인 NPM을 악용해 악성 코드를 배포한 것으로 확인됐다.

GitLab의 보안 연구팀에 따르면, 공격자들은 합법적인 NPM 패키지와 유사한 이름을 가진 수백 개의 악성 패키지를 업로드했다. 이러한 타이포스쿼팅(typosquatting) 기법은 개발자들의 오타나 실수를 노린 것으로, 정상 패키지명과 한두 글자만 다른 이름을 사용해 설치를 유도했다.

공격 방식과 규모

이번 공격의 특징은 자동화된 대규모 패키지 생성이다. 공격자들은 스크립트를 활용해 단시간 내에 수백 개의 악성 패키지를 생성하고 NPM 레지스트리에 게시했다. 각 패키지에는 악성 코드가 포함돼 있었으며, 설치 시 자동으로 실행되도록 설계됐다.

악성 패키지들은 주로 사용자의 환경 변수, 인증 토큰, SSH 키 등 민감한 정보를 탈취하는 기능을 담고 있었다. 일부 패키지는 원격 서버로 데이터를 전송하거나 추가 악성 코드를 다운로드하는 백도어 기능도 포함하고 있었던 것으로 분석됐다.

보안 대응과 조치

GitLab은 이번 공격을 탐지한 즉시 NPM 운영팀에 보고했으며, 확인된 악성 패키지들은 신속하게 제거됐다. NPM 측은 공격과 관련된 계정들을 차단하고 유사한 패턴의 패키지 업로드를 모니터링하고 있다고 밝혔다.

보안 전문가들은 이번 사건이 오픈소스 생태계의 취약성을 다시 한번 드러낸 사례라고 지적했다. 누구나 패키지를 배포할 수 있는 NPM의 개방성이 장점이자 보안 위협의 통로가 될 수 있다는 것이다.

개발자 보호 방안

GitLab은 개발자들에게 패키지 설치 전 이름을 정확히 확인하고, 공식 문서나 저장소를 통해 정확한 패키지명을 확인할 것을 권고했다. 또한 패키지의 다운로드 수, 유지보수 상태, 커뮤니티 평가 등을 참고해 신뢰성을 검증해야 한다고 강조했다.

보안 도구 활용도 중요하다. NPM Audit, Snyk, Socket 같은 보안 스캐닝 도구를 사용하면 알려진 취약점이나 악성 패키지를 사전에 탐지할 수 있다. 특히 CI/CD 파이프라인에 자동화된 보안 검사를 통합하면 악성 코드 유입을 효과적으로 차단할 수 있다.

공급망 보안의 중요성

이번 사건은 소프트웨어 공급망 보안의 중요성을 재확인시켰다. 최근 몇 년간 Log4j, SolarWinds 등 공급망을 통한 대규모 보안 사고가 빈번히 발생하면서 업계의 경각심이 높아지고 있다.

NPM 생태계만 해도 매주 수천 개의 새로운 패키지가 등록되고 있어 모든 패키지를 수동으로 검증하기는 사실상 불가능하다. 이에 따라 자동화된 보안 검증 시스템과 커뮤니티 기반의 모니터링이 더욱 중요해지고 있다.

업계에서는 패키지 서명, 2단계 인증 강화, 신규 계정의 패키지 게시 제한 등 다양한 보안 강화 방안을 논의하고 있다. 일부 전문가들은 패키지 게시 전 최소한의 검증 절차를 도입해야 한다고 주장하고 있다.

GitLab 측은 이번 발견이 지속적인 모니터링과 보안 연구의 결과라며, 앞으로도 오픈소스 생태계의 안전성 확보를 위해 노력하겠다고 밝혔다. 개발자 커뮤니티 역시 의심스러운 패키지를 발견할 경우 즉시 신고할 것을 당부했다.

한국정보기술신문 정보보안분과 안서진 기자 news@kitpa.org