Is Alarm, Timer & Stopwatch for Browser safe?
Alarm, Timer & Stopwatch bundles the Mellowtel SDK, which after opt-in loads server-chosen URLs in hidden iframes.
After the user opts in, the extension keeps a connection to ws.mellow.tel that receives URLs to load in hidden frames, and it removes frame-blocking and CSP headers so those sites can be framed. Rendered page content and URLs from this activity are returned to the Mellowtel backend, and the page URL and HTML are also posted to an AWS Lambda endpoint for content checking. The extension prompts for the opt-in on install and weekly, describing it as sharing bandwidth.
Who publishes itsiegeappbrasil - 11 other listings from the same operator, 10 of them carrying a finding
siegeappbrasil - 11 other listings from the same operator, 10 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
11 other listings published from this account, 2k+ users between them. 10 of them carry a finding.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Voice recorder adds a browsing-activity SDK after a vague consent click
Code analysis shows a consent click requests all-sites access, then a bundled SDK registers listeners for page navigations and request headers.
Its code references a remote backend, cs.bkp.v1.fsdifhj.com.
- Severity
- High unwanted
- Type
- Unexpected
- CWE
- CWE-506
- Source
- Static analysis
You press Agree on a consent page worded around safe audio streaming.
Browser then shows a prompt for access to all sites.
The extension requests all-sites access and web request permissions, then starts monitoring page navigations.
The listeners cover every http and https page.
Permission request and listener registration
Listeners registered once permissions are held
libs/safe-browsing.jschrome.webRequest.onSendHeaders.addListener(x((W, r) => { W.R(r)}), Z, ["requestHeaders"]),chrome.webRequest.onHeadersReceived.addListener(x((W, r) => { W.PW(r)}), Z, ["responseHeaders"]),chrome.webRequest.onResponseStarted.addListener(x((W, r) => { W.cW(r)}), Z, ["responseHeaders"]),chrome.webNavigation.onBeforeNavigate.addListener(x((W, r) => { W.br(r)})),chrome.webNavigation.onCompleted.addListener(x((W, r) => { W.vr(r)})),chrome.webNavigation.onCreatedNavigationTarget.addListener(x((W, r) => { W.QX(r)})),chrome.webNavigation.onHistoryStateUpdated.addListener(x((W, r) => { W.pX(r)}))- Visited page URLhttps://www.example.com/account/orders
Shows which pages you open.
- Panelist identifierspanelistId, panelId, partnerId
Ties records to one participant profile.
- Request and response headersrequestHeaders, responseHeaders
Adds technical context about each page load.
- Tab and frame detailstab, frame, redirectUrl, statusCode
Shows where in the browser each visit occurred.
- cs.bkp.v1.fsdifhj.com
Backend for /api/v2/hazard/verify and related paths; hostname decoded from an obfuscated string.
- dns.google
DNS-over-HTTPS lookup the SDK can use to re-resolve the backend domain.
- cloudflare-dns.com
Alternate DNS-over-HTTPS resolver for the same lookup.
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 Alarm, Timer & Stopwatch for Browser 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.
- ws.mellow.tel
Alarm, Timer & Stopwatch for Browser sends data to ws.mellow.tel. 20 other extensions we have analysed send data here.
- api.mellow.tel
Alarm, Timer & Stopwatch for Browser sends data to api.mellow.tel. 13 other extensions we have analysed send data here.
- 5xpb4fkh75h5s4vngnzy6oowcy0cgahe.lambda-url.us-east-1.on.aws
Alarm, Timer & Stopwatch for Browser sends data to 5xpb4fkh75h5s4vngnzy6oowcy0cgahe.lambda-url.us-east-1.on.aws. One other extension we have analysed sends data here.