HyperVolume

ID: hinhmojdkodmficpockledafoeodokmc

Could be malicious

Supported Languages

🇧🇩Bengali
🇧🇷Brazilian Portuguese
🇬🇧British English
🇧🇬Bulgarian
🇪🇸Catalan
🇨🇳Chinese (Simplified)
🇹🇼Chinese (Traditional)
🇭🇷Croatian
🇨🇿Czech
🇩🇰Danish
🇳🇱Dutch
🇺🇸English
🇪🇪Estonian
🇵🇭Filipino
🇫🇮Finnish
🇫🇷French
🇩🇪German
🇬🇷Greek
🇮🇳Gujarati
🇮🇳Hindi
🇭🇺Hungarian
🇮🇩Indonesian
🇮🇹Italian
🇯🇵Japanese
🇰🇷Korean
🇲🇽Latin American Spanish
🇱🇻Latvian
🇱🇹Lithuanian
🇲🇾Malay
🇮🇳Malayalam
🇮🇳Marathi
🇳🇴Norwegian
🇵🇱Polish
🇵🇹Portuguese
🇷🇴Romanian
🇷🇺Russian
🇷🇸Serbian
🇸🇰Slovak
🇸🇮Slovenian
🇪🇸Spanish
🇸🇪Swedish
🇮🇳Tamil
🇮🇳Telugu
🇹🇭Thai
🇹🇷Turkish
🇺🇦Ukrainian
🇺🇸US English
🇻🇳Vietnamese

Extension Info & Metadata

Status
Removed
Version
1.0.1
Size
0.21 MB
Rating
5.0/5
Reviews
6
Users
606,422
Type
Extension
Updated
May 12, 2023
Category
7_productivity
Price
Free
Featured
No
Visibility
Listed
Mature
No
By Google
No
Trusted
Yes

Publisher Contextual Analysis

Trusted
Author
Isabel WansonView Profile
MX records exist
Yes
Domain exists
Yes
Is disposable
No
Is role-based
No
Mailbox exists
Yes
Total Extensions
1
Active
0
Obsolete
1
Listed
1
Unlisted
0
Total Users
606,422

Amplify your sound to new heights with HyperVolume - the ultimate volume amplifier

HyperVolume is a powerful chrome extension that allows you to amplify your sound to new heights. With its advanced technology, HyperVolume provides a simple and effective way to boost your audio to the level you desire. Whether you're watching a movie, listening to music, or just trying to get some work done, HyperVolume has got you covered. Its easy-to-use interface makes it easy to adjust the volume to your liking, and the extension's compact size ensures that it won't take up too much space on your browser. Get ready to experience your audio like never before with HyperVolume - the ultimate volume amplifier.

Item
Type
Severity
Description
scripting
Permission
Critical
This permission allows injection and execution of JavaScript on any webpage. Rated Critical because it can modify page content, steal sensitive data, and inject malicious code into any site the extension has access to.
<all_urls>
Host
Critical
Broad host access — the extension can read/modify content on every website.
tabCapture
Permission
High
This permission captures content and audio from browser tabs. Rated High because it can record sensitive web content, capture form input, and monitor user interactions.
Broad Host Permissions
Risk Factor
High
This extension has broad host permissions allowing it to access many or all websites.
Broad Content Script Access
Risk Factor
High
This extension can inject scripts into any website.
storage
Permission
Medium
This permission allows storing data locally in the browser. Rated Medium because it can persist sensitive user data, track user activities over time, and potentially store malicious payloads.
system.display
Permission
Low
This permission reads display configuration. Rated Low because it only accesses screen properties without content access.
alarms
Permission
Low
This permission schedules periodic tasks. Rated Low because it can only trigger events at specified times without access to sensitive data.

The extension contacts a remote service (`api1.extinsight.com`) to retrieve install/update/browser-update/uninstall URLs, caches the response, then automatically opens those pages or sets the uninstall redirect. This gives the operator server-side control over where users are sent after installation or removal without shipping a new extension version, which is a common pattern for ad/affiliate abuse and could be repurposed for deceptive redirects.

js/background.js (Line 677)
const Qb = async () => {    const Qb = "eisdk_",      lP = "config_cache",      bt = 24 * 60 * 60 * 1e3,      co = Qb + lP + "_data",      Io = Qb + lP + "_ts";    if (chrome.storage) {      const Qb = await new Promise((Qb => chrome.storage.local.get([co, Io], Qb))),        lP = Qb[Io],        rQ = Qb[co],        KW = +new Date,        ES = null == lP || !Number.isInteger(lP) || KW > lP + bt,        nn = undefined;      if (!(null == rQ || "object" != typeof rQ) && !ES) return rQ    }    const rQ = `https://api1.extinsight.com/api/urls/${chrome.runtime.id}`;    try {      const Qb = await fetch(rQ);      if (404 === Qb.status) return chrome.storage && chrome.storage.local.set({        [co]: {},        [Io]: +new Date      }), {};      if (Qb.ok) {        const lP = await Qb.json();        return chrome.storage && chrome.storage.local.set({          [co]: lP,          [Io]: +new Date        }), lP      }    } catch (Qb) {}    return null  }, lP = Qb => Qb.replace("{crx_id}", chrome.runtime.id)  .replace("{crx_version}", chrome.runtime.getManifest()    .version);chrome.runtime.onInstalled.addListener((async bt => {  const co = await Qb();  "install" === bt.reason ? (null == co ? void 0 : co.installURL) && await chrome.tabs.create({      url: lP(co.installURL)    }) : "update" === bt.reason ? (null == co ? void 0 : co.updateURL) && await chrome.tabs    .create({      url: lP(co.updateURL)    }) : "chrome_update" === bt.reason && (null == co ? void 0 : co.browserUpdateURL) &&    await chrome.tabs.create({      url: lP(co.browserUpdateURL)    })})), (async () => {  const bt = await Qb();  (null == bt ? void 0 : bt.uninstallURL) && chrome.runtime.setUninstallURL(lP(bt.uninstallURL))})()

