Illustration. Generic screens, no real bank.
- ›
device onlinethe fake app checks in with its server
The state of
We scanned more than 500 of the top banking apps on Android and iOS. Here is what we found.
Findings
Most common finding
of banking apps contain hardcoded secrets
API keys, tokens and credentials sit in the code or resource files. Anyone who downloads the app can pull them out.
Source: Ostorlab analysis of 500+ top banking apps, 2025
We tested more than 500 of the top banking apps worldwide, on Android and iOS, with static, dynamic and behavioural analysis.
Nearly 1 in 2 apps ship a library with a known critical flaw
over 46% of the apps tested
Nearly 3 in 10 apps let attackers bypass biometric login
over 28% of the apps tested
FIG 1.1
Share of banking apps affected, by vulnerability
Root detection was found in more than 40% of apps. Weak cryptography (ECB mode, MD5, static IVs) appeared in a small number of apps.
Source: Ostorlab analysis of 500+ top banking apps, 2025
Up to 19
critical vulnerabilities found in a single banking app
Most apps have 0 to 2. A small group has 10 or more. In a banking app, even one is serious.
These vulnerabilities are not theoretical. They are real risks affecting millions of users across both platforms.
App age
Almost every app shipped an update in the last six months. Many were first published more than ten years ago, on code that was not written for today's attacks.
47.7%
of iOS banking apps first shipped before 2014
Old codebases need constant work to stay safe. Frequent releases do not prove that work is done.
FIG 2.1
Banking apps by first release date
Source: Ostorlab analysis of 500+ top banking apps, 2025
of iOS apps released a version in the last six months
of Android apps did the same
Frequent updates do not mean secure updates. Many releases add features or change the interface, and only 1% of apps had a latest version older than a year.
Backends
Most of these banks are not American. A breach or outage at a large US provider could hit many banks at once, and customer data falls under US rules.
FIG 3.1
Where banking app backends are hosted, by rank
Top 10 by number of backends
The report ranks 49 countries by number of backends. It gives a share only for the United States.
Source: Ostorlab analysis of 500+ top banking apps, 2025
iOS apps rely on very few servers: 78% talk to 2 or fewer. Android apps talk to many more, and each one is something to secure.
Tech stack
The scans fingerprinted the languages, native code and libraries inside each app. A flaw in one popular library becomes a flaw in hundreds of banks.
zlib
Data compression
~55%
Out of 10 banking apps
OpenSSL
Network encryption
>51%
Out of 10 banking apps
SQLite
Local data storage
>35%
Out of 10 banking apps
Firebase
Backend services
34%
Out of 10 banking apps
Not hypothetical: the scans found zlib 1.2.8, a version with known vulnerabilities, in banking apps.
Permissions
Every permission is a way in. Most requests match what a banking app does. Some are hard to explain.
Expected
What a banking app plausibly needs. Where the report gives a share, the bar shows it.
Hard to justify
A small share of apps request access with no clear banking use. Banking apps should ask for the minimum they need.
Record audio from a background service
FOREGROUND_SERVICE_MICROPHONEDoes a banking app need this?
Nearly 40% of Android banking apps also run 11 to 20 background services, and 16% run 21 to 30. More services mean more entry points to protect.
Case study
ToxicPanda is an Android banking trojan identified by Cleafy in late 2024. It takes over accounts and moves money from the victim's own phone, which gets past many fraud checks.
How the attack works
Illustration. Generic screens, no real bank.
device onlinethe fake app checks in with its server65%
of infected devices were in Italy
Followed by Portugal with 21.4%. It was first seen targeting users in Europe and Latin America.
FIG 6.1
Where the infected devices were
Source: Cleafy, 2024
It survives reboots, asks again if Accessibility is turned off, and falls back to generated domains if its servers are taken down. Sources: Cleafy, Bitsight.
Outlook
New technology brings convenience, and attackers use the same technology to move just as fast.
The response
Automated scans at every step of development, secure coding standards such as the OWASP Mobile Top 10, and AI tools that find bugs early.
Not covered: issues behind a login. The dynamic scans ran without signing in to the apps.
Security can no longer be an afterthought or a compliance checkbox. It must be built into the design, development and release of every banking app.