
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
scan-compromised
Advanced tools
๐ A CLI tool to detect known compromised npm packages in your project.
No third-party dependencies: This tool is fully self-contained and does not rely on any external npm packages or libraries. You can use it with confidence in sensitive or locked-down environments.
This scanner checks your package.json, package-lock.json, yarn.lock, and pnpm-lock.yaml files for any packages that were compromised in recent supply chain attacks โ including the September 2025 Shai-Hulud incident.
It flags:
npx (no install)npx scan-compromised
Or install globally
npm install -g scan-compromised
scan-compromised
scan-compromised
Add this to your project's preinstall script in package.json:
"scripts": {
"preinstall": "npx scan-compromised"
}
This will prevent installation of any dependencies with known advisories, acting as a hard gate in your supply chain.
scan-compromised --json
The tool uses a local threats.json file located in the root of the CLI package. This file contains a list of known compromised packages and their malicious versions.
Data Source:
Example threats.json
{
"@ctrl/tinycolor": ["4.1.1", "4.1.2"],
"ngx-toastr": ["19.0.1", "19.0.2"]
}
You can update this file manually as new threats are discovered. Trusted sources include:
StepSecurity
GitHub Security Advisories
Snyk Vulnerability Database
You can run this tool automatically on every push or pull request using GitHub Actions.
.github/workflows/scan.yml
name: Scan for Compromised Packages
on:
push:
branches: [main]
pull_request:
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install scanner
run: npm install scan-compromised
- name: Run scan
run: npx scan-compromised
MIT ยฉ Jonathan Blades
FAQs
A simple npm CLI tool (starter template)
The npm package scan-compromised receives a total of 982 weekly downloads. As such, scan-compromised popularity was classified as not popular.
We found that scan-compromised demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.