Skip to content

datapartyjs/walk-without-rhythm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

walk-without-rhythm

"And you won't attract the worm"

Open Source Bash scripts which can detect signs of the Sha1-Hulud 2025-11-24 NPM/Github supply chain attack.

Requirements

  • bash
  • sed
  • grep
  • jq
  • curl

How to use

This is extremely expiremental so there's likely false postivies. If the attacker adapts this repo may produce false negatives. Besure to read the issues and report bugs.

./check-projects <path-to-projects>

./check-projects <path-to-projects>
  • Check package.json recursively for references to setup_bun.js
  • Crawl all package.json && package-lock.json for a complete listing of package names and versions
  • Check the full listing of package names against the list of known infected NPM packages.
  • Sets Exit Codes
    • 0 - Clean, no issues found
    • 1 - Warnings found (verification needed)
    • 2 - Critical issues found (immediate action required)
    • 3 - Error during scan
    • Compatible with the exit codes used in other scanners

Example - Infected Project & Dependency

Screenshot From 2025-11-24 23-39-35
Example - Reports and State

Reports and state are saved to reports/ and reports/state directories. These files maybe useful for additional scanning solutions.

The tool clears state between runs. Report files are not deleted and in most cases are merged between runs so multiple runs provide the combined results.

Screenshot From 2025-11-24 23-41-47

./is-npm-still-dangerous

  • Reads the data/infected-pkgs.txt
  • Downloads the latest package metadata for every known infected package
  • Downloads the current latest package.tgz
  • Uncompresses and scans the latest version using ./check-projects
  • Depending upon the scan result
./is-npm-still-dangerous

capacitor-voice-recorder-wav 6.0.3 - STILL COMPROMISED
haufe-axera-api-client 0.0.2 - STILL COMPROMISED
hyper-fullfacing 1.0.3 - STILL COMPROMISED
@ifelsedeveloper/protocol-contracts-svm-idl 0.1.2 - STILL COMPROMISED
my-saeed-lib 0.1.1 - STILL COMPROMISED
quickswap-ads-list 1.0.33 - STILL COMPROMISED
@seung-ju/react-native-action-sheet 0.2.1 - STILL COMPROMISED
tcsp 2.0.2 - STILL COMPROMISED
web-types-lit 0.1.1 - STILL COMPROMISED
Found 9 npm-reports/npm-latest-bad.txt packages STILL compromised!

See npm-reports/npm-latest-bad.txt for full listing.

Warning - Most people probably don't need to run this. It causes a lot of NPM traffic. Warning - There's a few packages this fails to download and check (likely bc's they are hosted outside of NPMjs.org)

NodeJS Supply Chain Attack, What's Going On?

https://helixguard.ai/blog/malicious-sha1hulud-2025-11-24

There is an onging supply chain attack currently affect NPM and GitHub. The details of this cybersecurity incident and it's discover posted a blog security company HelixGuard linked above.

At the time our team read the blog post we were able to quickly verify the security incident as well as rapidly locate evidence of the ongoing nature of this attack. Live updates will be posted to the below mastodon thread.

https://partyon.xyz/@nullagent/115607631833338864

Is the worm still active?

As of Noon Pacific time on November 26th, 2025, yes the worm is still active. Infected packages hosted by NPM continue to spread(ie #16 for an example). Meanwhile github continues to be a landing point the worm is publicaly stolen data to. From what we can see the worm IS active but has slowed down significantly.

Steps to take

  • Turn on Multi-Factor Authentication (MFA / 2FA) immediately on your NPM & GitHub accounts (and all other key infra). Change and review passwords for cloud services you use.
  • You probably shouldn't run any npm install or npm update commands until NPM and GitHub have official mitigations in place.
  • Before doing anything else you probably should check for signs of comproise. This can be done manually or using this repo or other similar scanning tools. If you DO continue working from an infected machine you risk having your personal data stolen or destroyed by this worm.
  • After verifying that your system has not already been compromised you can likely safely work as normal but you should avoid upgrading or installing any different package versions. Its not fully clear at the time of posting if NPM is taking down infected packages we're still finding infected packages for download on NPM at this time.
  • Before installing a new version of a package, you can download a .tgz archive using the command npm pack <package-name>. This does not install the package. You can then uncompress the package and check it for signs of compromise.
  • Consider disabling install scripts
    • npm install --ignore-scripts - Ignore install scripts
    • npm config set ignore-scripts true - Ignore install scripts user wide
    • "Package install scripts vulnerability" - NPM blog post from 2016 explaining worm mitigations
  • Consider using a tool for fine grained script management
  • If you are a package maintainer consider using npm shrinkwrap

Similar Sha1-Hulud 11/24/25 Detection Tools

Links to other projects provided with no warranty express or implied.

GitHub Scanners

Further Reading

About

A tool to check your repos for signs of NPM supply chain attack using BASH

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages