Axios에 대해서 아는가? Axios는 현재 웹 분야에서 4월 2주 기준 다운로드 8300만을 넘길 정도로 굉장히 인기있는 패키지다.

이 Axios는 AI들도 쓰는만큼 사실상 웹 분야에서 정형화 되어있는 라이브러리인데, 최근 이 라이브러리가 규모 있는 해킹을 당해서
많은 개발자들의 고통을 불러 일으켰다. 뭐가 문제였을까?
2026년 3월 31일 새벽에 Axios의 최고 관리자인 jasonsaayman(이하, 제이슨)이 해킹당하고,
해킹 프로그램이 담겨있는 1.14.1, 0.30.4 버전이 배포되었다.
총관리자는 현지 시간 당시 새벽이어서 숙면을 취하고 있었고, 그 사이에 몇명이 이슈를 남겼지만, 그 글들은 곧 삭제를 당했다.
사건은 링크드인에서 시작되었다. Axios의 총관리자인 jasonsaayman이, 링크드인에서 회사의 투자 제안 미팅을 받았다.
그리고 그 회사의 슬랙에 초대받았고, 그 회사는 굉장히 조직적으로 꾸며져있어서 총괄은 의심을 거두었다. 그리고 MS Temas를 통해 미팅을 진행했다.
하지만 미팅 당시 무언의 이유로 미팅이 잘 진행되지 않았고, 직원 한명이 최신 버전이 아니라서 그런거 같다며, 다른 링크를 주었다.
당연하게도 이 링크는 악성 프로그램 설치 링크였으며, 이후 제이슨이 숙면을 취하자 본격적으로 시작되었다.

당시 상황을 설명한 글이다
해커들은 crypto-js를 모방하여 패키지를 배포하였다.

crypto-js는 암호화 기법을 제공하는 패키지로 js 서버에서 암호화를 하는 라이브러리다.
근데 이런 패키지들의 공통적인 문제점은 내가 필요없는 기능까지 사용해서, 불필요한 무게가 있다는거다.
그래서 해커들은 사전 작업으로 plain-crypto-js를 배포했다. (현재 제거된 상태)

이 라이브러리가 Axios를 해킹 패키지로 만든 주범이다.
난 이 패키지에 대해 정확히는 모르기 때문에 간단하게 설명하자면,
npm 패키지는 설치 시 postinstall 같은 lifecycle script가 실행되는데, 이때 해커가 plain-crtypo-js를 axios에 의존성을 걸어놔서 배포를 진행하고, 이를 통해 악성 코드가 실행되는 것으로 보인다.
그리고 설치가 진행된 package.json 에서 본인을 제거한 사본을 집어넣어 흔적을 지운다.
그러면 보안 관리자들은 뚫리는거를 해결 할 수는 있지만, 어디서 원인이 생긴지 알기 어렵다.
여기까지 봤을때 이러한 의문점이 들수도 있다.
npm에서 해킹 프로그램이 배포되게 냅두나?
원래 npm에서 해킹 프로그램을 배포하면 바로 막히지 않을까?
이 해커들은 똑똑한게 첫 버전을 4.2.0 버전으로 crypto-js의 버전과 동일하게 배포하고 진짜 경량화 된 패키지로 개발해서 npm의 보안을 뚫고 무사히 배포가 된거다.
그리고 문제의 버전인 4.2.1이 배포되었다.
StepSecurity라는 세계적인 보안 이슈 제보 프로그램에서 Axios가 해킹당했다는 글이 올라온다.

그리고 이를 보거나, 실제로 피해를 당한 사람들이 깃허브에 글을 계속 남기지만 자꾸 삭제당한다. 그 이유는 위에서 말했듯이 총관리자의 계정이 해킹당했기 때문이다
하지만 딱 한 이슈가 살아남았다.

ashiskurmi님이 남긴 이슈이다. 위에서 설명한것처럼 axios 1.14.1 취약 패키지가 배포되었고 이를 제보하였다.
그리고 Axios의 부관리자인 DigitalBrainJS가 이러한 답변을 남긴다.

제이슨이 현재 답변이 없다. 이 이슈가 몇번 남겨졌는데 제이슨이 계속 이슈를 닫고, 슬랙에 응답도 없다.
쎄하다. 뭔가 좀 이상한걸 부관리자도 느끼고 있다.
그래서 다른 유저들이 일단 "제이슨의 활동을 중지시키는건 어떠냐?" 라고 하였지만 제이슨이 총괄이어서 이 방법은 소용이 없었고 많은 개발자들의 고통의 아우성이 지속되었다.

(당시 개발자 중 하나가 남긴 글이다.)

그때 총괄인 제이슨이 등장했다! 당시 현재시간으로 새벽 5시여서, 연락이 늦었다는 글이다.
그리고 제이슨은 즉시 보안 업데이트를 적용하고 UTC 기준 3월 31일 오전 12시 21분 ~ 오전 3시 29분까지 약 3시간동안 일어난 보안 문제를 무사히 대처했다.
우선 위에서 설명한 가짜 투자사가 제공한 해킹 링크를 통해 해킹이 되었다.
그리고 해커들은 제이슨의 계정에 침범하였다.
근데 이러한 의문점이 들 수도 있다.
Axios의 최고 관리자인 제이슨이 2단계 인증 설정을 안했다고?
안타깝게도 제이슨도 2단계 인증을 설정했었다. 근데 문제는 제이슨의 컴퓨터에 옛날 토큰이 남아있었던것,
심지어 이 토큰은 모든 권한을 우회할 수 있는 토큰이어서 이로 인해 너무나도 손쉽게 뚫렸던것이다...

북한의 해커 조직 중 하나인 UNC1069라는 조직이다.
이 조직은 전에도 암호화폐를 해킹할려고 한 시도가 있었으며, 이번엔 Axios를 해킹했다고 기정사실화 되어있다.
무작정 의심하긴 이르지 않냐고?

간단히 요약하자면, 암호화폐 해킹때 UNC1069가 시도한 IP와 이 IP가 일치하다는것이다.
물론 100% UNC1069가 한 짓이다! 라고 확신할 순 없지만, 여러 정황상 해당 조직의 소행일 가능성이 높다고 분석되고 있다
솔직히 이번엔 Axios의 규모와는 알맞지 않은 실수로 인해 발생했다 본다.
외부 링크를 막 클릭한것도 문젠데, 컴퓨터에 모든 권한 우회 토큰이 있었으니.. 물론 투자사와 미팅을 해야하는데
갑자기 문제가 생기면 얼마나 멘탈이 나가겠는가. 제이슨의 마음도 이해한다.
대처가 그리 늦었던것도 아니고 약 3시간이면 굉장히 빠른 대처였다고 본다. 그리고 제이슨 이외에도 많은 개발자들이 이 Axios의 보안에 적극적으로 기여하고 있다.

이번 패키지는 오픈소스여서 오히려 다행이었다 생각한다. axios가 오픈 소스가 아니었다면, 많은 개발자들이 이슈를 빠르게 파악할 수 있었을까?
Axios에 개발자들이 지속적으로 이슈를 남겨, 부관리자가 확인하였고 이로 인해 발빠르게 해결된게 아닐까?
앞으로의 오픈 소스들에도 이러한 지속적인 소통을 통한 개선이 잘 되었으면 좋겠다.
긴 글 읽어주셔서 감사하며, 글에 오류가 있으면 댓글로 남겨주시면 개선하겠습니다. 감사합니다.
참고 자료