Full research report

ToxicPanda Android malware uses VPN permissions to block Google Play

Original reporting โ†—
โ˜… Threat intelligence assessment high confidence

Executive assessment

ToxicPanda 2.0 represents a meaningful capability leap for a banking trojan family under continuous development since at least 2022 and publicly tracked since Cleafy's October 2024 disclosure. The introduction of VPN permission abuse to neutralise Google Play Protect is a novel evasion technique that specifically disables Android's primary on-device integrity mechanism before payload installation, a step that earlier variants did not include. Combined with fully automated wireless ADB exploitation โ€” which yields shell-level access without any user-visible consent after the initial Accessibility Service grant โ€” the malware achieves device control comparable to device-owner provisioning. The expansion from 16 to 349 targeted financial applications, paired with a dynamically updatable target list, confirms a mature and operationally active campaign rather than a proof-of-concept sample. Actor attribution remains 'likely Chinese-speaking' across three independent research organisations based on code and infrastructure indicators, but no named group has been formally confirmed, and the campaign's relationship to the separately active GoldFactory cluster is unestablished.

What happened

On 22 August 2026, Zimperium's zLabs team disclosed ToxicPanda 2.0, a substantially evolved Android banking trojan first identified by Cleafy in October 2024. The updated variant introduces VPN permission abuse to suppress Google Play Protect communications during payload installation, a fully automated five-phase wireless ADB exploitation chain for shell-level device access, and phishing overlays now targeting 349 financial applications โ€” a twenty-fold increase from the original version's 16. The campaign is currently distributed via Amazon AWS-hosted storage buckets.

Affected scope

Android devices globally; 349 banking, financial, cryptocurrency, and e-wallet applications across 16 countries. Documented infections in Italy, Portugal, Spain, France, and Peru; the 2025 campaign botnet reached approximately 4,500 devices before this variant's release. A separate PIN-harvesting module targets 140 financial and cryptocurrency applications with a dynamically updatable target list.

Technical assessment

The dropper presents a counterfeit installation interface requesting VPN service permission. Once granted, it creates a local network interface to intercept and drop traffic destined for Google Play and Google Play Services โ€” neutralising app verification, Play Protect scans, and legitimate update prompts โ€” before decrypting and sideloading the actual payload. The payload then requests Accessibility Service permission, which drives a five-phase automated sequence: enabling Developer Options via automated tap sequences, navigating to Wireless Debugging settings, extracting the six-digit SPAKE2 pairing code, completing cryptographic authenticated pairing, and issuing commands directly through the ADB daemon at shell privilege without further consent prompts. An 'autoBoot' command identifies device manufacturer and activates OEM-specific auto-start settings to maintain persistence despite battery management on Xiaomi, OPPO, Vivo, Samsung, and Huawei devices.

Recommended defensive actions

  1. Disable installation from unknown sources on all managed Android devices via MDM policy to prevent sideloaded dropper execution
  2. Enforce Google Play Protect to remain active and configure MDM alerting on any attempt by an application to disable it
  3. Block or alert on VPN service permission requests from applications not distributed through a verified enterprise channel or the Play Store
  4. Audit Accessibility Service grants on all Android endpoints and revoke access for any unrecognised applications immediately
  5. Deploy mobile threat defence capable of detecting overlay attacks, unauthorised Wireless ADB sessions, and anomalous outbound WebSocket connections
  6. Subscribe to Zimperium's published ToxicPanda 2.0 IoC feed and integrate file hashes and C2 indicators into endpoint and network detection rules

Uncertainties and evidence gaps

  • The specific list of 16 targeted countries in the 2.0 campaign has not been publicly enumerated by Zimperium
  • No confirmed botnet size for the ToxicPanda 2.0 campaign has been disclosed; the 4,500-device figure predates this variant
  • Threat actor identity is unconfirmed beyond circumstantial Chinese-language and infrastructure indicators; no named group has been formally attributed
  • The relationship between ToxicPanda operators and the separately reported GoldFactory group (GoldDigger) has not been established

Vulnerability flow

Defender-oriented path reconstructed only from sourced report findings. Unknown stages are omitted.

