Is 1Click Safe Browsing safe?
1Click Safe Browsing sends every page you open, with headers and page title, to its own servers.
For each website or frame you navigate to, the extension collects the URL, page title, window name, referrer, request and response headers, server IP and tab IDs. It compresses this and posts it to safe-browsing.1clickvpn.com, which goes well beyond a simple URL reputation check. A filter masks some URL parameters and credentials, but the host, path and titles are still sent.
Who publishes itdeveloper - 1 other listing from the same operator, 1 of them carrying a finding
developer - 1 other listing from the same operator, 1 of them carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
1 other listing published from this account, 400k+ users between them. 1 of them carries a finding.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
1ClickVPN sends full details of every page you load to safe-browsing.1clickvpn.c
Code analysis shows each http(s) page you open is reported to safe-browsing.1clickvpn.com with its URL, title, referrer, headers and server IP, more than a safety check needs.
- Severity
- High unwanted
- Type
- Unexpected
- CWE
- CWE-359
- Source
- Static analysis
You open any web page.
The listeners cover every http and https main frame and sub frame.
The extension reports the visit, with page details and headers, to a remote server.
A compressed record goes to safe-browsing.1clickvpn.com/api/rest/v2/secure/urls/checkSafety.
- Page addresshttps://www.example.com/account/orders
The address of the page you are on, after partial masking of some parameters.
- Page titleYour orders - Example Shop
The title shown in your tab, which often names the content you are viewing.
- Referrerhttps://www.google.com/
The page you came from before this one.
- Request and response headersuser-agent, accept-language, content-type
Headers your browser sent and the site returned for the page load.
- Server IP and tab IDs93.184.216.34, tab 412, opener 408
Where the site is hosted, plus identifiers for the tab and the tab that opened it.
- Panelist and partner IDspanalyticsId, instance 2, partner 18, distributor 18
A persistent identifier that ties records from the same browser together.
Stream configured in FULL_NAVIGATION mode
let Nn = null;const registerSafeBrowsingHelper = async () => { chrome.tabs.onRemoved.addListener(async e => { const t = await r.read(); delete t[e], await r.write(t) }); const e = await getPanelIdentity(); Nn = await Wt._$createStream((e => ({ _$mode: "FULL_NAVIGATION", _$enabled: !0, _$apiUrl: Kt("https://safe-browsing.1clickvpn.com"), _$panalyticsId: e.panalyticsId, _$pinstanceId: Number("2"), _$partnerId: Number("18"), _$distributorId: Number("18"), _$compressRequest: !0, _$sensitiveDataCheckEnabled: !0,Page fields read from the tab and listeners registered
Page data
service_worker.jsje._$getPageData = () => ({ name: window.name, title: document.title, referrer: document.referrer });Listeners
service_worker.js const _$phaseInitializationStarted = () => { F[U._$INITIALIZATION_STARTED] = !0, chrome.webRequest.onSendHeaders.addListener(_$callback((e, t) => { e._$webRequestHeadersSent(t) }), j, ["requestHeaders"]), chrome.webRequest.onHeadersReceived.addListener(_$callback((e, t) => { e._$webRequestHeadersReceived(t) }), j, ["responseHeaders"]), chrome.webRequest.onResponseStarted.addListener(_$callback((e, t) => { e._$webRequestResponseStarted(t) }), j, ["responseHeaders"]), chrome.webNavigation.onBeforeNavigate.addListener(_$callback((e, t) => { e._$webNavigationBeforeNavigate(t) })), chrome.webNavigation.onCompleted.addListener(_$callback((e, t) => { e._$webNavigationComplete(t) })), chrome.webNavigation.onCreatedNavigationTarget.addListener(_$callback((e, t) => { e._$createdNavigationTarget(t) })), chrome.webNavigation.onHistoryStateUpdated.addListener(_$callback((e, t) => { e._$historyStateUpdated(t)- safe-browsing.1clickvpn.com
Receives the compressed navigation records via checkSafety.
- id.1clickvpn.com
Supplies the persistent ID and the masking rules refreshed every 360 minutes.
Static analysis finding. This behaviour was identified by reading the shipped extension code and has not yet been reproduced in a live run. The trigger conditions and the exact data sent are read from the code, not from an observed capture.
Where it sends data
Destinations our analysis observed 1Click Safe Browsing contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- id.1clickvpn.com
1Click Safe Browsing sends data to id.1clickvpn.com. No other extension we have analysed sends data here.
- safe-browsing.1clickvpn.com
1Click Safe Browsing sends data to safe-browsing.1clickvpn.com. No other extension we have analysed sends data here.