Safe Search Eng

ID: lfdkgganmodljeaemeadfhfhinpldmnf

Could be malicious

Supported Languages

🇺🇸US English

Extension Info & Metadata

Status
Removed
Version
2.2.0
Size
0.01 MB
Rating
1.0/5
Reviews
54
Users
10,000
Type
Extension
Updated
Mar 25, 2024
Category
Productivity Tools
Price
Free
Featured
No
Visibility
Listed
Mature
No
By Google
No
Trusted
No

Publisher Contextual Analysis

Author
https://safesearcheng.comView Profile
MX records exist
Yes
Domain exists
Yes
Is disposable
No
Is role-based
No
Mailbox exists
Yes
Website
Visit
Total Extensions
1
Active
0
Obsolete
1
Listed
1
Unlisted
0
Total Users
10,000

Safe Search Eng

change the default search engine to Yahoo.

Item
Type
Severity
Description
declarativeNetRequest
Permission
Critical
This permission allows the extension to define rules to block, redirect, or modify network requests. Rated Critical because it can control all network traffic, potentially blocking security updates or redirecting to malicious sites.
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.
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.
https://safesearcheng.com/*
Host
Medium
Host permission — access limited to this URL pattern.

A dynamic declarativeNetRequest redirect rule is injected at runtime to append the user's persistent UID and affiliate source tag to every search query URL. This silently embeds the tracking identifier into each search request, enabling the operator to build a per-user search history profile and monetise searches through affiliate attribution. The rule is re-injected on every startup so it cannot be removed by clearing storage alone.

bg.js (Line 57)
chrome.declarativeNetRequest.updateDynamicRules({  removeRuleIds: [2],  addRules: [{    "id": 2,    "priority": 1,    "action": {      "type": "redirect",      "redirect": {        "transform": {          "queryTransform": {            "addOrReplaceParams": [{              "key": "u",              "value": result.uid            }, {              "key": "s",              "value": result.src            }]          }        }      }    },    "condition": {      "urlFilter": "safesearcheng.com/search*",      "resourceTypes": ["main_frame"]    }  }]});

The manifest forcibly overrides the browser's default search engine to safesearcheng.com with `is_default: true`, redirecting all omnibox searches to the operator's server. Combined with the UID injection in bg.js, every search query typed by the user is transmitted to the operator's infrastructure with a persistent cross-session identifier, constituting a comprehensive search-history surveillance mechanism.

manifest.json (Line 9)
{  "search_provider": {    "name": "the web",    "keyword": "csb",    "search_url": "https://safesearcheng.com/search?q={searchTerms}&s=rg_om&u=%USERID%",    "favicon_url": "https://safesearcheng.com/assets/searchbar/favicon.png",    "encoding": "UTF-8",    "is_default": true  }}

The extension reads cookies set by safesearcheng.com (`_uid` and `_src`) and persists them into synced storage. This cross-origin cookie harvesting lets the operator assign a persistent tracking identifier (`_uid`) and an affiliate/source tag (`_src`) to the user silently, without any disclosure. The `_src` value defaults to `rg_om`, indicating an affiliate referral code used for revenue attribution.

bg.js (Line 6)
chrome.cookies.get({  url: 'https://safesearcheng.com/',  name: '_uid'}, function(c) {  let userid = (c && c.value) || generateUID();  chrome.storage.sync.set({    uid: userid  }, function() {});});chrome.cookies.get({  url: 'https://safesearcheng.com/',  name: '_src'}, function(c) {  let src = (c && c.value) || 'rg_om';  chrome.storage.sync.set({    src: src  }, function() {});});

On every browser startup/service-worker wake, the extension silently pings a remote endpoint with the user's persistent tracking UID, the exact extension ID, and the extension version. This is an undisclosed telemetry beacon that allows the operator to track individual users over time, correlate installations, and monitor the installed extension fleet. No user consent is obtained.

bg.js (Line 87)
let extVersion = chrome.runtime.getManifest().version;fetch(  `https://safesearcheng.com/api/ext_ping?uid=${result.uid}&extID=${chrome.runtime.id}&extVersion=${extVersion}`)

By severity

Critical2
High2
Medium0
Low0

Versions scanned

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

Extension VersionCode Review Findings
2.2.04

Files with findings

2 distinct paths — top paths by unique finding count:

  • bg.js3
  • manifest.json1
S.No.
Category
Severity
File
Summary
Found in Version
1Tracking
critical
bg.js (line 57)A dynamic declarativeNetRequest redirect rule is injected at runtime to append the user's persistent UID and affiliate source tag to every search query URL. This silently embeds the tracking identifier into each searc…
2Unauthorized Data Collection
critical
manifest.json (line 9)The manifest forcibly overrides the browser's default search engine to safesearcheng.com with `is_default: true`, redirecting all omnibox searches to the operator's server. Combined with the UID injection in bg.js, ev…
3Tracking
high
bg.js (line 87)On every browser startup/service-worker wake, the extension silently pings a remote endpoint with the user's persistent tracking UID, the exact extension ID, and the extension version. This is an undisclosed telemetry…
4Unauthorized Data Collection
high
bg.js (line 6)The extension reads cookies set by safesearcheng.com (`_uid` and `_src`) and persists them into synced storage. This cross-origin cookie harvesting lets the operator assign a persistent tracking identifier (`_uid`) an…
URLs
6
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.

safesearcheng.com-https://safesearcheng.com/
safesearcheng.com/api/ext_pinghttps://safesearcheng.com/api/ext_ping?uid=${result.uid}&extID=${chrome.runtime.id}&extVersion=${extVersion}`
safesearcheng.com/searchhttps://safesearcheng.com/search?q={searchTerms}&s=rg_om&u=%USERID%
safesearcheng.com/assets/searchbar/favicon.pnghttps://safesearcheng.com/assets/searchbar/favicon.png
safesearcheng.com/*https://safesearcheng.com/*
clients2.google.com/service/update2/crxhttps://clients2.google.com/service/update2/crx

Gain full insight into all external connections.

Upgrade for full visibility.

No IP addresses found
Showing 1 to 3 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.