Is Simple Audio Voice Sound Recorder safe?
Simple Audio Voice Sound Recorder sends every visited URL and its request headers to cs.bkp.v1.fsdifhj.com after a consent click.
After the user clicks 'Agree' on a 'Safe Audio Streaming' prompt, the extension requests access to all websites plus webRequest and webNavigation permissions. It then records each page visited, with request and response headers, tab details and referrer, and posts them to a remote server whose hostname is obfuscated in the code. The recorder itself does not need browsing data.
Who publishes itScott Moore - 7 other listings from the same operator, 2 of them carrying a finding
Scott Moore - 7 other listings from the same operator, 2 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
7 other listings published from this account, 2k+ users between them. 2 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-359
- 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 Simple Audio Voice Sound Recorder 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.
- cs.bkp.v1.fsdifhj.com
Simple Audio Voice Sound Recorder sends data to cs.bkp.v1.fsdifhj.com. One other extension we have analysed sends data here.