Axios npm 해킹, 가짜 Teams 오류 수정을 이용해 유지관리자 계정 탈취
Source: Bleeping Computer
Source:
Supply‑Chain Attack on the Axios HTTP Client
Image: Axios supply‑chain attack
What happened?
- Target: 인기 있는 Axios HTTP 클라이언트의 개발자.
- Method: 북한 위협 행위자(UNC1069)와 연계된 사회공학 캠페인.
- Outcome: 악성 버전의 Axios(
1.14.1및0.30.4)가 npm 레지스트리에 게시되어 공급망 공격이 발생함.
How the malicious packages worked
| 패키지 | 악성 페이로드 | 영향을 받는 플랫폼 |
|---|---|---|
plain-crypto-js (침해된 Axios 릴리스에 주입된 의존성) | 원격 액세스 트로이목마 (RAT) | macOS, Windows, Linux |
- 악성 버전은 ≈ 3 시간 동안 라이브 상태였으며 이후 제거됨.
- 해당 기간 동안 어느 버전이든 설치된 시스템은 침해된 것으로 간주해야 함.
Recommended actions
- 모든 자격 증명 회전 – API 키, 토큰, SSH 키 등.
- 시스템 감사 – 악성
plain-crypto-js의존성 또는 RAT 존재 여부 확인. - Axios 재설치 – 공식 npm 레지스트리 등 신뢰할 수 있는 출처에서 설치.
- 모니터링 – 영향을 받은 호스트에서 의심스러운 활동 감시.
Response from the Axios maintainers
- 모든 영향을 받은 시스템을 완전히 초기화하고 자격 증명을 재설정함.
- 향후 사고 방지를 위해 새로운 보안 제어를 도입 중.
Attribution
Google Threat Intelligence Group (GTIG)은 이번 공격을 북한 연계 그룹 UNC1069와 연결시켰음:
“GTIG는 WAVESHAPER.V2를 사용한 점을 근거로, 2018년부터 활동 중인 재정적 동기를 가진 북한 연계 위협 행위자 UNC1069에 이 활동을 귀속한다.”
— Google Cloud Blog
추가 분석 결과, 이전 UNC1069 작전과 인프라스트럭처가 겹치는 것으로 나타남.
Sources
- Hackers compromise Axios npm package to drop cross‑platform malware (BleepingComputer)
- Google Cloud Blog – North Korea threat actor targets Axios npm package
소셜 엔지니어링 공격을 목표로 함
포스트‑모템에 따르면, 침해는 몇 주 전 프로젝트의 주요 유지보수자인 Jason Saayman을 대상으로 한 맞춤형 소셜‑엔지니어링 공격을 통해 시작되었습니다.
공격자는 합법적인 회사를 가장하고, 그 회사의 브랜딩과 설립자들의 모습을 복제한 뒤, 유지보수자를 해당 회사를 가장한 Slack 워크스페이스에 초대했습니다. Saayman은 Slack 서버에 현실적인 채널, 연출된 활동, 직원 및 다른 오픈‑소스 유지보수자를 가장한 가짜 프로필이 있었다고 말합니다.
“그들은 나를 실제 Slack 워크스페이스에 초대했습니다. 이 워크스페이스는 회사의 CI에 맞게 브랜딩되고 설득력 있게 이름이 지어졌습니다,” 라고 Saayman은 포스트‑모템에 대한 댓글에서 설명했습니다.
“Slack은 매우 정교하게 설계되었습니다; 그들은 LinkedIn 게시물을 공유하는 채널을 가지고 있었고(아마도 실제 회사 계정으로 연결됐을 것입니다) 매우 설득력 있었습니다. 또한 저는 그 회사 팀의 가짜 프로필과 여러 OSS 유지보수자들의 가짜 프로필도 있었던 것으로 추정합니다.”
그 후 공격자는 다수의 인원이 포함된 것으로 보이는 Microsoft Teams 회의를 잡았습니다. 통화 중에 시스템이 오래되었다는 기술 오류가 표시되어 유지보수자에게 이를 해결하기 위해 Teams 업데이트를 설치하라고 유도했습니다. 실제로 그 “업데이트”는 RAT 악성코드였으며, 이를 통해 위협 행위자는 Saayman의 장치에 원격 접근 권한을 얻고 Axios 프로젝트의 npm 자격 증명을 탈취했습니다.
다른 유지보수자들도 유사한 소셜‑엔지니어링 공격을 보고했는데, 위협 행위자들은 가짜 Microsoft Teams SDK 업데이트를 설치하도록 유도했습니다. 이 공격은 ClickFix 공격과 유사한데, 피해자에게 가짜 오류 메시지를 보여주고 문제 해결 단계를 따라가게 하여 악성코드를 배포합니다.
이 캠페인은 Google 위협 인텔리전스 팀이 보고한 이전 작전과도 유사합니다. 그 작전에서는 북한 해커 그룹(UNC 1069)이 동일한 전술을 사용해 암호화폐 기업을 표적으로 삼았습니다. 해당 캠페인에서 위협 행위자는 백도어, 다운로더, 인포스틸러 등 추가 페이로드를 배포했으며, 이는 자격 증명, 브라우저 데이터, 세션 토큰 및 기타 민감 정보를 탈취하도록 설계되었습니다.
공격자가 인증된 세션에 접근했기 때문에 MFA 보호가 사실상 우회되어 재인증 없이 계정에 접근할 수 있었습니다.
Axios 유지보수자들은 이번 공격이 프로젝트의 소스 코드를 수정하는 형태가 아니었으며, 대신 공격자가 정상적인 릴리스에 악성 의존성을 주입했다고 확인했습니다.
Pelle Wessman의 경험
다수의 오픈‑소스 프로젝트(인기 있는 Mocha 프레임워크 포함)를 유지보수하는 Pelle Wessman은 LinkedIn에 같은 캠페인의 표적이 되었으며, 악성 코드를 설치하도록 속이기 위해 사용된 가짜 RTC 연결 오류 스크린샷을 공유했습니다.

