curl -fsSL https://pushwarden.com/install.sh | sh
Choose your system below.
Developer malware protection · Linux · macOS · Windows
Fake job-interview projects, poisoned packages and infected GitHub repositories are how attackers reach developers now. PushWarden scans your computer, stops the malware before it runs, and cleans every infected branch on your GitHub, in minutes.
curl -fsSL https://pushwarden.com/install.sh | sh
Choose your system below.
PolinRider reached 2,000+ GitHub owners and 4,000+ repositories between March and September 2026. It is attributed to DPRK (Lazarus) operators and spreads through ordinary projects. What PushWarden checks, and what it cannot see
Why you need it
Attackers stopped targeting programs and started targeting the files developers open every day. Most people only find out when a colleague, or GitHub, tells them.
Cloning a project, opening it in your editor and running npm install all run someone else's code. A fake recruiter's "coding test" only needs you to open the folder.
It is appended to postcss.config.mjs, saved as a "font", hidden behind hundreds of spaces, or written in characters that draw nothing. Nothing looks wrong in your editor.
With your GitHub token the malware rewrites repositories and force-pushes itself to every branch it can reach. Colleagues who pull become the next victims.
Made for freelancers taking interview projects · maintainers · startups with a GitHub organisation · anyone who clones code from people they have never met.
How it stops the attack
Most tools check one thing, once. PushWarden watches the whole path from clone to spread.
PushWarden: a new file is checked within a second of being written.
PushWarden: flags the autorun task, and your editor is set so a folder cannot run anything by itself.
PushWarden: the malware's servers are blocked at the firewall and running programs are checked every five seconds.
PushWarden: finds every infected branch on GitHub and cleans each with one normal commit.
GitHub clean
PolinRider does not infect one repository. It infects all of them. PushWarden checks every repository you can push to, shows you what it found, and fixes each infected branch for you.
pushwarden github-clean, or open the guided screens.Checking is free. Fixing and pushing comes with PushWarden Pro. How github-clean works · Guided screens. Output shown is from the real program on four demo repositories.
Results
These are numbers from our own checks on 15 October 2026. We say what they mean, and what they do not.
node_modules includedEvery family, check by check, with sources · Security and privacy
Protection
It runs quietly in the background. Anything it removes you can put back, and it always tells you why it acted.
A new file is checked within a second of being written. Programs and network connections are checked every five seconds.
Real-time guardA bad file is locked away before it can run, with the reason. 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. The block stays after a restart.
Blocking C2 serversVS Code and similar editors are set so opening a folder cannot run anything on its own.
HardeningStops an infected commit before it is made, and fails the build if one slips into a pull request.
CI and automationOne command installs it as a system service that starts at boot, with no one at the screen.
Running on serversFree and Pro
Both versions find the malware and stop it from running. Pro saves you the work that comes after.
For everyone
Everything in Free, plus
pushwarden activate with your keyQuestions
No. It is built for the malware that targets developers: infected projects, packages, editor tasks and repositories. Keep your antivirus too. See exactly what it covers and what it cannot see.
No. There is no telemetry. It downloads updates and the indicator list, and with a Pro key it checks the licence about once a day. Alerts go to a webhook only if you set one. The full list is on the security page.
It moves them to a quarantine and tells you why, and you can put any file back. The free version moves the whole infected file. Pro removes only the malicious part. It never force-pushes or rewrites git history.
No. It installs and runs as your user. Blocking the malware's servers at the firewall asks for administrator rights once, and you can skip that step.
Then it stays quiet. pushwarden status shows that every protection layer is on and when the last full check ran.
Install PushWarden in a minute. It is free to start, needs no administrator rights, and every file it moves can be put back.
Install
One step, and only for your own user account. Coming from ThreatScan, the earlier name of this program? See moving to PushWarden. Installing on a server? There is a server install that starts at boot and needs no one at the screen.
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://pushwarden.com/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://pushwarden.com/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.