수학 학습 앱 '매스메인', 왜 암호화 로더가 필요한가?

“보안업체 SafeDep는 2026년 9월 17일 npm 패키지 'mathmain'(mathjs 복제본)에서 원격 접근 임플란트를 발견했다. 이 악성코드는 암호화된 상태로 잠복하다가 특정 방정식이 풀리는 순간을 키로 삼아 복호화되며, scrypt로 256비트 키를 생성하고 AES-GCM으로 페이로드를 복호화해 실행한다. 페이로드는 공개 채팅 서비스와 블록체인 네트워크를 명령 채널로 사용해 호스트에서 공격자 명령을 수행한다.”

AI 요약

npm 패키지 mathmain(인기 수학 라이브러리 mathjs를 복제한 것으로 위장)에 원격 접근 임플란트가 숨겨진 채 발견됐다. 악성 코드는 암호화된 상태로 잠복하다가, 프로그램이 특정 방정식을 풀어 그 결과값이 "암호 키"와 일치할 때만 복호화되어 실행된다. 페이로드는 공용 채팅 서비스와 블록체인 네트워크를 명령 채널로 사용해 공격자 명령을 호스트에서 실행한다. SafeDep 팀은 2026년 9월 17일 분석에서 lusolve() 함수에 삽입된 추가 호출을 추적해 로더를 발견하고 복호화 과정을 재구성했다.

핵심 포인트

  • 악성 패키지명은 mathmain, 정상 라이브러리 mathjs를 복제하고 코드를 난독화함
  • lusolve()의 하위 삼각 행렬 데이터가 JSON 문자열로 변환되어 scrypt+AES-256-GCM 복호화의 암호로 사용됨
  • isGraph() 함수가 STAGE1_BLOB을 복호화해 파일명을 얻고 require()로 페이로드를 로드
  • 명령 채널로 공용 채팅 서비스와 블록체인 네트워크를 악용

향후 전망

  • npm 생태계의 공급망 공격이 "특정 입력 조건에서만 발동"하는 은닉형으로 진화, 정적 스캔 우회 가능성 확대
  • 수학·과학 라이브러리처럼 신뢰도 높은 패키지를 사칭한 유사 공격 증가 우려
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...