NPM 공격 심화 자격 증명 탈취 비상

Share

NPM 공급망 공격: 타이포스쿼팅에서 자격 증명 탈취까지, 진화하는 위협과 대응 전략

서론

과거 NPM(Node Package Manager) 생태계의 보안 위협은 주로 타이포스쿼팅, 즉 의도적인 오타를 활용한 공격에 집중되었습니다. 하지만 최근 NPM을 겨냥한 공격은 더욱 조직적이고 정교해졌으며, 개발자의 자격 증명을 탈취하여 CI/CD 파이프라인을 장악하고, 소프트웨어 공급망 전체를 위협하는 수준으로 진화했습니다. 이 글에서는 NPM 공급망 공격의 진화 과정과 공격 기법, 그리고 효과적인 대응 전략을 보안 담당자의 관점에서 심층적으로 분석합니다.

NPM: 매력적인 공격 대상

NPM은 세계 최대 규모의 자바스크립트 패키지 저장소이자 소프트웨어 배포의 핵심 통제 지점입니다. 따라서 공격자에게는 매우 매력적인 대상입니다. 단 하나의 자격 증명 탈취로 수백만 개의 하위 애플리케이션에 영향을 미칠 수 있는 '마스터 키'를 얻을 수 있기 때문입니다. 기업의 93%가 오픈 소스 소프트웨어를 사용하고 있으며, NPM은 자바스크립트 생태계에서 가장 큰 패키지 레지스트리이므로, 대부분의 기업이 직간접적으로 NPM에 의존하고 있습니다.

구조적 취약점과 소셜 엔지니어링

현대적인 개발 파이프라인의 보안 구조에는 내재된 취약점이 존재합니다. 개별 오픈 소스 유지관리자는 기업 보안팀 수준의 자원을 갖추지 못한 경우가 많아 소셜 엔지니어링 공격에 취약합니다. CI/CD 러너와 개발자 머신은 환경 변수나 설정 파일에 저장된 장기 유효 비밀 정보를 상시 처리하고 있고, 이런 정보는 악성코드에 의해 쉽게 탈취될 수 있습니다. 또한 빌드 시스템은 보안 가시성보다 속도와 안정성을 우선하는 경우가 많아 공격자가 장기간 탐지되지 않은 채 활동할 수 있는 환경을 조성합니다.

타이포스쿼팅에서 자격 증명 탈취로

과거 타이포스쿼팅은 NPM 위협 모델의 대표적인 공격 기법이었습니다. 공격자는 인기 라이브러리와 거의 구분되지 않는 이름의 패키지를 배포하여 개발자의 실수를 유도했습니다. 하지만 2025년을 기점으로 공격자들은 실제 패키지를 직접 침해하는 방식으로 전환했습니다. NPM 자체를 사칭한 피싱 캠페인을 통해 유지관리자의 자격 증명을 탈취하고, 이를 이용하여 정상 업데이트처럼 보이는 트로이목마 버전을 배포하는 것입니다.

개발 환경을 노리는 공격

최근 NPM 공격은 개발자 개인의 노트북보다 CI/CD 환경 내부에서 활성화되는 사례가 늘고 있습니다. 사후 설치 스크립트를 통해 깃허브 액션이나 깃랩 CI 같은 자동화 환경에서 배포 토큰을 탈취하거나, 빌드 산출물을 변조하고 피해자의 신원을 이용해 추가 악성 릴리즈를 배포하는 것이 가능해졌습니다. 이제 개발자 환경과 CI 러너는 일반 사용자 단말보다 훨씬 더 가치 있는 공격 대상이 되었습니다.

고도화되는 회피 기법

방어자 측이 의심스러운 패키지를 식별하는 데 능숙해지자, 공격자 역시 이에 맞춰 빠르게 적응하고 있습니다. 눈에 보이지 않는 유니코드 문자를 활용해 의존성을 숨기거나, 실행 환경을 확인한 뒤에야 실제 페이로드를 내려받는 다단계 로더, 차단을 피하기 위해 블록체인에 C2 정보를 저장하는 방식 등이 사용됩니다. 또한 웜과 유사한 행위를 통해 탈취한 자격 증명을 활용해 대규모로 추가 악성 패키지를 배포합니다.

효과적인 대응 전략

NPM 공급망 공격에 효과적으로 대응하기 위해서는 기존의 코드 스캐닝 중심의 소프트웨어 공급망 보안 방식에서 벗어나 실행 시점 분석과 이상 행위 탐지에 집중해야 합니다. CI 러너를 운영 환경의 핵심 자산으로 취급하고 배포 토큰의 회전 주기와 권한 범위를 엄격히 관리해야 합니다. 필요하지 않은 라이프사이클 스크립트를 비활성화하고, 의존성을 변경 불가능한 버전으로 고정하는 조치도 중요합니다. 기업은 애플리케이션 보안 예산 가운데 공급망 보안에 할당하는 비중을 늘리고, CI/CD 파이프라인 보안을 최우선 위험 요소로 인식해야 합니다.

맺음말

NPM 공급망 공격은 더 이상 단순한 오타 실수를 이용한 공격이 아닙니다. 조직적이고 지능적인 공격자들이 개발 환경과 CI/CD 파이프라인을 노리고 있으며, 그 피해는 걷잡을 수 없이 커질 수 있습니다. 기업은 NPM 공급망 보안의 중요성을 인식하고, 변화하는 위협에 대응할 수 있는 체계를 구축해야 합니다.

이것도 좋아하실 수 있습니다...