NPM 사용 중인 개발자 노리는 가짜 패키지

NPM 사용 중인 개발자 노리는 가짜 패키지
Photo by Patrick Martin / Unsplash
💡
Editor's Pick
- 유명 왓츠앱의 비공식 API인 베일리즈
- 이 베일리즈의 포트 중 하나로 위장된 로터스베일
- 로터스베일, 사실은 각종 민감 정보 훔치는 멀웨어

악성 패키지가 공공 리포지터리인 NPM에서 발견됐다. 크리덴셜 및 각종 데이터를 훔치는 기능을 내포하고 있는 이 패키지의 이름은 로터스베일(Lotusbail)이며, 이미 널리 사용되고 있는 유명 패키지인 베일리즈(Baileys)의 포크다. 베일리즈는 ‘세계의 카카오톡’인 왓츠앱과 관련된 비공식 API 라이브러리라는 점 때문에 파급력이 크다고 할 수 있다.

베일리즈와 로터스베일

로터스베일을 먼저 발견한 보안 기업 코이시큐리티(Koi Security)는 “베일리즈는 인기가 많은 편인데다가 원래 포크가 많기도 해서 개발자들이 ‘로터스베일 포크’에 대한 경계심이 그리 높지 않다”고 설명한다. “또한 왓츠앱이 공식 API를 엄격해 통제하기도 합니다. 비공식 클라이언트는 자주 차단하고 프로토콜을 자주 변경하기도 하지요. 그래서 개발자들은 이런 조치들을 피하기 위해 포크를 자주 만드는 편입니다. 로터스베일도 그런 포크 중 하나라고 받아들일 수밖에 없는 맥락이지요.”

이런 ‘숨기 좋은 환경’ 덕분인지 로터스베일은 이미 6개월 넘게 배포돼 왔다고 코이시큐리티는 설명한다. “그 기간 동안 5만6천 회 이상 다운로드 되었습니다. 왓츠앱 메시지의 송수신을 지원하는 기능을 가지고 있으며, 모든 왓츠앱 메시지들이 제일 먼저 이 패키지들을 통과하도록 되어 있습니다. 이러한 구조 덕분에 공격자는 정보를 은밀하게 수집할 수 있습니다.”

은밀히 정보를 빼돌리는 로터스베일이지만, 그런 악성 기능만 가지고 있는 건 아니다. 정상적으로 작동하는 왓츠앱 API로서의 기능들도 탑재돼 있다. 그래서 개발자들은 더더욱 의심하기가 힘들다고 코이시큐리티는 강조한다. “로터스베일은 베일리즈의 포크인 척 흉내만 내지 않습니다. 실제로 베일리즈를 기반으로 만들어져 있습니다.”

또한 로터스베일은 훔친 데이터를 RSA 알고리즘으로 암호화 하는 과정부터 진행한다. 게다가 로터스베일과 연결돼 있는 서버의 정보는 난독화 되어 있기도 하다. “이런 장치들도 로터스베일에 수상한 장치들이 있다는 걸 숨기는 데 큰 역할을 합니다.”

로터스베일에 당하면 어떤 피해 입나?

로터스베일에 당하면 무슨 일이 일어날까? 먼저 로터스베일이 NPM 패키지로서 유포됐다는 건, 피해자가 대부분 개발자라는 의미다. 개발자가 사용하는 왓츠앱 메시지를 중간에서 가로챌 수 있는 로터스베일에 감염될 경우, 개발과 관련된 여러 민감 정보가 공격자의 손에 넘어갈 수밖에 없다. 소프트웨어가 중시되는 시기에 개발자가 다루는 정보의 중요도가 매우 높다는 걸 감안하면, 이는 중대한 피해가 아닐 수 없다.

“하지만 가장 심각한 건 공격자가 피해자의 왓츠앱 계정을 완전히 탈취할 수 있게 된다는 겁니다. 큐알코드를 통해 사용자의 왓츠앱 계정과 장비가 페어링 되는 게 왓츠앱의 특성 중 하나인데, 로터스베일이 이 과정을 공략하기도 합니다. 즉, 공격자가 자신이 지정한 장비를 통해 아주 자연스럽게 피해자 계정으로 로그인 할 수 있게 된다는 뜻이지요.” 코이 측의 설명이다.