AccessUser device must be reached via a sideloaded dropper application; no remote unauthenticated network access is required โ€” social engineering or malvertising delivers the initial dropper from AWS-hosted infrastructure
ComponentAndroid VPN service API, Accessibility Service framework, and Android Debug Bridge (Wireless Debugging mode introduced in Android 11)
MechanismVPN permission misuse intercepts and drops Google Play network traffic, disabling integrity checks during payload installation; Accessibility Service abuse then automates a five-step Wireless ADB pairing workflow to obtain shell-level access, after which the ADB daemon issues commands without further consent prompts
ImpactPersistent shell-level device control enabling credential theft across 349 financial applications, PIN and lock-credential harvesting, suppression of OS security features, and OEM-specific persistence that survives battery management processes
DetectionUnexpected VPN service permission request from a sideloaded application; Accessibility Service activated by an unrecognised app; Developer Options or Wireless Debugging enabled without user action; anomalous outbound WebSocket connections; full-screen fake system-update overlay outside of a genuine OS update cycle
MitigationPrevent sideloading via MDM policy; ensure Google Play Protect cannot be disabled by applications; apply Zimperium-published IoC hashes and network indicators to endpoint and perimeter detection tools
Exploitation status

Actively deployed as a banking trojan across at least 16 countries via sideloaded dropper applications; no CVE association. Exploitation relies on user-granted VPN and Accessibility Service permissions rather than a software vulnerability, with confirmed on-device fraud activity.

The investigation opened with the BleepingComputer article's claim that Zimperium had disclosed a new ToxicPanda variant abusing VPN permissions to suppress Google Play Protect. Initial searches confirmed the Zimperium blog as the primary source and surfaced corroborating reports from SecurityAffairs, The Hacker News, and Bitsight. Fetching the Zimperium blog confirmed the five-phase ADB exploitation chain and VPN interception mechanism in technical detail. Historical context from Cleafy's October 2024 original discovery report and Bitsight's 2025 campaign study established the Chinese-speaking actor assessment and the botnet's European expansion trajectory, grounding the 2.0 disclosure in a well-documented threat lineage with high confidence.

  1. What has Zimperium disclosed about ToxicPanda 2.0, and when was it published?
    Searched for 'ToxicPanda 2.0 Android malware Zimperium 2026'

    Zimperium published the ToxicPanda 2.0 disclosure on 22 August 2026, identifying 167 remote commands, 349 targeted applications, VPN and wireless ADB abuse, and AWS-hosted delivery infrastructure.

    why Established the event date and primary source prior to fetching authoritative documents.

  2. What is the precise VPN and ADB abuse mechanism?
    Searched for 'ToxicPanda malware VPN permissions ADB Google Play block 2026'

    Confirmed VPN permission is used to intercept and block Google Play traffic during payload installation; Accessibility Service drives a five-step ADB pairing sequence for unapproved shell access.

    why Verified the headline technical claims before opening primary sources to avoid anchoring on secondary summaries.

  3. What does the primary Zimperium report confirm in detail?
    Fetched the Zimperium blog post
    zimperium.com โ†—

    Confirmed five-phase ADB workflow (Developer Options โ†’ Wireless Debugging โ†’ SPAKE2 pairing code extraction โ†’ authenticated pairing โ†’ shell command execution), AES-ECB C2 encryption over WebSocket HTTPS, and a published IoC repository on GitHub.

    why Primary source confirms technical claims at sufficient depth to assess severity, detection opportunities, and defensive priority without inferring from secondary coverage.

  4. Does the BleepingComputer article accurately represent the Zimperium findings?
    Fetched the BleepingComputer article
    bleepingcomputer.com โ†—

    Corroborated VPN abuse, ADB exploitation, and the 'autoBoot' OEM persistence command bypassing battery management on Xiaomi, OPPO, Vivo, Samsung, and Huawei; confirmed overlays are invisible to the victim.

    why Validated the source article's accuracy and surfaced the OEM-specific persistence detail not prominently featured in the Zimperium blog summary.

  5. Who are the threat actors behind ToxicPanda and what is the campaign's origin?
    Searched for 'ToxicPanda banking trojan origin threat actor Chinese 2024 2025'

    Cleafy first identified ToxicPanda in October 2024 and assessed likely Chinese-speaking operators based on hardcoded Chinese DNS, Mandarin code strings, and C2 panel language; the family is related to TgToxic.

    why Established actor lineage and original campaign scope to contextualise the significance of the 2.0 evolution.

  6. What does the original Cleafy report confirm about actor attribution and initial campaign scope?
    Fetched the Cleafy ToxicPanda original disclosure report
    cleafy.com โ†—

    Confirmed Chinese-speaking operators via Chinese DNS (114.114.114.114), Mandarin strings, and C2 panel evidence; initial botnet of over 1,500 devices across Italy (56.8%), Portugal, Hong Kong, Spain, and Peru in late 2024.

    why Provides the strongest available attribution evidence, correctly qualifying actor assessment as 'likely' rather than confirmed, which sets the appropriate confidence level for downstream claims.

  7. Does The Hacker News independently corroborate the 2.0 technical claims?
    Fetched The Hacker News article on ToxicPanda 2.0
    thehackernews.com โ†—

    Independently corroborated ADB abuse mechanism, 349-app targeting scope, and AWS delivery; reported GoldDigger separately, confirming the two campaigns are not the same actor.

    why Second independent domain confirming principal technical claims; separation of GoldDigger from ToxicPanda prevents conflation of distinct campaigns.

  8. What does Bitsight's 2025 study establish about the campaign's infrastructure and evolution?
    Fetched Bitsight TRACE 2025 ToxicPanda study
    bitsight.com โ†—

    Documents botnet growth to approximately 4,500 devices concentrated in Portugal and Spain; identifies TAG-124 traffic distribution infrastructure, a monthly domain generation algorithm, and Mandarin remnants in the 2025 codebase.

    why Establishes the pre-2.0 campaign baseline, corroborates the actor assessment with an independent organisation, and provides infrastructure context confirming the campaign's operational maturity.

