OWASP Mobile Top 10
The 10 most common security risks in mobile applications. Covers React Native, Expo, Flutter, and native iOS/Android apps.
10 vulnerabilities
Improper Credential Usage
criticalHardcoded API keys, passwords, or tokens directly in mobile app source code — easily extracted by decompiling the app bundle.
Mobile Supply Chain Security
mediumVulnerable SDKs, outdated native libraries, or compromised third-party modules in your mobile app introduce security risks from your dependencies.
Insecure Authentication/Authorization
highMobile apps with weak authentication — storing sessions insecurely, missing token refresh, or authorization checks only on the client side.
Insufficient Input/Output Validation
mediumMobile apps that don't validate user input or sanitize output are vulnerable to injection attacks, data corruption, and unexpected behavior.
Insecure Communication
highMobile app transmits sensitive data over HTTP instead of HTTPS, or accepts invalid SSL certificates — enabling man-in-the-middle attacks on public WiFi.
Inadequate Privacy Controls
mediumMobile app collects, stores, or transmits personally identifiable information (PII) without proper consent, encryption, or data minimization practices.
Insufficient Binary Protections
lowMobile app lacks code obfuscation, anti-tampering, or anti-debugging protections — making it easy to reverse engineer, modify, and redistribute.
Security Misconfiguration (Mobile)
mediumMobile app ships with debug mode enabled, excessive permissions, exported activities, or backup allowed — exposing data and functionality to other apps.
Insecure Data Storage
highSensitive data like tokens, passwords, or personal information stored in plaintext on the device — in AsyncStorage, SharedPreferences, or local databases without encryption.
Insufficient Cryptography
mediumMobile app uses weak encryption algorithms, hardcoded keys, or implements custom cryptography — making encrypted data effectively unprotected.