Rapid Response: Search for malicious discord tokens in the npm repository

circle
circle

On December 8, 2021, our friends at jFrog published an article, "Malicious npm Packages Are After Your Discord Tokens – 17 New Packages Disclosed". 

From jFrog: "We are now sharing the findings of our most recent body of work — disclosing 17 malicious packages in the npm (Node.js package manager) repository that were picked up by our automated scanning tools. Many of them intentionally seek to attack a user’s Discord token, which is a set of letters and numbers that act as an authorization code to access Discord’s servers. It is effectively a user’s credentials. Put plainly: obtaining a victim’s Discord token gives the attacker full access to the victim’s Discord account.

JupiterOne response to our clients

This query form is for our customers who are using our npm-inventory script to ingest NPM CodeModule dependencies. Security Operations or DevSecOps teams can use the npm-inventory script to inventory a set of code repos (or exhaustively clone them all locally for full coverage).

This script will ingest CodeRepo -USES-> CodeModule relationships into the J1 graph, that may be queried to search for vulnerable packages. In the query below, we’ll search for packages affected by this weekend’s disclosure related to discord token harvesting…

FIND CodeRepo THAT USES AS u CodeModule AS cm WHERE
(cm.displayName = 'prerequests-xcode' and u.version = '1.0.4') or
(cm.displayName = 'discord-selfbot-v14' and u.version = '12.0.3') or
(cm.displayName = 'discord-lofy' and u.version = '11.5.1') or
(cm.displayName = 'discordsystem' and u.version = '11.5.1') or
(cm.displayName = 'discord-vilao' and u.version = '1.0.0') or
(cm.displayName = 'fix-error' and u.version = '1.0.0') or
(cm.displayName = 'wafer-bind' and u.version = '1.1.2') or
(cm.displayName = 'wafer-autocomplete' and u.version = '1.25.0') or
(cm.displayName = 'wafer-beacon' and u.version = '1.3.3') or
(cm.displayName = 'wafer-caas' and u.version = '1.14.20') or
(cm.displayName = 'wafer-toggle' and u.version = '1.15.4') or
(cm.displayName = 'wafer-geolocation' and u.version = '1.2.10') or
(cm.displayName = 'wafer-image' and u.version = '1.2.2') or
(cm.displayName = 'wafer-form' and u.version = '1.30.1') or
(cm.displayName = 'wafer-lightbox' and u.version = '1.5.4') or
(cm.displayName = 'octavius-public' and u.version = '1.836.609') or
(cm.displayName = 'mrg-message-broker' and u.version = '9998.987.376')
avatar

Posted By JupiterOne Team

The JupiterOne Team is a diverse set of engineers and developers who are working on the next generation of cyber asset visibility and monitoring.

To hear more from the JupiterOne Team, get our newsletter. No spam, just the good stuff once or twice a month. Sign up below.

PREVIOUS ARTICLE

cyber-security 1

Ad Title Placeholder

Lorem ipsum dolor sit amet, consectetur adipiscing elit.