{"id":52980,"date":"2025-02-07T05:35:38","date_gmt":"2025-02-07T10:35:38","guid":{"rendered":"https:\/\/www.kaspersky.com\/blog\/?p=52980"},"modified":"2025-02-07T08:51:50","modified_gmt":"2025-02-07T13:51:50","slug":"ios-android-ocr-stealer-sparkcat","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com\/blog\/ios-android-ocr-stealer-sparkcat\/52980\/","title":{"rendered":"SparkCat trojan stealer infiltrates App Store and Google Play, steals data from photos"},"content":{"rendered":"<p>Your smartphone gallery may contain photos and screenshots of important information you keep there for safety or convenience, such as documents, bank agreements, or seed phrases for recovering cryptocurrency wallets. All of this data can be stolen by a malicious app such as the SparkCat stealer we\u2019ve discovered. This malware is currently configured to steal crypto wallet data, but it could easily be repurposed to steal any other valuable information.<\/p>\n<p>The worst part is that this malware has made its way into official app stores, with almost 250,000 downloads of infected apps from Google Play alone. Although <a href=\"https:\/\/www.kaspersky.com\/blog\/?s=google+play\" target=\"_blank\" rel=\"noopener nofollow\">malicious apps have been found in Google Play before<\/a>, this marks the first time a stealer Trojan has been detected in the App Store. How does this threat work and what can you do to protect yourself?<\/p>\n<h2>Malicious add-ons to legitimate apps<\/h2>\n<p>Apps containing SparkCat\u2019s malicious components fall into two categories. Some, such as numerous similar messenger apps claiming AI functionality, all from the same developer, were clearly designed as bait. Some others are legitimate apps: food delivery services, news readers, and crypto wallet utilities. We don\u2019t yet know how the Trojan functionality got into these apps. It may have been the result of a <a href=\"https:\/\/www.kaspersky.com\/blog\/supply-chain-attacks-what-are-they-and-how-to-manage-the-risk\/52852\/\" target=\"_blank\" rel=\"noopener nofollow\">supply chain attack<\/a>, where a third-party component used in the app was infected. Alternatively, the developers may have deliberately embedded the Trojan into their apps.<\/p>\n<div id=\"attachment_52987\" style=\"width: 1032px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07053218\/ios-android-ocr-stealer-sparkcat-01.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-52987\" class=\"wp-image-52987 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07053218\/ios-android-ocr-stealer-sparkcat-01.png\" alt=\"SparkCat-infected the app ComeCome in both Google Play and App Store\" width=\"1022\" height=\"1648\"><\/a><p id=\"caption-attachment-52987\" class=\"wp-caption-text\">The first app where we detected SparkCat was a food delivery service called ComeCome, available in the UAE and Indonesia. The infected app was found on both Google Play and the App Store<\/p><\/div>\n<p>The stealer analyzes photos in the smartphone\u2019s gallery, and to that end, all infected apps request permission to access it. In many cases, this request seems completely legitimate \u2014 for example, the food delivery app ComeCome requested access for a customer support chat right upon opening this chat, which looked completely natural. Other applications request gallery access when launching their core functionality, which still seems harmless. After all, you do want to be able to share photos in a messenger, right?<\/p>\n<p>However, as soon as the user grants access to specific photos or the entire gallery, the malware starts going through all the photos it can reach, searching for anything valuable.<\/p>\n<h2>AI-powered theft<\/h2>\n<p>To find crypto-wallet data among photos of cats and sunsets, the Trojan has a built-in optical character recognition (OCR) module based on the Google ML Kit \u2014 a universal machine-learning library.<\/p>\n<p>Depending on the device\u2019s language settings, SparkCat downloads models trained to detect the relevant script in photos, whether Latin, Korean, Chinese, or Japanese. After recognizing the text in an image, the Trojan checks it against a set of rules loaded from its command-and-control server. In addition to keywords from the list (for example, \u201cMnemonic\u201d), the filter can be triggered by specific patterns such as meaningless letter combinations in backup codes or certain word sequences in seed phrases.<\/p>\n<div id=\"attachment_52986\" style=\"width: 1711px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07053036\/ios-android-ocr-stealer-sparkcat-02.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-52986\" class=\"wp-image-52986 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07053036\/ios-android-ocr-stealer-sparkcat-02.png\" alt=\"Keywords that SparkCat looks for \" width=\"1701\" height=\"354\"><\/a><p id=\"caption-attachment-52986\" class=\"wp-caption-text\">During our analysis, we requested a list of keywords used for OCR searching from the Trojan\u2019s C2 servers. The cybercriminals are clearly interested in phrases used to recover access to crypto wallets \u2014 known as mnemonics<\/p><\/div>\n<p>The Trojan uploads all photos containing potentially valuable text to the attackers\u2019 servers, along with detailed information about the recognized text and the device the image was stolen from.<\/p>\n<h2>Scale and victims of the attack<\/h2>\n<p>We identified 10 malicious apps in Google Play, and 11 in the App Store. At the time of publication, all malicious apps had been removed from the stores. The total number of downloads from Google Play alone exceeded 242,000 at the time of analysis, and our telemetry data suggests that the same malware was available from other sites and unofficial app stores, too.<\/p>\n<div id=\"attachment_52985\" style=\"width: 2645px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07052910\/ios-android-ocr-stealer-sparkcat-03.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-52985\" class=\"wp-image-52985 size-full\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07052910\/ios-android-ocr-stealer-sparkcat-03.png\" alt=\"SparkCat-infected apps in Google Play and App Store\" width=\"2635\" height=\"1900\"><\/a><p id=\"caption-attachment-52985\" class=\"wp-caption-text\">Among the infected apps are popular delivery services and AI-powered messengers in both Google Play and the App Store<\/p><\/div>\n<p>Judging by SparkCat\u2019s dictionaries, it\u2019s \u201ctrained\u201d to steal data from users in many European and Asian countries, and evidence indicates that attacks have been ongoing since at least March 2024. The authors of this malware are likely fluent in Chinese \u2014 more details on this, as well as the technical aspects of SparkCat, can be found in the <a href=\"https:\/\/securelist.com\/sparkcat-stealer-in-app-store-and-google-play-2\/115385\/\" target=\"_blank\" rel=\"noopener\">full report on Securelist<\/a>.<\/p>\n<h2>How to protect yourself from OCR Trojans<\/h2>\n<p>Unfortunately, the age-old advice of \u201conly download highly-rated apps from official app stores\u201d is a silver bullet no longer \u2014 even the App Store has now been infiltrated by a true infostealer, and similar incidents have <a href=\"https:\/\/www.kaspersky.com\/blog\/malware-in-google-play-2023\/49579\/\" target=\"_blank\" rel=\"noopener nofollow\">occurred repeatedly<\/a> in Google Play. Therefore, we need to strengthen the criteria here: only download highly-rated apps with thousands, or better still, millions of downloads, published at least several months ago. Also, verify app links in official sources (such as the developers\u2019 website) to ensure they\u2019re not fake, and read the reviews \u2014 especially negative ones. And, of course, be sure to install a <a href=\"https:\/\/www.kaspersky.com\/premium?icid=gl_bb2023-kdplacehd_acq_ona_smm__onl_b2c_kdaily_lnk_sm-team___kprem___\" target=\"_blank\" rel=\"noopener nofollow\">comprehensive security system<\/a>\u00a0on all your smartphones and computers.<\/p>\n<div id=\"attachment_52984\" style=\"width: 1060px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07052702\/ios-android-ocr-stealer-sparkcat-04.png\"><img decoding=\"async\" aria-describedby=\"caption-attachment-52984\" class=\"size-full wp-image-52984\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2025\/02\/07052702\/ios-android-ocr-stealer-sparkcat-04.png\" alt=\"Negative review of the ComeCome app in the App Store \" width=\"1050\" height=\"521\"><\/a><p id=\"caption-attachment-52984\" class=\"wp-caption-text\">Checking negative reviews of the ComeCome app in the App Store could have put users off downloading it<\/p><\/div>\n<p>You should also be <a href=\"https:\/\/www.kaspersky.com\/blog\/android-most-dangerous-features\/49418\/\" target=\"_blank\" rel=\"noopener nofollow\">extremely cautious<\/a> about granting permissions to new apps. Previously, this was primarily a concern for \u201cAccessibility\u201d settings, but now we see that even granting gallery access can lead to the theft of personal data. If you\u2019re not completely sure about an app\u2019s legitimacy (for example, it\u2019s not an official messenger, but a modified version), don\u2019t grant it full access to all your photos and videos. Grant access only to specific photos when necessary.<\/p>\n<p>Storing documents, passwords, banking data, or photos of seed phrases in your smartphone\u2019s gallery is highly unsafe \u2014 besides stealers such as SparkCat, there\u2019s also always the risk that someone peeks at the photos, or you accidentally upload them to a messenger or file-sharing service. Such information should be stored in a dedicated application. For example, <a href=\"https:\/\/www.kaspersky.com\/password-manager?icid=gl_kdailyplacehold_acq_ona_smm__onl_b2c_kasperskydaily_wpplaceholder____kpm___\" target=\"_blank\" rel=\"noopener nofollow\">Kaspersky Password Manager<\/a> allows you to securely store and sync not only passwords and two-factor authentication tokens but also banking card details and scanned documents across all your devices \u2014 all in encrypted form. By the way, this app comes with our <a href=\"https:\/\/www.kaspersky.com\/plus?icid=gl_bb2023-kdplacehd_acq_ona_smm__onl_b2c_kdaily_lnk_sm-team___kplus___\" target=\"_blank\" rel=\"noopener nofollow\">Kaspersky Plus<\/a> and <a href=\"https:\/\/www.kaspersky.com\/premium?icid=gl_bb2023-kdplacehd_acq_ona_smm__onl_b2c_kdaily_lnk_sm-team___kprem___\" target=\"_blank\" rel=\"noopener nofollow\">Kaspersky Premium<\/a> subscriptions.<\/p>\n<p>Finally, if you\u2019ve <strong>already<\/strong> installed an infected application (<a href=\"https:\/\/securelist.com\/sparkcat-stealer-in-app-store-and-google-play-2\/115385\/\" target=\"_blank\" rel=\"noopener\">the list of them is available at the end of the Securelist post<\/a>), delete it and don\u2019t use it until the developer releases a fixed version. Meanwhile, carefully review your photo gallery to assess what data the cybercriminals may have obtained. Change any passwords and block any cards saved in the gallery. Although the version of SparkCat we discovered hunts for seed phrases specifically, it\u2019s possible that the Trojan could be reconfigured to steal other information. As for crypto-wallet seed phrases, once created, they can\u2019t be changed. Create a new crypto wallet, and transfer all your funds from \u2014 and then abandon completely \u2014 the compromised one.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"premium-generic\">\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve discovered apps in the official Apple and Google stores that steal cryptocurrency wallet data by analyzing photos.<\/p>\n","protected":false},"author":2706,"featured_media":52981,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2683],"tags":[1140,105,14,4598,4635,22,1250,726,3244,422,131,723],"class_list":{"0":"post-52980","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-threats","8":"tag-ai","9":"tag-android","10":"tag-apple","11":"tag-crypto-wallet","12":"tag-cryptocurrency","13":"tag-google","14":"tag-ios","15":"tag-scam","16":"tag-stealers","17":"tag-threats","18":"tag-tips","19":"tag-trojans"},"hreflang":[{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/ios-android-ocr-stealer-sparkcat\/52980\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/ios-android-ocr-stealer-sparkcat\/28549\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/ios-android-ocr-stealer-sparkcat\/23785\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/ios-android-ocr-stealer-sparkcat\/28661\/"},{"hreflang":"es-mx","url":"https:\/\/latam.kaspersky.com\/blog\/ios-android-ocr-stealer-sparkcat\/27946\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/ios-android-ocr-stealer-sparkcat\/30756\/"},{"hreflang":"it","url":"https:\/\/www.kaspersky.it\/blog\/ios-android-ocr-stealer-sparkcat\/29438\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/ios-android-ocr-stealer-sparkcat\/39016\/"},{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/ios-android-ocr-stealer-sparkcat\/13153\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/ios-android-ocr-stealer-sparkcat\/22580\/"},{"hreflang":"pt-br","url":"https:\/\/www.kaspersky.com.br\/blog\/ios-android-ocr-stealer-sparkcat\/23379\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/ios-android-ocr-stealer-sparkcat\/31944\/"},{"hreflang":"ja","url":"https:\/\/blog.kaspersky.co.jp\/ios-android-ocr-stealer-sparkcat\/37440\/"},{"hreflang":"nl","url":"https:\/\/www.kaspersky.nl\/blog\/ios-android-ocr-stealer-sparkcat\/29485\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/ios-android-ocr-stealer-sparkcat\/28790\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/ios-android-ocr-stealer-sparkcat\/34617\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/ios-android-ocr-stealer-sparkcat\/34245\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.com\/blog\/tag\/ios\/","name":"iOS"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/52980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/2706"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=52980"}],"version-history":[{"count":4,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/52980\/revisions"}],"predecessor-version":[{"id":52989,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/52980\/revisions\/52989"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/52981"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=52980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=52980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=52980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}