이는 공격자가 피해자의 모든 과거 메시지를 읽을 수 있게 될 뿐만 아니라, 피해자가 주고 받는 모든 대화를 실시간으로 파악하는 것도 가능하다는 뜻이 된다. 왓츠앱을 통해 교환되는 음성, 영상, 이미지 파일들 모두 가로챌 수 있다. 연락처 정보에 접근하는 것도 가능하다. 사실상 왓츠앱 계정 소유권을 피해자와 공격자가 공유하는 것과 같은 상태가 된다고 결론을 내릴 수 있다.

왓츠앱 삭제하면 되나?

로터스베일의 진짜 무서운 점은 왓츠앱을 삭제해도 공격이 끝나지 않는다는 것이라고 코이시큐리티는 경고한다. “왓츠앱이 뭔가 이상하게 작동한다는 걸 눈치 챌 수도 있습니다. 상황이 심각하다고 느낄 수도 있고, 심지어 로터스베일의 존재를 파악해 패키지를 삭제할 수도 있습니다. 하지만 그렇다고 해서 상황이 종료되는 건 아닙니다. 공격자가 이미 자신의 장비를 통해 피해자 왓츠앱에 로그인을 해봤다면, 그 로그인 상태가 유지되거든요. 피해자가 자신의 왓츠앱 설정에 들어가 수동으로 모든 기계들의 로그인 현황을 확인한 뒤 일일이 로그아웃 하기 전까지는요.”

그렇기 때문에 뭔가 이상하다고 느낀 왓츠앱 사용자라면 제일 먼저 왓츠앱 모바일 앱에서 설정으로 들어가 연결된 모든 기기를 하나하나 클릭해 해제하는 작업부터 해야 한다. 그런 후에 로터스베일 패키지를 삭제하거나, 정 의심스러우면 기기 자체를 초기화 하는 것도 나쁘지 않다. 그런 후 왓츠앱을 다시 설치해 사용하는 편이 안전하다.

“기존의 보안 방법론으로는 로터스베일을 미리 잡아내지 못합니다. 예를 들어 정적 분석의 경우, 로터스베일이 정상적인 왓츠앱 API로서 기능을 하기 때문에 악성 여부를 판단하지 못합니다. 평판 조회라는 기법의 경우, 이미 로터스베일이 5만회 이상 다운로드 됐기 때문에 신뢰할 가능성이 높습니다. 그러므로 새로운 탐지 기법을 적용해야만 위험을 막을 수 있습니다.”

코이시큐리티가 말하는 ‘새로운 탐지 기법’이란, 행위 기반 분석이다. “패키지가 런타임 동안 실제로 무엇을 하는지 파악하는 게 더 중요합니다. 동적 분석을 해야 한다는 의미입니다.”

개발자들, 안전하게 NPM 사용하려면

이번 캠페인의 핵심은 개발자들이 로터스베일을 보고 수상함을 느끼기 힘들다는 데에 있다. 그렇다고 이런 악성 패키지의 존재 때문에 NPM을 사용하지 않을 수도 없는 일이다. 앞으로도 NPM을 꾸준히 이용해야 하는 개발자들은 어떤 것을 염두에 두어야 할까?

“유명 라이브러리의 포크라고 해서 신뢰하면 안 됩니다. 오히려 개발자들의 기본 디폴트 마인드는 ‘의심한다’로 조정되어야 합니다. 실제로 공격자들은 악성 요소가 최대한 눈에 덜 띄게 하기 위해 포크를 많이 만들어 활용합니다. 포크는 기본적으로 의심하면서 접근하는 게 맞습니다. 다운로드 수가 충분하다고 해서 신뢰하는 것도 위험합니다. 반드시 분리된 환경에서 다운로드 된 패키지를 ‘동적 분석’으로 파악한 뒤에 사용하는 것을 권합니다.”🆃🆃🅔

by 문가용 기자(anotherphase@thetechedge.ai)


