Is Mystique safe?
Mystique is medium risk. Opening Mystique features or searching its new-tab page requests mloeri.com/track/evt.php with feature name, extension ID, and stored install time/cohort. The request sends credentials, so mloeri.com cookies go too. No live path fired.…
Who publishes itApp Studio - 1 other listing from the same operator, none carrying a finding
App Studio - 1 other listing from the same operator, none carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
1 other listing published from this account, 50k+ users between them, none of them carrying a finding.
Shared hosts - 1 hostname
Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Feature events sent to mloeri.com with cookies
Opening Mystique features or searching its new-tab page requests mloeri.com/track/evt.php with feature name, extension ID, and stored install time/cohort.
The request sends credentials, so mloeri.com cookies go too.
No live path fired.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-359
- Source
- Dynamic sandbox
You open or use a Mystique feature in the new-tab page.
The code names forecast, quick links, top sites, options, news, notepad, to-do list, welcome, and search interactions.
Mystique prepares a tracking request to mloeri.com for that interaction.
The request includes the feature name and value, and one path also adds stored install and cohort values.
- Extension IDedcdolejdklgjkjinjknidifilkpnmgn
Lets the destination associate the event with this installed Chrome extension.
- Feature nameforecast
Shows which part of the extension you used.
- Feature valueopen
Adds detail about the interaction, such as opening a panel or clicking an option.
- Install time1713139200 (illustrative)
Can help connect multiple events back to the same extension install over time.
- Cohortdefault (illustrative)
Can group your install with a stored rollout or experiment value.
- mloeri.com cookiesvisitor_id=8f14e45fceea167a5a36dedd4bea2543 (illustrative)
If your browser has cookies for mloeri.com, the credentialed request path includes them with the event.
No request body is sent. No live response body was recorded because the automated analysis did not open the extension feature UI.
Shipped code that builds the mloeri.com event requests
Credentialed page-script request
deobfuscated/func.jsfunction trackFeature(feature, value) { var url = 'https://mloeri.com/track/evt.php?extid='+chrome.runtime.id+'&feature='+encodeURIComponent(feature)+'&value='+encodeURIComponent(value); var xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.open('GET', url, true); xhr.send('');}Background request with stored install values
deobfuscated/bg.jsfunction trackFeature (feature, value) { chrome.storage.sync.get(['cohort', 'install_time'], function(data) { var url = 'https://mloeri.com/track/evt.php?extid='+chrome.runtime.id+'&feature='+encodeURIComponent(feature)+'&value='+encodeURIComponent(value); if (data['install_time']) { url += '&install_time='+data['install_time'] } if (data['cohort']) { url += '&cohort='+encodeURIComponent(data['cohort']); } fetch(url); });}chrome.runtime.onMessage.addListener( function(request, sender, sendResponse) { if (request.feature) { trackFeature(request.feature, request.value); } });Examples of feature interactions that call trackFeature
UI interaction call sites
deobfuscated/func.js$(document).on('click', function (e) { if ($(e.target).closest('#weather').length) { if ($("#forecast").is(':hidden')) { trackFeature('forecast', 'open'); } $("#forecast").slideToggle(); } else if (!$(e.target).closest('#forecast').length) { $('#forecast').slideUp(); }});$(document).on('click', function (e) { if ($(e.target).closest('#menu').length) { if ($("#menuTools").is(':hidden')) { trackFeature('quick_links', 'open'); } $("#menuTools").slideToggle(); } else if (!$(e.target).closest('#menuTools').length) { $('#menuTools').slideUp(); }});$(document).on('click', function (e) { if ($(e.target).closest('#topSitesIcon').length) { if ($("#topSitesMenu").is(':hidden')) { trackFeature('top_sites', 'open'); } $("#topSitesMenu").slideToggle(); } else if (!$(e.target).closest('#topSitesMenu').length) { $('#topSitesMenu').slideUp(); }});- mloeri.com
Receives feature interaction events at /track/evt.php, including feature/value parameters and stored install values when present.
Searches route through webresult.info before the engine
Submitting a search in Mystique redirects to webresult.info/search.php before the chosen provider.
The redirect carries the typed term, extension ID, and stored install time/cohort.
No live request recorded; testing never typed in the box.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-359
- Source
- Dynamic sandbox
You submit a search from Mystique's search box.
The handler runs when you press Enter in the search field or click the search button.
Mystique redirects your browser through webresult.info with the search query in the URL.
The same function also sends a search feature event to the extension background script.
- Search queryweather tomorrow (illustrative)
The words you type into Mystique's search box are sent in the redirect URL.
- Extension IDedcdolejdklgjkjinjknidifilkpnmgn
Identifies the Chrome extension that generated the search redirect.
- Search provider markerp=yhs&u=mystique
Indicates the provider path selected by the extension for the redirect.
- Install time1713139200 (illustrative)
Can connect multiple searches back to the same extension install over time.
- Cohortdefault (illustrative)
Can group your searches with a stored rollout or experiment value.
No request body is sent. No live response body was recorded because the automated analysis did not submit the extension search form.
Shipped code that redirects searches through webresult.info
Search box event handlers and redirect function
deobfuscated/func.js// Searching$('#searchTextbox').focus();$('#searchTextbox').keypress(function (e) { if (e.keyCode == 13) { runSearch(); }});$('#searchClose').click(function () { $('.searchEngine').hide(); $('#searchResults').hide();});$('#searchButton').click(function () { runSearch();});function runSearch() { var searchTerm = document.getElementById('searchTextbox').value; chrome.runtime.sendMessage({feature: "search", value: searchTerm}); chrome.storage.sync.get(['cohort', 'install_time'], function(data) { var url = 'https://webresult.info/search.php?p=yhs&extid='+chrome.runtime.id+'&u=mystique&q=' + encodeURIComponent(searchTerm); if (data['install_time']) { url += '&install_time='+data['install_time'] } if (data['cohort']) { url += '&cohort='+encodeURIComponent(data['cohort']); } window.location = url; });}- webresult.info
Receives search redirects at /search.php with the typed query, extension ID, provider marker, and stored install values when present.
What it can do
Permissions this extension asks for, as declared in version 1.0.26. Asking for a permission is not a finding on its own - it is what the extension can do if it chooses to.
Read your physical location
geolocation
Store data in your browser
storage
Read the sites you visit most
topSites