Security Alert: Confirmed Malware
HyperVolume
ID: hinhmojdkodmficpockledafoeodokmc
Supported Languages
Extension Info & Metadata
Publisher Contextual Analysis
- Author
- Isabel WansonView Profile
- Privacy
- Privacy Policy
- MX records exist
- Yes
- Domain exists
- Yes
- Is disposable
- No
- Is role-based
- No
- Mailbox exists
- Yes
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.
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.
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.
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
Versions scanned
Showing 2 of 3 scanned versions with more than one unique finding. Counts are unique findings that include each version.
| Extension Version | Code Review Findings |
|---|---|
| 1.0.1 | 2 |
| 1.0.0 | 4 |
Files with findings
2 distinct paths — top paths by unique finding count:
- js/background.js5
- js/popup.js1
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.
Gain full insight into all external connections.
Upgrade for full visibility.
Code Diff
Compare extension code between any two versions.
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.