ActorsUnattributed; assessed as likely Chinese-speaking operators (Cleafy, October 2024) based on hardcoded Chinese DNS, Mandarin strings in code, and C2 panel language analysis
MalwareToxicPanda 2.0ToxicPanda (original variant, 2024)TgToxic (predecessor family, Southeast Asia)
TargetsBanking applicationscryptocurrency platformse-wallet servicesfinancial institutions across 16 countriesAndroid users concentrated in Europe (Italy, Portugal, Spain, France) and Latin America (Peru)

Research coverage

All 67 registered source leaves were evaluated for this run: 60 completed, 0 were unavailable, 0 failed and 7 were disabled. For this story, 1 registered sources supplied useful evidence (1 primary, 0 corroborating, 0 contextual and 0 PoC/exploit references). 59 completed sources contained no matched information for this story.

Primary evidence Independent corroboration Operational context PoC reference Checked โ€” no match Unavailable Failed Disabled
Complete source-by-source audit 67 sources
SourceRun resultValueWhy it was useful โ€” or not
BleepingComputernews ok1 records Primary evidence2 matched items Published the source report used to frame and date the event. Supplied independent analysis opened and verified during focused research.
AlienVault OTXdark_web ok10 records Checked โ€” no match The source completed, but none of its retained records matched this story.
CIRCL CVEcve ok30 records Checked โ€” no match The source completed, but none of its retained records matched this story.
CISA Alertsnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
CISA KEVkev ok1674 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Cisco PSIRTvendor_advisory ok5332 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Cisco Talosnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
deepdarkCTI CVE most exploiteddeepdarkcti ok94 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Discorddeepdarkcti ok7 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI exploitsdeepdarkcti ok24 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI forumsdeepdarkcti ok264 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI malware as a servicedeepdarkcti ok7 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI malware samplesdeepdarkcti ok3 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI marketsdeepdarkcti ok127 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI phishingdeepdarkcti ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI ransomware gangsdeepdarkcti ok687 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI RATsdeepdarkcti ok1 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Telegram infostealerdeepdarkcti ok130 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Telegram threat actorsdeepdarkcti ok1011 records Checked โ€” no match The source completed, but none of its retained records matched this story.
deepdarkCTI Twitter threat actorsdeepdarkcti ok39 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Exploit-DBexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
FIRST EPSSepss ok7934 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Fortinet PSIRTvendor_advisory disabled Disabled Disabled in the source registry; no check was attempted.
GitHub topic: cveresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: exploitresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: penetration-testingresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: pocresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GitHub topic: vulnerabilityresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
GreyNoiseexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
KrebsOnSecuritynews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
LinkedIn RSS proxy feeds (disabled)research disabled Disabled Disabled in the source registry; no check was attempted.
MalwareBazaardark_web ok3 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #cveresearch ok20 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #cybersecurityresearch ok20 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #exploitresearch ok5 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #infosecresearch ok20 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #malwareresearch ok20 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #ransomwareresearch ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #threatintelresearch ok19 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Mastodon #vulnerabilityresearch ok20 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Metasploit module metadataexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Microsoft MSRCvendor_advisory ok1590 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Microsoft Securitynews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
MISP Galaxyresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
MISP threat actor galaxyactor ok0 records Checked โ€” no match The source completed, but none of its retained records matched this story.
NVDcve ok900 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Palo Alto Networks PSIRTvendor_advisory ok25 records Checked โ€” no match The source completed, but none of its retained records matched this story.
ProjectDiscovery nuclei templatesexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Rapid7news ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Reddit r/AskNetsec (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/cybersecurity (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/malware (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/netsec (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
Reddit r/ReverseEngineering (pending API approval)research disabled Disabled Disabled in the source registry; no check was attempted.
SANS ISCnews ok1 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Shadowserver public aggregate honeypot observationsexploit_reference ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Shodanresearch ok1 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Sigma Rulesresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Sophos IOCsresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
The Hacker Newsnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
ThreatFoxthreat_intelligence ok100 records Checked โ€” no match The source completed, but none of its retained records matched this story.
UK NCSCnews ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
Unit42 IOCsresearch ok empty0 records Checked โ€” no match The source completed but returned no records in the collection scope.
URLhausdark_web ok10 records Checked โ€” no match The source completed, but none of its retained records matched this story.
VirusTotal Community IOC enrichmentresearch ok3 records Checked โ€” no match The source completed, but none of its retained records matched this story.
VulnCheck KEVkev ok500 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Vulnerability Lookupcve ok30 records Checked โ€” no match The source completed, but none of its retained records matched this story.
Additional verified pages 6 opened outside the registered collection
Technical references2
github.com/Zimperium/IOC/blob/master/2026-08-ToxicPanda/commands.md โ†—

Repository captured from the source article as technical context; not validated as PoC or exploit code.

github.com/Zimperium/IOC/tree/master/2026-08-ToxicPanda โ†—

Repository captured from the source article as technical context; not validated as PoC or exploit code.

Vendor & gov advisories2
The ToxicPanda Never Sleeps: ToxicPanda 2.0 Prepares its Next Strike on Mobile โ€” Zimperium zLabs zimperium.com โ†—

Primary technical report from the discovering organisation; includes IoC repository reference, five-phase ADB chain detail, and full command inventory

Zimperium zLabs Uncovers ToxicPanda 2.0 โ€” A Significantly More Powerful Android Banking Trojan (press release) prnewswire.com โ†—

Official Zimperium press release corroborating scope, 349-app targeting, and defensive guidance

Analysis & research5
ToxicPanda: a new banking trojan from Asia hit Europe and LATAM โ€” Cleafy Labs cleafy.com โ†—

Original October 2024 discovery report establishing Chinese-speaking actor assessment and initial campaign scope of 1,500 infected devices

ToxicPanda Android Banking Malware 2025 Study โ€” Bitsight TRACE bitsight.com โ†—

Documents botnet growth to ~4,500 devices, TAG-124 delivery infrastructure, domain generation, and Mandarin codebase remnants corroborating actor lineage

ToxicPanda 2.0 and GoldDigger Expand Android Banking Attacks with On-Device Fraud โ€” The Hacker News thehackernews.com โ†—

Independent corroboration of ADB mechanism, 349-app scope, and AWS delivery from a second reporting domain

ToxicPanda 2.0 Gets a Major Upgrade, Expanding Attacks Across 16 Countries โ€” Security Affairs securityaffairs.com โ†—

Corroborates device-administrator API abuse and remote lock-screen credential reset capability

ToxicPanda Android malware uses VPN permissions to block Google Play โ€” BleepingComputer bleepingcomputer.com โ†—

Detailed narrative corroborating autoBoot OEM persistence bypass across Xiaomi, OPPO, Vivo, Samsung, and Huawei