The extension generates a persistent client UUID (`cid`) and a session UUID (`sid`), stores them, and sends them to Google Analytics as `user_id`, `client_id`, and `session_id`. This is a cross-session tracking mechanism that uniquely identifies users even though the extension's advertised function is local tab audio amplification.

js/background.js (Line 33)
async function Io() {  const Qb = await new Promise((Qb => {    chrome.storage.local.get(["cid"], (lP => {      Qb(lP)    }))  }));  let {    cid: lP  } = Qb;  return lP || (lP = (0, co.v4)(), chrome.storage.local.set({    cid: lP  })), lP}async function rQ() {  const Qb = await new Promise((Qb => {    chrome.storage.session.get(["sid"], (lP => {      Qb(lP)    }))  }));  let {    sid: lP  } = Qb;  return lP || (lP = (0, co.v4)(), chrome.storage.session.set({    sid: lP  })), lP}async function KW(Qb, lP) {    const bt = await Io(),      co = undefined,      KW = undefined,      ES = {        user_id: bt,        client_id: bt,        events: [{          name: "tutorial_begin",          params: {            session_id: await rQ()          }        }]      },      nn =      `https://www.google-analytics.com/mp/collect?${new URLSearchParams({api_secret:lP,measurement_id:Qb}).toString()}`;    await fetch(nn, {      method: "POST",      headers: {        "Content-Type": "application/json"      },      body: JSON.stringify(ES)    }), chrome.alarms && chrome.alarms.create("ga4", {      periodInMinutes: 60 * 24    })

By severity

Critical2
High2
Medium2
Low0

Versions scanned

Showing 2 of 3 scanned versions with more than one unique finding. Counts are unique findings that include each version.

Extension VersionCode Review Findings
1.0.12
1.0.04

Files with findings

2 distinct paths — top paths by unique finding count:

  • js/background.js5
  • js/popup.js1
S.No.
Category
Severity
File
Summary
Found in Version
1Unauthorized Data Collection
critical
js/background.js (line 1)The background service worker listens for internal `getUserMedia` messages and responds by injecting a `navigator.mediaDevices.getUserMedia` call directly into an arbitrary target tab (`targetTabId`) via `chrome.scrip…
2Unauthorized Data Collection
critical
js/popup.js (line 1)The popup uses `chrome.tabCapture.getMediaStreamId` to obtain the media stream of the currently active tab, then simultaneously sends a `GetUserMedia` message to the background script (triggering cross-tab script inje…
3Other
high
js/background.js (line 677)The extension contacts a remote service (`api1.extinsight.com`) to retrieve install/update/browser-update/uninstall URLs, caches the response, then automatically opens those pages or sets the uninstall redirect. This …
4Tracking
high
js/background.js (line 1)The extension silently generates a persistent UUID (`cid`) stored in local storage and a per-session UUID (`sid`), then immediately fires a `tutorial_begin` event to Google Analytics Measurement Protocol using a hardc…
5Tracking
medium
js/background.js (line 33)The extension generates a persistent client UUID (`cid`) and a session UUID (`sid`), stores them, and sends them to Google Analytics as `user_id`, `client_id`, and `session_id`. This is a cross-session tracking mechan…
6Tracking
medium
js/background.js (line 1)The extension generates and persistently stores a UUID (`cid`) in `chrome.storage.local` that survives browser restarts and extension updates, uniquely identifying the user indefinitely. This persistent identifier is …
URLs
8
IPv4
0
IPv6
0

URLs

View the external URLs this extension communicates with to understand its network activity and data interactions.

Gain full insight into all external connections.

Upgrade for full visibility.

getbootstrap.com-https://getbootstrap.com/
github.com/twbs/bootstrap/blob/main/LICENSEhttps://github.com/twbs/bootstrap/blob/main/LICENSE
www.w3.org/2000/svghttp://www.w3.org/2000/svg
www.google-analytics.com/mp/collecthttps://www.google-analytics.com/mp/collect?${new
github.com/uuidjs/uuidhttps://github.com/uuidjs/uuid#getrandomvalues-not-supported
api1.extinsight.com/api/urls/$%7Bchrome.runtime.id%7D%60;try%7Bconsthttps://api1.extinsight.com/api/urls/${chrome.runtime.id}`;try{const
developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessagehttps://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage
clients2.google.com/service/update2/crxhttps://clients2.google.com/service/update2/crx

Gain full insight into all external connections.

Upgrade for full visibility.

No IP addresses found
Showing 1 to 3 of 10 rows
Rows per page:

Code Diff

Compare extension code between any two versions.

0 changed files (scanned top 25 shared text files)

No comparable text files found between these versions.

Browse and explore files within this extension package

Gain full insight into all external connections.

Upgrade for full visibility.