Install PushWarden
curl -fsSL https://raw.githubusercontent.com/FaheemRafiq/pushwarden/main/installers/install.sh | sh
Choose your system below.
Free · Linux, macOS, Windows
The PolinRider malware hides inside the projects you clone. PushWarden catches it the moment it lands on your computer, locks it away before it can run, and tells you exactly what it found.
curl -fsSL https://raw.githubusercontent.com/FaheemRafiq/pushwarden/main/installers/install.sh | sh
Choose your system below.
Free. No administrator password. It keeps itself up to date.
The threat
PolinRider is a campaign attributed to North Korean (DPRK, Lazarus) operators. It targets software developers, often through fake job interviews in which the victim is asked to clone and run a repository.
Obfuscated loaders are appended to config files such as postcss.config.mjs, placed in files that
pretend to be fonts, and started by .vscode/tasks.json tasks that run when a folder is opened.
Opening the folder in the editor or starting the dev server is enough. Tokens, SSH keys, browser sessions and wallet files are collected and sent to command servers.
With a stolen token it rewrites repositories and force-pushes the backdoor to every branch it can reach, so colleagues who pull become infected too.
Protection
PushWarden runs quietly in the background and watches your projects for you. Anything it removes you can put back, and it always tells you why it acted.
A new file in your projects is checked within a second of being written. Running programs and network connections are checked every five seconds.
Real-time guardA bad file is locked away before it can run, and you are shown what was found. Changed your mind? Put it back with one command.
Response and recoveryYour computer is stopped from talking to the malware's servers, so nothing can be sent to them. The block stays after a restart.
Blocking C2 serversVS Code and editors like it are set so that opening a folder cannot run anything on its own.
HardeningThe malware is removed from every branch of your repositories with one ordinary commit each. Your history is never rewritten.
Cleaning GitHub repositoriesEvery file it found and every step it took is written down with the reason, and you can look it up any time.
Activity historyScan one folder or your whole computer whenever you want. A full check also runs by itself every six hours.
ScanningStops an infected commit before it is made, and fails the build if one slips into a pull request.
CI and automationIt learns about new variants every day and updates itself. Every update is verified before it is installed.
UpdatesGuided screens
No commands to remember. Open PushWarden and follow the screens.
Install
One step, and only for your own user account. Coming from ThreatScan, the earlier name of this program? See moving to PushWarden.
The installer is not code-signed yet. If SmartScreen appears, choose More info, then Run anyway.
Afterwards, open PushWarden from the Start menu to check and clean your GitHub repositories on guided screens.
Intel and Apple silicon. Open Terminal (Applications, Utilities, Terminal), paste this and press Return. No password needed:
curl -fsSL https://raw.githubusercontent.com/FaheemRafiq/pushwarden/main/installers/install.sh | sh
It downloads PushWarden, checks its SHA-256 against the published list, and sets it up for your user.
Prefer an installer? PushWarden.pkg
The package is not notarized yet, so macOS blocks it the first time ("unidentified developer").
Try to open it once, then go to System Settings, Privacy & Security, and click Open Anyway (it appears for about an hour).
Or install it from Terminal: installer -pkg ~/Downloads/PushWarden.pkg -target CurrentUserHomeDirectory
Afterwards, open PushWarden from the Applications folder in your home folder to check and clean your GitHub repositories on guided screens.
Run in a terminal (no sudo):
curl -fsSL https://raw.githubusercontent.com/FaheemRafiq/pushwarden/main/installers/install.sh | sh
Or install a package (with sudo; it sets PushWarden up for your user):
Afterwards, pushwarden ui checks and cleans your GitHub repositories on
guided screens.
After installing, check it any time with pushwarden status.
Every download is listed with its SHA-256 in checksums.txt,
which is signed.