Urban VPN
igmoflgphnlpcbeedabbhcpppklkkdeb
Risk Score
6.26
Risk Level:
High
Recommendation:
🚫 BLOCK
Top Risks
- proxy permission routes all browser traffic through attacker-controlled servers (app.myxavpn.pro, securepulse.space).
- Developer is free-webmail Gmail with no name, no verified publisher — unaccountable identity.
- Privacy policy is Google's own generic policy — does not scope to this extension at all; ADMITS data collection and 3rd-party sharing.
- Install-URL hijack: onInstalled redirects to securepulse.space, a third-party domain not operated by any verified entity.
- Extension name 'Urban VPN' mimics a real brand but is operated by an anonymous Gmail developer with only 358 installs.
Evidence
- proxy_permission manifest proxy declared — enables full traffic interception/rerouting to external hosts.
- install_url_hijack crx onInstalled opens securepulse.space — a third-party domain with no verified business identity.
- external_js_hosts crx JS contacts app.myxavpn.pro, securepulse.space, t.me — 3 distinct registrable domains incl. Telegram.
- generic_privacy_policy store Privacy policy URL is Google's own policy; scope_extension=false, data_collection=true, third_party_sharing=true.
- free_webmail_no_dev_name store developer_email=norkienej@gmail.com, developer_name empty, no verified publisher badge.
- small_install_high_perm api install_perm_anomaly: 358 installs with HIGH-tier proxy permission — tail attack surface.
- geo_diversity crx JS hosts span NL and RU — two countries for a VPN is borderline but RU presence notable.
- brand_impersonation_risk store Name 'Urban VPN' mimics existing Urban VPN brand; developer is unverified Gmail account.
Permissions Breakdown
- proxy high proxy is a HIGH-tier permission; allows full rerouting of all browser traffic through arbitrary servers.
Pillar Scores
Permissions7.00
Reputation8.00
Network5.00
Webstore7.50
Maintenance0.00
Privacy10.00
Code Quality0.00
CVE Exposure0.00
Bookkeeping
Rubric v3.6
Scored at 2026-09-02 14:04
Listing SHA
26f9f5df6b8e…
Force block
— not fired
Score recovered
no
Elapsed
—