App Store에서 다운로드해도 코인이 사라진다고? FomoPeek 악성코드 사건의 전말
- 핵심 요점: SlowMist는 App Store에 등록된 온체인 모니터링 도구 FomoPeek이 1.1 및 1.2 버전에 악성 모듈을 심어 커널 취약점을 이용해 iOS 샌드박스를 우회하고 지갑 및 메모 데이터를 탈취했으며, 이미 약 58만 USDT의 손실을 초래했다고 밝혔다.
- 주요 내용:
- FomoPeek은 공식 웹사이트, 소셜 계정, 스토어 정보 등 외형이 완비되어 있었고, 1.0 버전은 깨끗했으나 1.1부터 apptrace와 libapptracecore 악성 모듈을 심었으며, 1.3에서 제거됐지만 용량이 10.47MB에서 1.81MB로 줄었다.
- 악성 코드는 메인 프로그램과 동일한 Apple 개발자 서명을 공유하며 정식 버전과 함께 배포됐다. 스토어 개인정보 보호 라벨에는 데이터를 수집하지 않는다고 표시했지만, 개인정보 처리방침에는 기기 식별자, 이메일, 비밀번호 해시 등의 정보를 나열했다.
- 공격 프레임워크에는 8가지 공격 전략이 내장되어 있으며, iOS 12.0–18.7.2 및 26.0–26.1에 호환된다고 선언하고, 원격으로 스위치와 서버 주소를 설정할 수 있다.
- 격리 테스트에서 135개 앱 식별자가 포함된 목록과 19개 지갑 및 메모 앱 수집 설정을 확보했으며, MetaMask, OKX Wallet, Trust Wallet, imToken, TokenPocket, TronLink 및 Apple 메모를 포함한다.
- 주요 공격자 주소는 9월 15일부터 활동했으며, 누적 수입은 579,984.34 USDT로, 자금은 Ethereum, BNB Chain, Arbitrum을 거쳐 모인 후 일부가 FixedFloat와 KuCoin으로 흘러갔다.
- SlowMist는 영향을 받은 사용자에게 해당 앱 사용을 중단하고, 키가 유출된 것으로 간주하여 깨끗한 기기에서 새로운 니모닉으로 자산을 이전하며, 연관 계정 로그인 기록을 확인할 것을 권고했다.
원문 작성자: ChandlerZ, Foresight News
9월 20일, 블록체인 보안 회사 SlowMist가 FomoPeek 분석 보고서를 발표하며, App Store에 등록된 FomoPeek이라는 온체인 모니터링 도구가 FomoPeek 1.1과 1.2에 apptrace와 libapptracecore 두 개의 악성 모듈을 삽입했으며, 원격 구성, 커널 취약점 악용, 샌드박스 탈출, Keychain 복호화 및 앱 간 데이터 수집 기능을 갖추고 있다고 밝혔다.
심지어 이 프레임워크가 코드 수준에서 선언한 시스템 버전 지원 범위는 iOS 12.0–18.7.2 및 iOS 26.0–26.1로, 공격 대상이 저버전 시스템이나 오래된 기기에만 국한되지 않음을 보여준다.
조사는 여러 사용자의 자산 도난 신고에서 시작되었으며, 관련 사건은 개인키 유출과 연관되어 있고 일부 사용자는 도난 전에 이 두 버전을 사용한 적이 있었다.
조사에 따르면, 공개 정보상 FomoPeek은 정상적인 프로젝트가 갖춰야 할 모든 외형을 갖추고 있다:
프로젝트 공개 정보 App 이름 FomoPeek – Whale Tracker & Smart AlertsApp Store ID6806199011 최초 출시 2026/8/29 개발자 표시 이름 WhaleScanvSeller / 법적 주체 Porter Manufacturing, L.L.C.공식 웹사이트 fomopeek[.]com 공식 X@FomoPeek 포지셔닝 Solana / Ethereum / TRON 지갑 모니터링, Whale Tracking, 온체인 알림시스템 요구사항 iOS 16.0+ 가격 / 분류 무료 / 금융현재 버전 1.3 (2026-09-18 업데이트)
이 App은 App Store에 정상적으로 등록되어 있고 공식 웹사이트와 공식 소셜 계정도 있어, 심사 측이든 사용자 측이든 외형만으로 커널 취약점 악용과 연관짓기는 매우 어렵다.
소개에 따르면, FomoPeek은 고래 거래를 추적하려는 암호화폐 사용자를 대상으로 하며 Solana, Ethereum 및 TRON의 지갑 활동 모니터링을 지원한다. 사용자가 공개 지갑 주소를 추가하면 온체인 알림을 받을 수 있으며, 앱은 대외적으로 읽기 전용, 지갑 미연결, 니모닉 미요구를 주장한다. 그러나 SlowMist의 격리 테스트에서 프로그램은 19개의 지갑과 메모 앱을 포함한 수집 목록을 확보하고 Apple 메모 데이터를 패키징하여 업로드했다.
공식 스토어에서 다운로드, 악성 코드가 버전 업데이트와 함께 휴대폰에 침투
SlowMist가 정리한 홍보 자료에 따르면, FomoPeek은 암호화폐 KOL, 커뮤니티 및 초대 코드를 통해 사용자를 유인한다. 참여자가 다운로드 및 등록하고 보안 코드를 설정한 후 모니터링 지갑을 추가하면, 실제 iPhone에서 5~7분간 조작해야 하며 심사를 거쳐 5~7 USDT를 받을 수 있다. 일부 홍보는 휴대폰당 한 번만 참여 가능하며 클라우드 폰은 허용하지 않는다고 제한했다.
이미 온체인 브라우저와 고래 추적 도구를 사용하는 데 익숙한 사람들에게 공개 주소 추가는 흔한 작업이다. 지갑 주소는 자산과 거래 활동을 표시할 수 있지만 송금 서명에는 사용할 수 없다. 또한 홍보에서 참여자에게 사전 충전, 니모닉 제출 또는 거래 승인을 요구하지 않았기 때문에, 사용자는 위험 판단을 자신이 자산 통제권을 넘겼는지 여부에만 머무르기 쉽다.
SlowMist가 확보한 과거 설치 패키지에 따르면, 8월 29일 최초 출시된 1.0에서는 해당 악성 모듈이 발견되지 않았고, 9월 9일 출시된 1.1에서 처음으로 관련 코드가 추가되었으며, 9월 12일의 1.2에서도 계속 사용되었다. 9월 16일, 소셜 플랫폼에는 다운로드 후 자산이 도난당했다는 사용자 경고가 나타났다. 9월 17일 출시된 1.3은 두 모듈을 제거했고, 설치 패키지 크기는 10.47MB에서 1.81MB로 줄었다.
메인 프로그램과 두 악성 모듈은 동일한 Apple 개발자 서명 주체를 사용하며, 원본 설치 패키지에는 App Store 배포에 사용되는 암호화 메타데이터도 보존되어 있었다. 연구팀은 이를 근거로 악성 모듈이 개발자가 제출한 정식 버전에 이미 포함되어 있었음을 확인했다. 즉, 사용자가 기업 서명 소프트웨어를 설치하지 않았고 제3자 웹사이트를 통해 다운로드하지 않았더라도 이 두 영향받는 버전을 받을 수 있다.
보고서는 또한 스토어 개인정보 라벨에는 데이터 미수집으로 표시되어 있지만, 앱 자체의 개인정보 처리방침에는 기기 식별자, 푸시 토큰, 이메일, 비밀번호 해시 및 사용자가 추가한 지갑 주소 등의 정보가 나열되어 있음을 발견했다. 일반 사용자가 스토어 페이지, 공식 웹사이트 및 소셜 계정만 확인해서는 설치 패키지에 나중에 추가된 공격 코드를 발견하기 어렵다.
기기 정찰에서 데이터 유출까지, 지갑은 어떻게 표적이 되는가?
Apple은 샌드박스를 통해 제3자 앱이 접근할 수 있는 파일을 제한하며, 각 앱에는 자체 데이터 디렉터리가 있다. 시스템 키체인은 비밀번호, 키 및 로그인 토큰을 위한 통제된 저장소를 제공하며, 시스템이 어떤 앱에 읽기 권한이 있는지 검사한다. 정상적인 권한에 따르면, 공개 온체인 거래를 모니터링하는 앱은 다른 지갑이 저장한 사설 데이터를 직접 열람할 수 없다.
FomoPeek에 삽입된 두 모듈은 역할이 다르다: apptrace는 공격자의 제어 서버와 통신을 담당하고, libapptracecore는 취약점 악용 및 데이터 수집 코드를 포함한다. 이들은 앱 시작과 함께 로드되며, 숨겨진 코드는 사용자가 정상적인 비즈니스 인터페이스를 보는 동안 동일한 앱 프로세스에 남아 있을 수 있다.
연구원들은 테스트에서 135개의 앱 식별자를 포함한 목록을 포착했다. 이 정보를 통해 서버는 휴대폰에 어떤 지갑이 설치되어 있는지 판단하고, 사용자가 인터페이스에서 지갑 이름을 선택하거나 입력할 필요 없이 해당 기기에 수집 대상을 배포할 수 있다.
서버는 또한 취약점 악용 시작 여부, 반복 실행 여부 및 실행 간격을 제어한다. 서버에 연결하는 주소도 원격으로 교체할 수 있어, 공격자는 목표와 실행 일정을 조정할 때마다 매번 앱을 다시 배포할 필요가 없다. 사용자가 보는 버전 번호와 정상 기능은 그대로 유지될 수 있지만, 백그라운드에서 받는 명령은 다를 수 있다.
SlowMist가 복원한 공격 설계에 따르면, 프레임워크는 이후 시스템 버전과 기기 모델에 따라 악용 방안을 선택하고 일반 앱 권한을 초과하는 커널 접근 능력을 얻으려 시도한다. 커널은 시스템 리소스와 권한 관리를 담당하며, 관련 취약점이 성공적으로 악용되면 악성 프로그램이 기존 접근 제한을 우회하여 다른 앱 디렉터리를 읽고 키체인의 민감 정보를 추출 및 복호화하려 시도할 수 있다.
코드에는 8가지 악용 전략이 내장되어 있으며, 선언된 지원 범위는 iOS 12.0~18.7.2 및 26.0~26.1을 포함한다.
격리 테스트 기간 동안 서버가 처음 반환한 취약점 악용 스위치는 꺼짐 상태였으며, 연구원들이 관련 스위치를 수동으로 켠 후 클라이언트는 19개의 지갑과 메모 앱에 대한 수집 구성을 확보했다. 여기에는 MetaMask, OKX Wallet, Trust Wallet, imToken, TokenPocket 및 TronLink가 포함된다. 구성은 이들 앱의 키 저장소, 데이터베이스 및 로컬 파일을 가리키며, 전체 Apple 메모 데이터 디렉터리도 포함한다.
이후 팀은 약 46KB의 업로드 압축 패키지를 포착했고, 압축을 풀자 메모 데이터베이스 및 관련 파일이 보였다. 읽힌 데이터는 먼저 FomoPeek 자체 디렉터리에 임시 저장된 후 원격 서버로 전송된다. 따라서 메모도 지갑 유출의 원인이 될 수 있다: 사용자가 니모닉을 메모에 복사해 두면, 공격자는 이 백업만 확보해도 해당 지갑을 복구할 기회를 얻는다.
니모닉과 개인키로 제어되는 일반적인 자기보관 지갑의 경우, 사용 가능한 키를 얻은 사람은 자신의 기기에서 계정을 복구하고 거래에 서명할 수 있다. 송금 명령은 공격자가 발송하며, 원래 휴대폰의 지갑은 더 이상 확인 창을 띄울 필요가 없다. 사용자가 FomoPeek에 니모닉을 직접 입력하지 않았더라도 동일 기기 데이터가 읽혀 자산을 잃을 수 있다.
SlowMist의 추적 도구 MistTrack이 보고서에서 분석한 한 주요 공격자 주소에 따르면, 9월 15일부터 활동했으며 보고서 발표 시점까지 누적 579,984.34 USDT를 수취했다. 자금은 Ethereum, BNB Chain 및 Arbitrum과 관련되어 있으며, 대부분 Ethereum으로 집결된 후 여러 차례로 나누어 전송되었다. 하류 한 주소가 받은 159,000 USDT는 전부 환전 플랫폼 FixedFloat로转入되었고, 다른 주소의 47,028 USDT는 각각 거래소 KuCoin과 FixedFloat로 흘러갔다.
사진첩과 메모에 있는 백업도 지갑 복구에 사용될 수 있다
FomoPeek은 지갑과 메모를 동시에 수집 대상으로 지정하여, 평문 백업이 지갑 자체의 데이터 파일과 함께 공격 목표에 노출되게 한다. 동일인이 여러 개의 서로 다른 지갑으로 자산을 분산 관리하더라도, 그것들이 같은 영향받는 기기에 설치되어 있거나 니모닉이 같은 메모 앱에 집중 저장되어 있다면 동시에 읽힐 위험이 여전히 있다.
2025년 2월, Kaspersky는 SparkCat이라는 정보 탈취 프로그램을 공개하며 악성 구성 요소가 포함된 배달, 통신 등의 앱이 App Store와 Google Play에 진입했음을 발견했고, 여기에는 배달 앱 ComeCome도 포함되었다. 앱은 정상적인 비즈니스 요청을 빙자해 사진첩 권한을 요청하고, 승인을 받은 후 접근 가능한 이미지를 스캔하여 문자 인식으로 니모닉을 찾아내고, 적중한 이미지를 업로드했다.
SparkCat은 사진첩 접근 권한에 의존해 평문 백업을 찾았고, FomoPeek은 시스템 격리를 돌파하려는 악용 코드를 포함한다. 전자는 니모닉 스크린샷 한 장을 코인 탈취 입구로 만들 수 있고, 후자는 다른 앱이 저장한 데이터까지 수집 대상에 포함시킨다. 지갑 인터페이스가 정상적인지, 사용자가 의심스러운 승인을 클릭했는지는 이 두 가지 유출 유형을 개별적으로 배제할 수 없다.
하드웨어 지갑 역시 니모닉 백업을 잘 보호해야 한다. Ledger의 보안 지침은 복구 단어를 촬영하지 말고 컴퓨터나 휴대폰에 입력하지 말 것을 요구한다. 거래 서명이 원래 하드웨어 기기에서 완료되었더라도, 휴대폰 사진첩이나 메모에 남은 완전한 복구 단어는 다른 사람이 지갑을 재구성하는 데 사용될 수 있다.
영향받는 버전을 설치한 경우, 자산과 기기를 어떻게 처리해야 하는가?
SlowMist는 FomoPeek 1.1 또는 1.2를 사용한 적이 있는 사용자에게 해당 앱 실행을 중단하고 재설치하지 말며, 관련 니모닉, 개인키 및 민감 자격 증명을 이미 유출된 것으로 처리할 것을 권장한다. 1.3이 모듈을 제거한 것은 해당 버전이 더 이상 해당 코드를 포함하지 않는다는 것만 의미하며, 이전에 이미 업로드되었을 수 있는 데이터를 되돌릴 수는 없다.
자산 마이그레이션은 FomoPeek을 설치한 적이 없고 시스템이 업데이트되었으며 신뢰할 수 있는 출처의 기기에서 수행해야 하며, 새 지갑은 반드시 완전히 새로운 니모닉을 생성해야 한다. 기존 니모닉을 다른 지갑에 가져오면 복구되는 것은 여전히 원래 계정이다. 같은 니모닉 아래에 새 계정을 추가해도 계속 이 니모닉 세트의 통제를 받는다. 각 체인의 토큰, NFT 및 아직 프로토콜에 있는 자산은 각각 확인해야 하며, 인터페이스에서 가장 눈에 띄는 잔액 하나만 옮기는 것을 피해야 한다.
지갑의 잠금 해제 비밀번호는 일반적으로 로컬 접근 보호에만 사용되며, 이를 변경해도 온체인 개인키가 교체되지 않는다. 토큰 승인을 취소하면 특정 컨트랙트의 인출 권한을 취소할 수 있지만, 이미 개인키를掌握한 사람이 거래에 다시 서명하는 것을 막을 수는 없다. 유출 가능성이 있는 키에 대한 처리는 자산을 옮기고 기존 계정 사용을 중단하는 것을 포함해야 한다.
마이그레이션 중 방금 보충한 수수료가 즉시 전송되는 것을 발견하면 반복 충전을 중단해야 한다. 피해 지갑은 자동 코인 스캔 프로그램에 의해 모니터링되고 있을 수 있으며, 수수료 지불용으로转入한 토큰도 상대방에게 빼앗긴다. 이때는 지갑 공식 지원 또는 신뢰할 수 있는 보안 팀에 연락하여 후


