Is Random number generator safe?
Random number generator redirects matching site visits through a bit.ly URL that appends the current page URL.
The extension fetches redirect rules from calculat.pro/clsr and shares them with a content script that runs on all websites. When the current URL matches those rules and the hostname is configured, such as random.org, calculator.net, or mathgoodies.com, the page is redirected to a bit.ly link with the full current URL appended.
Who publishes itgrunbaster - 1 other listing from the same operator, none carrying a finding
grunbaster - 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, 30k+ users between them, none of them carrying a finding.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Random Number Generator reroutes visits to 3 reference sites through bit.ly
On random.org, calculator.net, or mathgoodies.com, the extension's content script navigates your tab to a bit.ly link with the full page URL appended, using redirect rules it fetches from calculat.pro on every startup.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-506
- Source
- Dynamic sandbox
You open www.random.org, www.calculator.net, or www.mathgoodies.com in a tab.
The extension's content script runs on every page you visit.
The tab is navigated to a bit.ly link with your full page URL appended.
This redirect is not mentioned in the extension's Chrome Web Store listing, which describes it only as a random number generator.
JSON body containing defaultMatches, a regex string matching random.org, calculator.net, and mathgoodies.com, and defaultLinks, an array mapping each domain to the redirect prefix https://bit.ly/35iaO4D?.
- Accept
- application/json
301 redirect issued by bit.ly. Observed during dynamic analysis immediately after navigating to www.random.org, and again for www.calculator.net with that site's URL appended instead.
The redirect check content.js runs on every page load
Renamed equivalent of the snippet above
var canRedirectAgain = cooldownElapsed('ckAli'); // true unless this origin redirected in the last 3 dayschrome.runtime.sendMessage({ start: true }, backgroundConfig => { if (backgroundConfig && backgroundConfig.defaultMatches) { let siteMatchRegex = new RegExp(backgroundConfig.defaultMatches, "i"); let redirectTable = backgroundConfig.defaultLinks; // [[domainFragment, bitlyPrefix], ...] if (window.location.href.match(siteMatchRegex) && canRedirectAgain) { let currentUrl = new URL(window.location.href); let hostname = currentUrl.hostname; for (let i in redirectTable) { if (hostname.indexOf(redirectTable[i][0]) != -1) { let nowSeconds = Math.floor(Date.now() / 1e3); localStorage.setItem('ckAli', nowSeconds); // start the 3-day cooldown for this origin window.location.href = redirectTable[i][1] + window.location.href; // navigate through bit.ly with the full URL appended break; } } } }});function cooldownElapsed(storageKey) { let nowSeconds = Math.floor(Date.now() / 1e3), lastFired = parseInt(localStorage.getItem(storageKey)) || 0; return !(nowSeconds - lastFired < 259200); // 259200s = 3 days}- calculat.pro
Remote config fetched on every startup. Controls which sites trigger a redirect and where the redirect goes, changeable at any time without a new extension version.
- bit.ly
Link-shortener the tab is navigated to on a match, with the full visited page URL appended as the destination.
What it can do
Permissions this extension asks for, as declared in version 0.1.3. Asking for a permission is not a finding on its own - it is what the extension can do if it chooses to.
Act on the current tab, but only after you click the extension
activeTab
Add items to the right-click menu
contextMenus
Run its own code inside the pages you visit
scripting
Where it sends data
Destinations our analysis observed Random 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.
- bit.ly
Random sends data to bit.ly. 2 other extensions we have analysed send data here.