apk-scanner.com
PhotoSolve: AI Homework Helper
com.gansoft.photosolve · Build 5.3.0
Analysis: complete. Static analysis completed for this build. A grade is not a guarantee of safety. Historical verification does not establish current reachability.
- Grade / score
- B · 78/100
- Finding categories
- 6
- Occurrences
- 28
- Scanned
- 2026-10-08T17:04:24.271Z
- Document issued
- 2026-10-13T17:12:33.735Z
- Historical verifications
- 0
Finding evidence
Open a category to review its occurrences. Printing includes all categories and occurrences.
Database connection string with credentials · high · 1 occurrence
Remove the embedded username:password, rotate the credential, and authenticate to the endpoint with short-lived per-user tokens instead.
CWE-798 · CWE-312 · MASVS-STORAGE-1 · MASVS-AUTH-1
•••••••• (40+ chars, redacted)
Application data is backup-enabled · info · 1 occurrence
Backup is on by default on Android; this manifest states it explicitly. If the app stores sensitive local data, define dataExtractionRules/fullBackupContent to exclude it, or set android:allowBackup=false.
CWE-530 · CWE-312 · MASVS-STORAGE-1 · MASVS-STORAGE-2
android:allowBackup="true"
Firebase Realtime Database reference · low · 1 occurrence
Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open.
CWE-200 · CWE-284 · MASVS-STORAGE-2
https://██████████████████████████████.firebaseio.com/███
Google API key (client-shipped; restriction unverified) · low · 1 occurrence
Restrict the API key (application + API restrictions in Google Cloud Console); a client-shipped key is public, so restriction is the control.
CWE-798 · MASVS-STORAGE-1
AIza•••••••• (21–40 chars, redacted)
Firebase Storage bucket reference · low · 23 occurrences
Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open.
CWE-200 · CWE-284 · MASVS-STORAGE-2
https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███https://███████████████.googleapis.com/███████████████████████████████████████
Sentry DSN · low · 1 occurrence
A client DSN is low-risk but confirm it is a client (not internal) DSN and cannot be abused to spoof events.
CWE-200 · MASVS-STORAGE-2
https://█████████████████.ingest.us.sentry.io/███
Control coverage
Mapped static evidence does not establish a control pass. Manual assessment remains separate.
| Control | Requirement | Recorded status |
|---|---|---|
| MASVS-STORAGE-1 | The app securely stores sensitive data. | Review signal |
| MASVS-STORAGE-2 | The app prevents leakage of sensitive data. | Review signal |
| MASVS-CRYPTO-1 | The app employs current strong cryptography and uses it according to best practices. | No static findings · not a pass |
| MASVS-CRYPTO-2 | The app performs key management according to best practices. | No static findings · not a pass |
| MASVS-AUTH-1 | The app uses secure authentication and authorization protocols. | Review signal |
| MASVS-AUTH-2 | The app performs local authentication securely. | Manual assessment |
| MASVS-AUTH-3 | The app secures sensitive operations with additional authentication. | Manual assessment |
| MASVS-NETWORK-1 | The app secures all network traffic according to current best practices. | No static findings · not a pass |
| MASVS-NETWORK-2 | The app verifies the identity of the remote endpoint (e.g. certificate pinning). | No static findings · not a pass |
| MASVS-PLATFORM-1 | The app uses IPC mechanisms securely. | No static findings · not a pass |
| MASVS-PLATFORM-2 | The app uses WebViews securely. | No static findings · not a pass |
| MASVS-PLATFORM-3 | The app uses the user interface securely. | Manual assessment |
| MASVS-CODE-1 | The app requires an up-to-date platform version. | No static findings · not a pass |
| MASVS-CODE-2 | The app has a mechanism for enforcing updates. | Manual assessment |
| MASVS-CODE-3 | The app only uses software components without known vulnerabilities. | No static findings · not a pass |
| MASVS-CODE-4 | The app validates and sanitizes all untrusted inputs and follows secure-coding practice. | No static findings · not a pass |
| MASVS-RESILIENCE-1 | The app validates the integrity of the platform. | Manual assessment |
| MASVS-RESILIENCE-2 | The app implements anti-tampering mechanisms. | Manual assessment |
| MASVS-RESILIENCE-3 | The app implements anti-static-analysis mechanisms. | Manual assessment |
| MASVS-RESILIENCE-4 | The app implements anti-dynamic-analysis techniques. | Manual assessment |
| MASVS-PRIVACY-1 | The app minimizes access to sensitive data and resources. | No static findings · not a pass |
| MASVS-PRIVACY-2 | The app prevents identification of the user. | No static findings · not a pass |
| MASVS-PRIVACY-3 | The app is transparent about data collection and usage. | No static findings · not a pass |
| MASVS-PRIVACY-4 | The app offers user control over their data. | Manual assessment |
Build identity and signature
- Scan ID
- 99cf5e6f-6ec5-4d15-9b07-250a013a199f
- APK SHA-256
5c361b305e61587c3f4d7bcf7f43b4f1eefb927b72089e1ac81c57bb1856b8a2- Capsule SHA-256
de024c3e95c4b563516c0c44abd6f0b6682a97c57de08fc99e061e6990570ca6- Signing key
- IE6LeZNX4dAAPLGr
Verify the signed JSON at apk-scanner.com/verify. This printed view is a presentation of the signed record; the JSON is the verification artifact.