# How we found 24 Android vulnerabilities using our open source AI security agent

Exported MapActivity in OsmAnd accepts attacker intent extras to silently import settings, redirecting tile/route URLs to leak precise user location.

- Payout: Research
- Severity: critical
- Program: OsmAnd
- Write-up by: Kevin Stubbings
- Disclosed: 2026-09-28
- Write-up quality: 7/10
- Original: https://github.blog/security/how-we-found-24-android-vulnerabilities-using-our-open-source-ai-security-agent/
- Library page: https://bugbountylibrary.com/r/blog%3Agithub-blog-security-how-we-found-24-android-vulnerabilities-using-our-open-source-ai-security-agent
- Tags: area:mobile domain:mobile impact:data-leak impact:pii-leak kind:research platform:research sev:critical tech:android technique:source-review vuln:access-control vuln:info-disclosure

**Target:** Android app exported activity (MapActivity) settings import
**Root cause:** MapActivity is exported and trusts intent extras (settings_version, silent_import, replace, export_type_list_key) that were meant only for an in-process AIDL service; Android cannot restrict which extras external apps set.
**Steps:**
1. Identify exported MapActivity handling settings import via intent extras.
2. Send intent with extras `settings_version`, `silent_import=true`, `replace=true`, `export_type_list_key` to trigger handleOsmAndSettingsImport.
3. Supply settings file replacing tile URL template with `{ATTACKER_DOMAIN}/tiles/{0}/{1}/{2}.png`.
4. Attacker server logs x,y,zoom per tile request and serves matching OSM tile image.
5. Repeat with route URL template to capture origin/destination waypoints.
**How found:** AI taskflow (gather_mobile_entry_point_info + classify_application_local) enumerated mobile entry points, flagged exported activities accepting intent extras, and checked intent-based classes like confused deputy; researcher reviewed LLM findings.
**Exploitation:** Any app, even with no permissions, sends an intent to exported MapActivity with silent_import/replace extras and a settings file pointing tile and route URL templates at an attacker server; the server logs tile x/y/zoom and route coordinates, reconstructing precise device location and travel routes without user notification.
**Escalation:** Same primitive also captures origin/destination of every route via OSRM path template, broadening location intel beyond map viewport.
**Insight:** Exported Android activities that read intent extras intended for internal AIDL/in-process callers are a confused-deputy goldmine; check whether extras like silent/replace flags let you rewrite URL templates that beacon coordinates.
