All example reports
§ Example report

com.insecureshop

v1.0

This is a deliberately-vulnerable demo app. Run the same 88 analyzers on your release APK — your first scan is free.

Scan your app — free, no card
Severity breakdown
4 crit 4 high 28 med 6 low 0 info
Critical 4
High 4
Medium 28
Low 6
Info 0
False positives 0
Scan metadata
Package
com.insecureshop
Version
1.0
Size
4.5 MB
SHA-256
a83298ae4a37fcab8101e8b41e513dd2199af71a94ea537d556a318e07d4d1bd
Findings
93
Started
Sep 20, 2026 2:48:59 AM
Finished
Sep 20, 2026 2:49:59 AM
Duration
1m
Sandbox image
atomic-scanner-sandbox:dev
OWASP Mobile Top 10 (2024) — coverage

Click a category to filter the findings list.

Vulnerabilities 42

Sev Title OWASP / MASVS
critical
WebView accepts every TLS error in com.insecureshop.util.CustomWebViewClient (onReceivedSslError → handler.proceed)
M5 MASVS-NETWORK
high
Application is debuggable
M7 MASVS-CODE
high
Cross-package code loading via createPackageContext in com.insecureshop.LoginActivity
M7 MASVS-CODE
high
Signed with Android SDK debug key (CN="Android Debug")
M7 MASVS-RESILIENCE
high
Weak signing key: RSA 1024 (< 2048)
M7 MASVS-RESILIENCE
medium
Cleartext (HTTP) traffic is permitted
M5 MASVS-NETWORK
medium
Credential written to plaintext storage in com.insecureshop.util.Prefs
M9 MASVS-STORAGE
medium
Credential-bearing Intent dispatched via startActivity
M8 MASVS-PLATFORM
medium
Exported provider without permission: com.insecureshop.contentProvider.InsecureShopProvider
M8 MASVS-PLATFORM
medium
Exported service without permission: net.gotev.uploadservice.UploadService
M8 MASVS-PLATFORM
medium
FileProvider shares an over-broad `root-path`: androidx.core.content.FileProvider
M8 MASVS-PLATFORM
medium
Hardcoded login credentials in com.insecureshop.util.Util.getUserCreds()
M1 MASVS-AUTH
medium
Outdated targetSdkVersion (29)
M8 MASVS-CODE
medium
Sensitive activity com.insecureshop.LoginActivity has no tapjacking protection
M8 MASVS-PLATFORM
medium
Untrusted Intent/Uri input reaches a filesystem path (new File()) in com.insecureshop.ChooserActivity
M4 MASVS-PLATFORM
medium
User-installed CAs implicitly trusted (minSdk 16, no NSC)
M5 MASVS-NETWORK
low
Auto-backup is enabled
M9 MASVS-STORAGE
low
AWS Cognito identity pool ID in @string/aws_Identity_pool_ID
M1 MASVS-AUTH
low
No anti-debug / signature-check signal found
M7 MASVS-RESILIENCE
low
No network security config declared
M5 MASVS-NETWORK
low
No obfuscation detected (60 app classes inspected, 2% short-named)
M7 MASVS-RESILIENCE
low
No root-detection signal found
M7 MASVS-RESILIENCE

Findings 8

Findings that need human review — the scanner can't confirm exploitability on its own. Severity varies: some are low-signal, others are real weaknesses worth confirming.

Sev Title OWASP / MASVS
low
installed-app enumeration collected in com.insecureshop.LoginActivity
M6 MASVS-PRIVACY
info
WebView used but no session-data cleanup found
M8 MASVS-PLATFORM

Security posture

0 present · 7 absent · 0 partial
Transport
Screen capture
Anti-tampering
Build

App inventory

What the app is — declared permissions, bundled SDKs, signing, build config. Reference, not findings.

PermissionRiskStatusNote
READ_EXTERNAL_STORAGE infousedan API this permission gates is referenced in code
WRITE_EXTERNAL_STORAGE infousedan API this permission gates is referenced in code
READ_CONTACTS mediumdeclarednot statically checkable for usage
ComponentKindVersionCategoryPII
Glidelibrary
Gsonlibrary
Signing
Schemes
v1, v2
Key
RSA 1024
Subject
Android Debug
Validity
Issues
Signed with Android SDK debug key (CN="Android Debug")Weak signing key: RSA 1024 (< 2048)
App profile
minSdk/target
16 / 29
Minification
none (0.017)
Network config
absent
Legacy storage
Native libs
extracted: —
StrictMode
no
Other inventory (19)
  • Framework: Native Android (confidence: low) code.framework_detection
  • java.lang.Math.random() called in com.bumptech.glide.load.resource.gif.GifFrameLoader crypto.insecure_random
  • 2 java.lang.Math.random() calls in void androidx.transition.Explode.calculateOut(View, Rect, int[]) crypto.insecure_random
  • java.util.Random instantiated in kotlin.random.FallbackThreadLocalRandom.implStorage.1 crypto.insecure_random
  • java.util.Random instantiated in kotlin.random.KotlinRandom crypto.insecure_random
  • WebView.setJavaScriptEnabled(true) in com.insecureshop.PrivateActivity platform.webview
  • WebView.setJavaScriptEnabled(true) in com.insecureshop.WebView2Activity platform.webview
  • WebView.setJavaScriptEnabled(true) in com.insecureshop.WebViewActivity platform.webview
  • App-scoped external-storage API used: Context.getExternalMediaDirs in androidx.core.content.FileProvider storage.external_storage_apis
  • External-storage API used: Environment.getExternalStorageDirectory in androidx.core.content.FileProvider storage.external_storage_apis
  • External-storage API used: Environment.getExternalStorageDirectory in androidx.core.os.EnvironmentCompat storage.external_storage_apis
  • External-storage API used: Environment.getExternalStorageDirectory in com.insecureshop.ChooserActivity storage.external_storage_apis
  • External-storage state query: Environment.getExternalStorageState (2 calls) in String androidx.core.os.EnvironmentCompat.getStorageState(File) storage.external_storage_apis
  • App-scoped external-storage API used: Context.getExternalFilesDir in androidx.core.content.ContextCompat storage.external_storage_apis
  • App-scoped external-storage API used: Context.getExternalFilesDirs in androidx.core.content.ContextCompat storage.external_storage_apis
  • App-scoped external-storage API used: Context.getExternalCacheDir in androidx.core.content.ContextCompat storage.external_storage_apis
  • App-scoped external-storage API used: Context.getExternalCacheDir in com.bumptech.glide.load.engine.cache.ExternalCacheDiskCacheFactory.1 storage.external_storage_apis
  • App-scoped external-storage API used: Context.getExternalCacheDir in com.bumptech.glide.load.engine.cache.ExternalPreferredCacheDiskCacheFactory.1 storage.external_storage_apis
  • App-scoped external-storage API used: Context.getExternalCacheDirs in androidx.core.content.ContextCompat storage.external_storage_apis