{"id":4569,"date":"2026-02-20T16:37:16","date_gmt":"2026-02-20T16:37:16","guid":{"rendered":"http:\/\/ft365.org\/index.php\/2026\/02\/20\/android-malware-hijacks-google-gemini-to-stay-hidden\/"},"modified":"2026-02-20T16:37:16","modified_gmt":"2026-02-20T16:37:16","slug":"android-malware-hijacks-google-gemini-to-stay-hidden","status":"publish","type":"post","link":"https:\/\/ft365.org\/index.php\/2026\/02\/20\/android-malware-hijacks-google-gemini-to-stay-hidden\/","title":{"rendered":"Android Malware Hijacks Google Gemini to Stay Hidden"},"content":{"rendered":"<div id=\"cphContent_pnlArticleBody\">\n<div id=\"layout-eac0bf4d-c0c4-429e-a284-202c6110bcdc\" data-layout-id=\"2\" data-edit-folder-name=\"text\" data-index=\"0\">\n<p>ESET researchers have identified an Android malware implant that uses generative AI (GenAI) for persistence purposes.<\/p>\n<p>This malicious implant is an advanced version of VNCSpy, a piece of malware that appeared on VirusTotal in January 2026 and was represented by three samples uploaded from Hong Kong.<\/p>\n<p>VCNSpy is an Android malware implant that deploys a virtual network computing (VNC) module on the victim&#8217;s device, allowing attackers to see the screen and perform actions remotely.<\/p>\n<p>VNC modules are components of screen-sharing technology that enables remote control of another computer using the remote frame buffer (RFB) protocol.<\/p>\n<p>In February, ESET researchers identified four new malware samples uploaded to VirusTotal from Argentina. Their analysis revealed multistage malware based on VNCSpy but with a malicious payload that leverages Google\u2019s Gemini to analyze the targeted device\u2019s screen and provide the operator with step-by-step instructions on how to ensure the malicious app remains pinned in the recent apps list, thus preventing it from being easily swiped away or killed by the system.<\/p>\n<p>The researchers have named the malware implant PromptSpy.<\/p>\n<p>Based on the presence of Simplified Chinese elements in the code, ESET assessed \u201cwith medium confidence\u201d that PromptSpy was developed in a Chinese\u2011speaking environment.<\/p>\n<p>While the security firm noted it hasn\u2019t yet seen any samples of PromptSpy in its telemetry, the existence of a possible distribution domain could suggest the malware has been deployed in the wild.<\/p>\n<h2><strong>Malicious App Impersonating JPMorgan Argentina<\/strong><\/h2>\n<p>The four PromptSpy dropper samples were distributed through the website mgardownload[.]com, which was already offline during ESET\u2019s analysis.<\/p>\n<p>After installing and launching PromptSpy dropper, it opened a webpage hosted on m\u2011mgarg[.]com.<\/p>\n<p>\u201cAlthough this domain was also offline, Google\u2019s cached version revealed that it likely impersonated a Chase Bank (legally, JPMorgan Chase Bank N.A.),\u201d wrote the ESET researchers in a report published on February 19.<\/p>\n<p>Additionally, the malicious Android app distributing PromptSpy is called \u2018MorganArg,\u2019 which suggests it purports to be \u2018Morgan Argentina.\u2019 The app\u2019s icon is inspired by Chase bank.<\/p>\n<p>The malicious app is linked to a spoofed Spanish website, with an \u201cIniciar session\u201d (Login) button, indicating that the page was probably intended to mimic a bank website.<\/p>\n<p>The MorganArg app is a trojan that functions as a companion application developed by the same threat actor behind VNCSpy and PromptSpy.<\/p>\n<p>In the background, the trojan contacts its server to request a configuration file, which includes a link to download another Android package kit (APK) \u2013 the file format for Android applications \u2013 presented to the victim, in Spanish, as an update.<\/p>\n<\/p><\/div>\n<figure id=\"layout-ac6763c6-a0df-4fde-87ed-5f8ce68cc42f\" data-layout-id=\"4\" data-edit-folder-name=\"image\" data-index=\"1\"><img decoding=\"async\" src=\"http:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/localimages\/b1748e5c-7a74-40f4-91b0-9828202b98e0.png\" alt=\"Malware\u2019s initial screen that requests to install PromptSpy payload. Source: ESET\"><figcaption>Malware\u2019s initial screen that requests to install PromptSpy payload. Source: ESET<\/figcaption><\/figure>\n<div id=\"layout-ebf128b3-5450-431d-ba00-0c894ffd8ee1\" data-layout-id=\"2\" data-edit-folder-name=\"text\" data-index=\"2\">\n<p>The configuration server was no longer accessible during ESET\u2019s analysis, so the exact download URL remains unknown.<\/p>\n<p>\u201cHowever, given that it uses the same unique bank spoofing website, the same app name, icon, and, most importantly, is signed by the same unique developer certificate as the PromptSpy dropper, we strongly suspect this app may serve as the initial stage designed to lead victims toward installing PromptSpy.<\/p>\n<p>Both VNCSpy and PromptSpy include a VNC component, giving their operators full remote access to compromised devices once victims enable Accessibility Services.<\/p>\n<p>This allows the malware operators to see everything happening on the device and to perform taps, swipes, gestures and text input as though they were physically holding the phone.<\/p>\n<h2><strong>Gemini AI Helps Maintaining Persistence <\/strong><\/h2>\n<p>PromptSpy also integrates an AI\u2011assisted user interface (UI) manipulation feature, helping it maintain persistence by keeping the malicious app pinned in the recent apps list<\/p>\n<p>\u201cWe believe this functionality is used before the VNC session is established, so that the user or system will not kill the PromptSpy activity from the list of recent apps,\u201d the ESET researchers wrote.<\/p>\n<p>The researchers explained that Android malware usually depends on hardcoded screen features such as taps, coordinates, or UI selectors and that these methods are dependent on UI changes across devices, OS versions or manufacturer skins.<\/p>\n<p>PromptSpy\u2019s Gemini-powered feature aims to achieve persistence by staying embedded in the list of recent apps by executing the \u201clock app in recent apps\u201d gesture, which varies between devices and manufacturers. This makes it difficult to automate with fixed scripts traditionally used by Android malware.<\/p>\n<p>Once installed and launched, PromptSpy requests \u2018Accessibility Service\u2019 permissions, giving the malware the ability to read on\u2011screen content and perform automated clicks.<\/p>\n<p>Then, while showing a simple loading-style decoy screen in the foreground. The malware begins communicating with Gemini AI to obtain instructions needed to lock its process in the \u2018Recent Apps\u2019 list.<\/p>\n<\/p><\/div>\n<figure id=\"layout-d052bb6d-e614-4c26-935a-530a1375a70a\" data-layout-id=\"4\" data-edit-folder-name=\"image\" data-index=\"3\"><img decoding=\"async\" src=\"http:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/localimages\/a51aeeae-e3f0-4c3e-b7c5-587a28fa4ec6.png\" alt=\"Not locked (left) and locked (right) MorganArg app in the list of recent apps, with the padlock icon representing the lock. Source: ESET\"><figcaption>Not locked (left) and locked (right) MorganArg app in the list of recent apps, with the padlock icon representing the lock. Source: ESET<\/figcaption><\/figure>\n<div id=\"layout-2bddfed9-f1b4-44de-b07a-eb58759126bb\" data-layout-id=\"2\" data-edit-folder-name=\"text\" data-index=\"4\">\n<p>When the user sees the \u2018Loading, please wait\u2019 activity, PromptSpy uses Accessibility Services to open the \u2018Recent Apps\u2019 screen and collect detailed UI information: visible text, content descriptions, class names, package names and screen bounds.<\/p>\n<p>It serializes this dynamic UI snapshot as XML and includes it in its prompt to Gemini. Gemini then returns step-by-step tap instructions on how to achieve the \u2018app lock\u2019 gesture.<\/p>\n<p>This process forms a continuous loop:<\/p>\n<ol>\n<li>PromptSpy sends updated UI context to Gemini<\/li>\n<li>Gemini replies with new actions<\/li>\n<li>PromptSpy executes them and returns the resulting screen state<\/li>\n<\/ol>\n<p>The loop continues until Gemini confirms that the app is successfully locked in recent apps.<\/p>\n<p>All actions suggested by Gemini (taps, swipes, navigation) are executed through \u2018Accessibility Services,\u2019 allowing the malware to interact with the device without user input.<\/p>\n<p>The malware communicates with its hardcoded command\u2011and\u2011control (C2) server at 54.67.2[.]84 using the VNC protocol. The messages are AES-encrypted using a hardcoded key.<\/p>\n<p>Through this communication channel, the malware can:<\/p>\n<ul>\n<li>Receive a Gemini API key<\/li>\n<li>Upload the list of installed apps<\/li>\n<li>Intercept the lockscreen PIN or password<\/li>\n<li>Capture the pattern unlock screen as a recording video<\/li>\n<li>Report whether the screen is on or off<\/li>\n<li>Report the current foreground app<\/li>\n<li>Record the screen and user gestures for apps specified by the server<\/li>\n<li>Take screenshots on demand<\/li>\n<\/ul>\n<p>PromptSpy blocks uninstallation by overlaying invisible elements on the screen, meaning the only way for a victim to remove it is to reboot the device into \u2018Safe Mode,\u2019 where third\u2011party apps are disabled and can be uninstalled normally.<\/p>\n<p>\u201cPromptSpy shows that Android malware is beginning to evolve in a sinister way. By relying on generative AI to interpret on\u2011screen elements and decide how to interact with them, the malware can adapt to virtually any device, screen size, or UI layout it encounters,\u201d the ESET researchers concluded.<\/p>\n<\/p><\/div>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>ESET researchers have identified an Android malware implant that uses generative AI (GenAI) for persistence purposes. This malicious implant is an advanced version of VNCSpy, a piece of malware that appeared on VirusTotal in January 2026 and was represented by three samples uploaded from Hong Kong. VCNSpy is an Android malware implant that deploys a<\/p>\n","protected":false},"author":2,"featured_media":4570,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"featured_image_urls":{"full":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"thumbnail":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e-150x150.jpg",150,150,true],"medium":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"medium_large":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"large":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"1536x1536":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"2048x2048":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"morenews-featured":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"morenews-large":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"morenews-medium":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e.jpg",300,300,false],"crawlomatic_preview_image":["https:\/\/ft365.org\/wp-content\/uploads\/2026\/02\/4569-6ee31d88-27c2-425a-924f-bfcb90db0a6e-146x146.jpg",146,146,true]},"author_info":{"display_name":"henry","author_link":"https:\/\/ft365.org\/index.php\/author\/henry\/"},"category_info":"<a href=\"https:\/\/ft365.org\/index.php\/category\/uncategorized\/\" rel=\"category tag\">Uncategorized<\/a>","tag_info":"Uncategorized","comment_count":"0","_links":{"self":[{"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/posts\/4569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/comments?post=4569"}],"version-history":[{"count":0,"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/posts\/4569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/media\/4570"}],"wp:attachment":[{"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/media?parent=4569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/categories?post=4569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ft365.org\/index.php\/wp-json\/wp\/v2\/tags?post=4569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}