다른 공격에서 사용된 가짜 RTC 연결 오류 메시지
출처: Pelle Wessman
Wessman이 앱 설치를 거부하자, 위협 행위자는 그에게 curl 명령을 실행하도록 설득하려 했습니다.
“제가 앱을 실행하지 않겠다는 것이 명확해지고, 웹사이트와 채팅 앱에서 여러 차례 대화를 나눈 뒤, 그들은 마지막으로 절박하게
curl명령을 실행해 무언가를 다운로드하고 실행하도록 시도했습니다. 제가 거부하자 그들은 사라졌고 모든 대화를 삭제했습니다,” 라고 Wessman은 이슈 댓글에서 설명했습니다.
Source: es/10636#issuecomment-4179392635).
Socket의 조사 결과
사이버보안 기업 Socket은 이것이 인기 있는 Node.js 프로젝트 유지보수자를 대상으로 한 조직적인 캠페인이라고 보고했습니다. 널리 사용되는 패키지 유지보수자와 Node.js 핵심 기여자를 포함한 여러 개발자들이 공격자가 운영하는 Slack 워크스페이스 초대와 유사한 접근 메시지를 받았다고 보고했습니다.
Socket은 이러한 유지보수자들이 주당 수십억 건의 다운로드를 기록하는 패키지를 담당하고 있어, 위협 행위자들이 높은 영향력을 가진 프로젝트에 집중했음을 보여준다고 언급했습니다.
“Axios 침해에 대한 초기 분석, 숨겨진 파급 효과에 대한 심층 조사, 그리고 유지보수자가 사회공학 공격임을 확인한 보고서를 발표한 이후, Node.js 생태계 전반에 걸쳐 유지보수자들이 같은 사회공학 캠페인의 표적이 되었다는 보고가 속속 들어오고 있습니다.”라고 Socket은 설명했습니다.
“이 계정들은 npm 레지스트리에서 가장 널리 의존되는 패키지와 Node.js 핵심 자체에까지 퍼져 있으며, 이를 통해 Axios가 단일 표적이 아니라 고신뢰, 고영향 오픈소스 유지보수자를 겨냥한 조직적이고 확장 가능한 공격 패턴의 일부였음이 확인됩니다.”
Socket은 이 캠페인이 일관된 패턴을 따랐다고 밝혔습니다:
- 초기 접촉 – LinkedIn이나 Slack과 같은 플랫폼을 통해.
- 초대 – 정식 기업 환경을 모방한 사적 또는 반사적 워크스페이스로.
- 관계 구축 – 연출된 활동과 가짜 직원 프로필을 통해.
- 영상 통화 – Microsoft Teams 등을 가장한 사이트를 통해 진행.
- 오류 표시 – 대상에게 “네이티브” 데스크톱 소프트웨어를 설치하거나 문제를 해결하기 위한 명령을 실행하도록 유도.
동일한 플레이북이 동일 시기에 모든 표적에게 사용된 점은 이것이 조직적인 캠페인이며, 개별적인 사건들의 연속이 아니라는 것을 보여줍니다.
Automated Pentesting Covers Only 1 of 6 Surfaces
- Automated pentesting shows that a path exists.
- BAS (Breach and Attack Simulation) confirms whether your controls actually stop that path.
Most teams run one without the other.
What the whitepaper provides
- A mapping of the six validation surfaces.
- Identification of where current coverage ends.
- Three diagnostic questions to ask when evaluating any security tool.