-
Notifications
You must be signed in to change notification settings - Fork 0
Security Testing Guide
End-to-end workflows for mobile application penetration testing with Mobilicustos.
Mobilicustos follows the OWASP Mobile Application Security Testing Guide (MASTG) methodology, organized around the MASVS (Mobile Application Security Verification Standard) categories:
| MASVS Category | Description | Analyzers |
|---|---|---|
| MASVS-STORAGE | Data storage and privacy | Secure Storage, Backup, Data Leakage |
| MASVS-CRYPTO | Cryptography | Crypto Auditor, DEX Analyzer, Semgrep |
| MASVS-AUTH | Authentication and session management | Authentication Analyzer |
| MASVS-NETWORK | Network communication | Network Config, SSL Pinning, Manifest, Plist |
| MASVS-PLATFORM | Platform interaction | Manifest, Component Security, Deeplink, Entitlements |
| MASVS-CODE | Code quality and build settings | Code Quality, Dependency, Semgrep |
| MASVS-RESILIENCE | Resilience against reverse engineering | Binary Protection, Obfuscation |
| MASVS-PRIVACY | Privacy | Privacy Analyzer, Permissions |
Best for: Initial security assessment without requiring a device.
-
Upload the application
POST /api/apps Content-Type: multipart/form-data file: app-release.apk -
Review framework detection
- Check if Flutter, React Native, or Native was detected
- Framework-specific analyzers will run automatically
-
Start a static scan
POST /api/scans { "app_id": "uuid", "scan_type": "static" }
-
Monitor progress
- Watch the Scan Detail view for per-analyzer status
- 26 analyzers for Android, 14 for iOS (plus cross-platform if applicable)
-
Review findings by priority
- Start with Critical and High severity
- Focus on findings with PoC evidence
- Check OWASP MASVS compliance dashboard
-
Validate false positives
- Use the PoC verification commands provided with each finding
- Mark confirmed false positives with reason
-
Export results
- PDF for executive stakeholders
- SARIF for developer teams
- CSV for custom analysis
Best for: Runtime behavior validation and bypass testing.
- Connected Android device or emulator
- ADB running on host
- Frida server on device
-
Set up the device
- Navigate to Devices view
- Click "Discover Devices" to find connected devices
- Install Frida server on the device
-
Upload and install the app
POST /api/apps (upload APK)Install via ADB:
adb install app-release.apk -
Start a dynamic scan
POST /api/scans { "app_id": "uuid", "scan_type": "dynamic" }
-
Runtime analyzer hooks into:
- Data storage APIs (SharedPreferences, Keychain)
- Cryptographic operations
- Network connections
- Logging calls
- Certificate validation
-
Review dynamic findings
- Compare with static analysis results
- Dynamic findings confirm or refute static detections
Best for: Assessing the app's resistance to reverse engineering and tampering.
-
Detect protections
POST /api/bypass/analyze { "app_id": "uuid", "device_id": "uuid" }
Identifies: root detection, SSL pinning, Frida detection, emulator detection, debugger detection, integrity checks
-
Attempt automated bypass
POST /api/bypass/auto-bypass { "app_id": "uuid", "device_id": "uuid", "detections": ["root", "ssl_pinning", "frida"] }
-
Manual bypass with Frida scripts
- Use built-in bypass scripts (SSL pinning, root, jailbreak, biometric)
- Write custom hooks via the Frida Script editor
-
Document results
- Bypass success/failure recorded with evidence
- Protection gaps added as findings
Best for: Testing the backend APIs discovered in the mobile app.
-
Run static scan to discover API endpoints
- The API Endpoint Extractor finds REST, GraphQL, and gRPC endpoints
- View results in the API Endpoints view
-
Export endpoints
GET /api/api-endpoints/{app_id}/export -
Probe endpoints
POST /api/api-endpoints/{app_id}/probeTests for: accessibility, authentication requirements, SSL configuration
-
Burp Suite integration
- Export endpoints to Burp Suite
- Run active scans against API endpoints
- Import Burp results back into Mobilicustos
-
Unified findings view
- Mobile static/dynamic findings + web API findings in one view
Best for: Verifying adherence to OWASP MASVS requirements.
-
Run a full scan (static + dynamic)
POST /api/scans { "app_id": "uuid", "scan_type": "full" }
-
View MASVS compliance
GET /api/compliance/masvs/{app_id}Shows pass/fail status for each MASVS requirement
-
Drill into categories
GET /api/compliance/masvs/{app_id}/MASVS-NETWORKSee specific test results per category
-
Generate compliance report
GET /api/compliance/report/{app_id}Full compliance report with evidence and remediation guidance
-
Track MASTG test coverage
GET /api/scans/{scan_id}/mastg-coverageShows which MASTG tests were executed and their results
Best for: Understanding real-world exploitability and prioritizing fixes.
-
Complete a full scan with multiple analyzers
-
Generate attack paths
POST /api/attack-paths/{app_id}/generateBuilds a Neo4j graph from findings showing exploitation chains
-
View attack path graph
- Navigate to Attack Paths view
- Visualize: Entry points → Exploitation steps → Sensitive targets
-
Prioritize remediation
- Focus on findings that appear in critical attack paths
- A single fix can break multiple attack chains
- Combined risk scores reflect real-world impact
Best for: Confirming whether discovered secrets are actually exploitable.
-
Review detected secrets
- Navigate to Secrets view
- Filter by type: AWS, Google, Firebase, Stripe, etc.
-
Live validation
POST /api/secrets/{secret_id}/validatePerforms safe, read-only probes:
- AWS: Attempts
s3 lswith discovered key - Google: Tests API key against Maps/Places API
- Firebase: Checks database/storage accessibility
- AWS: Attempts
-
Triage results
- Validated secrets → Critical severity
- Invalid/expired → Downgrade or mark as false positive
- Redacted display protects actual values
Discovery → Open → Confirmed → Remediated
↓
False Positive (with reason)
↓
Accepted Risk (with justification)
| Status | Description |
|---|---|
open |
Newly discovered, needs triage |
confirmed |
Validated as a real vulnerability |
false_positive |
Not a real issue (requires reason) |
accepted_risk |
Known issue, accepted by stakeholder |
remediated |
Fix verified |
- Use for non-technical stakeholders
- Includes: severity distribution, risk score, top findings, compliance status
- Export:
GET /api/exports/{app_id}/pdf
- Use for development teams
- Includes: full finding details, PoC commands, code snippets, remediation steps
- Export:
GET /api/exports/{app_id}/htmlorjson
- Use for automated security gates
- Upload to GitHub Code Scanning or Azure DevOps
- Export:
GET /api/exports/{app_id}/sarif
- Use for detailed manual testing documentation
- Combine with Burp Suite findings
- Export:
GET /api/exports/{app_id}/csv+GET /api/scans/{id}/export/burp
Mobilicustos v0.1.1 | GitHub Repository | MIT License
Getting Started
Architecture
Analysis Engine
Interface
Workflows