NPM 패키지에서 악성 웜 빠르게 퍼지고 있어
💡Editor’s Pick - 9월 중순에 갑자기 등장한 웜 - 자가 증식으로 빠르게 퍼지며 비밀 탈취 및 공개 - 개발자들에게 경고하는 속도보다 확산 속도 더 빨라 새로운 컴퓨터 웜이 NPM에서 발견됐다. 누군가 개발자들을 노린 공급망 공격을 시도한 것으로 보인다. 보안 업체 리버싱랩스(ReversingLabs)가 제일 먼저 발견해 세상에 알렸다. “웜의 이름은
매주 수십억 회 다운로드 되는 NPM 패키지 침해되다
💡Editor’s Pick - 유명 NPM 계정 침해한 공격자 - 침해 후 수십억 회 씩 다운로드 되던 패키지 오염시켜 - 다행히 5분만에 탐지돼 막혔으나 위험은 끝나지 않아 어쩌면 최악의 공급망 사건이 될 뻔한 일이 벌어졌다. 보안 업체 아이키도시큐리티(Aikido Security)가 발견해 세상에 알린 것으로, 오랜 시간 npm에서 활동해 온 계정

Read more

세계적 해킹 대회 폰투온, 19년만에 처음 겪는 난리로 진통

세계적 해킹 대회 폰투온, 19년만에 처음 겪는 난리로 진통

💡Editor's Pick - 실용성 앞세운 해킹 대회, 19년만에 주최측 곤란 겪어 - AI 도움 받은 전문가들, 대회 등록 시도 쇄도 - 참가 실패한 전문가들, 취약점 정보 공개하기 시작 긴급한 전화가 걸려왔다. 독일행 비행기 탑승 직전이었던 지인이었다. 문이 곧 닫혀 오래 통화할 수 없으니 간략히 설명한다며 그는 14일부터 열리는

By 문가용 기자
ODINI가 보여준 에어갭 보안의 물리적 한계 : 물리적 망분리는 끝이아니다

ODINI가 보여준 에어갭 보안의 물리적 한계 : 물리적 망분리는 끝이아니다

💡Editor Pick - ODINI는 Air-gap 환경에서 CPU가 만드는 저주파 자기장을 이용한 데이터 유출 - Air-Gap을 완전한 단절로 이해 한다면 보안 사고의 시작점 - 물리적 망분리 정책은 “어떤 위협 모델을 기준으로 분리했는가”를 질문하고 답을 준비 망을 끊으면 정말 안전한가 우리나라의 보안 정책에서 물리적 망분리는 오랫동안 강력한 통제 수단으로 작동해왔다. 내부

By Donghwi Shin
AI와 하드웨어 사이에서, CODEGATE 2026이 묻는 보안 교육의 다음 단계

AI와 하드웨어 사이에서, CODEGATE 2026이 묻는 보안 교육의 다음 단계

우리나라 보안 교육은 왜 깊어지기 어려운가? CODEGATE 2026은 “The Path Toward a Top 3 Global AI Power: Security”라는 방향을 내세우고 있다. AI 세계 3대 강국으로 가기 위해서는 보안이 함께 가야 한다는 문제의식이다. AI, 보안, 글로벌 경쟁력이라는 단어는 이미 많은 행사와 정책 문서에서 반복되어 왔다. 그러나 CODEGATE 2026 Training Session의

By Donghwi Shin
[TE머묾] 헝가리 통해 보는 보안 배척 레퍼토리

[TE머묾] 헝가리 통해 보는 보안 배척 레퍼토리

💡Editor's Pick - 초연결사회이기 때문에 보안 강화하라? 안 먹히는 논리 - 결국 귀와 마음을 열고, 체험에까지 이르게 해야 하는데 - 정면 반박보다는 방향만 살짝 비틀어도 효과 커질 수 헝가리 새 정부에 세계 언론들이 눈과 귀를 집중시키는 중이다. 16년 간 이어졌던 ‘사실상의 독재 체제’가 무너졌다는 사실 자체도 그렇지만,

By 문가용 기자