Security Alert: Malware Risk Confirmed
Calm Tab
ID: ikkpalcjefegfbekcokjkdgmnbafmjfi
Supported Languages
Extension Info & Metadata
Publisher Contextual Analysis
- Author
- pereayatsView Profile
- Privacy
- Privacy Policy
- Help
- Help Center
- Country
- ES
- MX records exist
- Yes
- Domain exists
- Yes
- Is disposable
- No
- Is role-based
- No
- Mailbox exists
- Yes
- Address
- Carretera Vella 6 La Vall de Bianya, Girona 17813 ES
- Website
- Visit
Achieve Mindful Productivity
Achieve mindful productivity by turning your browser's new tab page into a beautiful time tracker. Track your most important tasks right within your new tab page and watch how your productivity skyrockets! - Time Tracker - Zen Breathing Box - Dark mode & light mode - Use it on unlimited devices for free! Future Features: - Website Blocker (Soon) - Bookmarks Manager (Soon) - Minimal Habit Tracker (Soon) - Simple Usage Analytics (Soon)
The server at calmtab.blackblocks.co can return any `redirect` URL in the session-check response and the extension will unconditionally navigate the current tab to it via `chrome.tabs.update`. This is a concrete server-controlled navigation primitive: if the operator decides to push a phishing URL or malicious page, every installed user is silently redirected with no user prompt or confirmation.
} else if (data.redirect) { // They logged in but they didn't pay chrome.tabs.update({ url: data.redirect })} else {The extension prompts for and POSTs the user's email address to the developer's server, then stores the returned JWT in `chrome.storage.sync` (which syncs across all Chrome profiles on all devices). Combined with the publisher's 100% malicious extension rate for their other published extensions, this email-collection-to-server-controlled-auth pipeline warrants scrutiny even if no immediate misuse is visible in the code.
let email = document.getElementById('email') .valuefetch('https://calmtab.blackblocks.co/login', { method: 'POST', mode: 'cors', body: JSON.stringify({ email: email }), headers: { 'Content-type': 'application/json; charset=UTF-8', } }) .then(response => response.json()) .then((data) => { document.getElementById('loading-login') .classList.add("d-none") if (data) { if (data.token) { // Saving token for later use chrome.storage.sync.set({ calm_jwt: data.token })The extension declares `*://*/*` host permissions, but the only external endpoints actually used in the code are `https://calmtab.blackblocks.co/login` and `https://calmtab.blackblocks.co/session`. The over-broad declaration grants the extension the right to make cross-origin fetch requests to any URL on the internet, far exceeding what the stated functionality requires and providing headroom for future server-directed data exfiltration without a permissions update.
{ "host_permissions": [ "*://*/*" ]}By severity
Versions scanned
Showing 1 of 2 scanned versions with more than one unique finding. Counts are unique findings that include each version.
| Extension Version | Code Review Findings |
|---|---|
| 1.0.0 | 3 |
Files with findings
2 distinct paths — top paths by unique finding count:
- script.js2
- manifest.json1
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.