
JSCeal은 암호화폐 투자자를 노리는 정교한 악성 프로그램으로, 페이스북·구글 광고에 가짜 TradingView 설치 파일을 심어 배포됩니다. 이 악성코드는 크롬 등 브라우저에 저장된 비밀번호·쿠키·OAuth 토큰을 훔쳐, 피해자의 구글 계정에 인증 절차 없이 무단 접속(세션 재생 공격)할 수 있습니다. 키 입력 기록·화면 캡처 같은 감시 기능도 갖추고 있으며, 로컬 프록시를 설치해 Binance·Bybit·Ledger 등 주요 암호화폐 플랫폼의 웹 트래픽을 실시간으로 변조합니다. 2024년 말부터 아시아·태평양 및 남미를 중심으로 12개국에서 활동 중이며, 현재도 활발히 개발이 이어지고 있어 각별한 주의가 필요합니다.
위협 그룹(WEEVILPROXY/MeadowLocust)이 악성 광고(malvertising)를 통해 가짜 TradingView 설치 파일로 위장한 JSCeal 악성코드를 배포하고 있다. 2024년 말부터 활동 중이며 최근까지도 캠페인이 지속되고 있다.
Chromium 기반 브라우저(Chrome·Edge·Brave·Opera 등)에서 쿠키·비밀번호·OAuth 토큰을 탈취하고, 훔친 세션 쿠키로 구글 계정 인증을 우회한다. 키로깅·스크린샷으로 피해자를 감시하며, Binance·Bybit·Ledger 등 암호화폐 플랫폼의 웹 요청을 실시간 변조해 자산 탈취가 가능하다.
V8 JavaScript 바이트코드 컴파일 및 RC4 암호화·제어 흐름 평탄화·프록시 함수 등 다계층 난독화로 보안 분석을 회피하도록 설계되어 탐지가 어렵다.
Check Point Research가 정적 역난독화 파이프라인을 개발해 악성코드 내부 구조를 분석·공개했다. 기업 보안팀은 해당 위협 인텔리전스를 참고해 탐지 규칙을 갱신해야 한다.
소프트웨어는 반드시 공식 사이트에서만 다운로드하고, 광고를 통한 설치 파일 링크는 클릭하지 않는다. 브라우저 저장 자격증명(쿠키·비밀번호)이 탈취되면 MFA(다단계 인증)도 우회될 수 있으므로, 중요 계정은 하드웨어 보안 키 사용을 권장한다.
본문
사이버보안 연구원들이 JSCeal을 분석했습니다. 이 악성코드는 컴파일된 V8 JavaScript(JSC) 형식으로 제작된 정교한 프로그램으로, 자격증명 수집·감시·트래픽 가로채기 기능을 갖추고 있습니다.
"페이로드는 javascript-obfuscator로 보호되며, RC4로 암호화된 문자열, 제어 흐름 평탄화(control-flow flattening), 프록시 함수, 연산 래퍼 등 다양한 기법을 사용합니다." — Check Point Research, 지난주 공개한 기술 보고서 중
JSCeal은 2025년 7월 Check Point가 처음 문서화했으며, 위협 행위자들이 페이스북과 구글의 악성 광고를 통해 피해자를 가짜 암호화폐 거래 사이트로 유도한다는 사실이 밝혀졌습니다. 해당 사이트는 TradingView의 가짜 설치 파일 다운로드를 유도하고, 이를 통해 악성코드가 배포됩니다. 이 활동은 WEEVILPROXY 및 MeadowLocust로 알려진 위협 클러스터와 겹칩니다.
악성코드를 배포하는 악성 광고(malvertising) 캠페인은 PowerShell을 통해 전달되는 두 개의 ZIP 아카이브를 사용합니다. 하나에는 Node.js 런타임이, 다른 하나에는 주요 페이로드와 보조 구성 요소가 담겨 있습니다.
지난달에는 광고 보안 플랫폼 Confiant가 SourTrade라는 대규모 악성 광고 작전의 세부 내용을 공개했습니다. 이 작전은 Solana·Luno·TradingView 등 신뢰받는 거래·암호화폐 브랜드를 사칭해 유사 포털을 제공하고, 악성 JavaScript를 통해 웹 브라우저가 악성코드를 메모리상에서 직접 조립하도록 유도하는 것으로 확인됐습니다.
이 캠페인은 2024년 말부터 활동 중인 것으로 평가되며, 아시아 태평양 및 라틴아메리카를 중심으로 25개 언어로 12개국의 개인 트레이더와 암호화폐 투자자를 타깃으로 삼고 있습니다. 증거에 따르면 이 캠페인은 Bitdefender가 2025년 9월에 설명한 JSCeal 캠페인과 겹칩니다.
"SourTrade를 기술적으로 독특하게 만드는 것은 랜딩 페이지에서 일어나는 일입니다." Confiant는 이렇게 밝혔습니다. "완성된 악성코드를 배포하지 않습니다. 대신 피해자의 브라우저에 조립 지침을 전달하고, 별도 인프라에서 정상적인 합법 파일을 가져온 뒤, 브라우저가 피해자의 기기 메모리 내에서 최종 악성코드를 직접 조립하도록 유도합니다. 완성된 악성코드는 네트워크상에 전혀 존재하지 않습니다."
JSCeal은 javascript-obfuscator로 보호되며, 운영자들은 네 가지 변환 그룹을 반복 적용해 악성코드를 난독화합니다. 구체적인 기법은 다음과 같습니다.
- 함수명과 변수명을 짧거나 무의미한 식별자로 교체
- 중요 문자열을 여러 조각으로 분할(이후 인코딩 및 RC4 암호화)하고 디코더 함수로 재조합
- 제어 흐름 평탄화(control-flow flattening)를 적용해 프로그램 흐름을 무한 루프와 상태 변수로 제어되는 단층 switch 문으로 변환, 분석 및 역공학을 어렵게 만듦
- 함수 호출을 프록시 헬퍼를 통해 우회하고, 덧셈·뺄셈·비교·함수 호출 같은 단순 연산을 전용 헬퍼 함수로 래핑
이스라엘 사이버보안 기업인 Check Point는 해당 도구로 보호된 컴파일 V8 JavaScript 바이트코드를 디코딩하는 "완전 정적 역난독화 파이프라인"을 개발했다고 밝혔습니다. 이를 통해 악성코드의 실행 흐름과 주요 기능을 확인할 수 있었으며, 설치된 브라우저 목록 조회, 저장된 비밀정보·쿠키·OAuth 토큰 등 탈취, 수집된 정보에 대한 핸들러를 등록하는 "라우터" 함수 등이 포함된 것으로 나타났습니다.
브라우저 탈취 모듈은 Google Chrome·Microsoft Edge·Brave·Opera·Opera GX·Avast Secure Browser·Vivaldi·Cốc Cốc 등 다수의 Chromium 기반 브라우저를 표적으로 삼습니다. 각 브라우저의 사용자 데이터 디렉터리 예상 경로로 이동하고 사용 가능한 프로필 목록을 조회해 쿠키와 비밀번호를 추출합니다.
또한 JSCeal은 탈취한 쿠키 데이터를 활용해 브라우저 세션을 재구성하고, 활성 세션 재생 공격(session replay attack)을 수행해 인증을 우회하고 피해자의 구글 계정에 무단으로 접근할 수 있습니다. 악성코드에 내장된 두 번째 모듈은 키 입력 기록 및 스크린샷 촬영을 통한 감시 기능을 제공합니다.
"뱅킹 트로이목마가 흔히 사용하는 기법은 로컬 프록시를 설치하고 특정 서비스의 웹 콘텐츠를 주입하거나 변조하는 것입니다." Check Point는 이렇게 설명했습니다. "JSCeal도 유사한 패턴을 따릅니다. 복원된 코드에는 프록시 설정, 인증서 생성 및 설치, 서비스별 요청·응답 변조 기능이 포함되어 있습니다."
"프록시는 수동 가로채기에 그치지 않습니다. 복원된 코드에는 특정 서비스의 선택된 요청과 응답을 변조하는 전용 핸들러가 포함되어 있습니다. 구성 함수는 Binance·Bybit·Ledger에 대한 별도 오버라이드와, HTML 교체·호스트 차단·선택 쿠키 삭제를 위한 범용 핸들러를 제공합니다."
암호화폐 플랫폼에 특화된 핸들러도 다수 존재하며, 그 중 하나는 계정 데이터를 캡처하고 암호화폐 잔액을 기록합니다.
보안 연구원 Aleksandra "Hasherezade" Doniec은 이렇게 밝혔습니다. "JSCeal은 두 가지 분석 장벽을 결합합니다. 버전별 컴파일 V8 형식과 컴파일 전에 적용된 여러 겹의 JavaScript 난독화입니다. 어느 것도 역공학을 불가능하게 만들지는 않지만, 둘이 결합되면 분석가가 통상적으로 의존하는 워크플로 밖으로 악성코드를 밀어냅니다."
"이러한 발전들을 종합하면, JSCeal 제작자들이 페이로드 분석을 더 어렵게 만들고 플랫폼 커버리지를 확대하는 데 투자하고 있음을 알 수 있습니다. 최근 수개월간 캠페인이 지속되고 있으며, 이러한 변화는 JSCeal이 현재도 활발히 개발 중임을 나타냅니다."




