Find · Fix · Prevent
saw finds harmful code hidden in software you installed — in your project, and on this computer.
$ pip install stayawakebot- Your project, the packages it uses, and this computer
- The repair is a change you review before it is accepted
- This computer is locked down. New code is checked before it becomes official.
$
Harmful software runs with your access.Then it uses that access to spread.
It arrives inside software you chose to install, runs with your accounts, and uses them to hide itself in the next package someone else will install.
- 01
Arrives
hidden inside software you chose to install
Arrives
01hidden inside software you chose to install
- 02
Runs
the moment it installs, with your access, before anyone checks it
Runs
02the moment it installs, with your access, before anyone checks it
- 03
Steals
passwords, keys, and access to the accounts you can reach
Steals
03passwords, keys, and access to the accounts you can reach
- 04
Stays
remains on the computer after you restart it
Stays
04remains on the computer after you restart it
- 05
Calls home
sends a message to a computer the attacker controls
Calls home
05sends a message to a computer the attacker controls
- 06
Spreads
puts itself into the next package — then it starts again
Spreads
06puts itself into the next package — then it starts again
every package it infects becomes the next one someone installs
saw looks for it in your project, in the packages that project uses, in packages already on this computer, and in what starts when the computer starts.
The attack has stages.The response does too.
saw checks your project, this computer, and new code before it is accepted — so infected work does not become official until you approve the repair.
- 01
Find
Find it in the project, on this computer, and when new work arrives.
Check the projectYour project, the packages it uses, and the packages already on this computer. Then you see what it found.
Check what just arrivedWhen you download or update the project, what just arrived is checked before you run it.
Check this computerSaved passwords, editor settings, and programs that start when the computer starts.
Find
01Find it in the project, on this computer, and when new work arrives.
Check the projectYour project, the packages it uses, and the packages already on this computer. Then you see what it found.
Check what just arrivedWhen you download or update the project, what just arrived is checked before you run it.
Check this computerSaved passwords, editor settings, and programs that start when the computer starts.
- 02
Fix
Prepare a repair you review and accept.
Prepare the repairA change from the last safe version you already had. You review it and accept it.
Fix
02Prepare a repair you review and accept.
Prepare the repairA change from the last safe version you already had. You review it and accept it.
- 03
Prevent
Lock down this computer, and check new code before it becomes official.
Lock down this computerThe controls go on this computer.
Check new codeNew work must pass the check before it becomes official.
Prevent
03Lock down this computer, and check new code before it becomes official.
Lock down this computerThe controls go on this computer.
Check new codeNew work must pass the check before it becomes official.
What it does
Find it. Repair it. Lock the computer. Check new code.
Four jobs. That is the product.
Finding it is one step. Repairing it is another.
One step reports what it found. The next prepares a change you review before it is accepted.
The check covers the project and this computer.
Your project, the packages it uses, the packages already on the computer, and what starts when the computer starts.
New copies of the project are checked as they arrive.
When you download or update the project, what just arrived is checked before you run it.
This computer is locked down. New code is checked before it becomes official.
The computer first. Then the check on new code.
Get saw.
One line installs it.
$ pip install stayawakebotOther ways to run it
Scan a project folder from the published image.
$ docker run --rm -v "$PWD:/repo:ro" ghcr.io/ndevu12/stayawakebot saw scan /repoAdd the automatic check so new code is reviewed before it becomes official.
$ saw guard setup --pr