sec-npm
v1.0.2
Published
A CLI tool to scan npm packages for suspicious scripts before installation
Readme
🛡️ sec-npm
sec-npm is a Zero-Trust security layer for your Node.js development environment. It audits every package before installation using Deep AST Analysis and Shadow Execution, ensuring that malicious code never touches your machine.
[!IMPORTANT] Why sec-npm? Standard tools like
npm auditonly find known vulnerabilities.sec-npmis built to detect Zero-Day Hijacks and Malicious Meta-data by simulating execution in a deceptive sandbox.
📸 In Action
1. The Interrogation (Security Check)
sec-npm performs a high-fidelity audit of the package metadata and source code without executing it on your host.
2. Sleek Developer Experience
If a package is safe, the tool stays out of your way with a clean, one-line confirmation.
3. The "Nuclear Block" (Attack Detection)
When malware is detected (e.g., Honey-Trap triggers or Typosquatting), sec-npm kills the process and protects your credentials.
✨ Features that Defend
🎭 Shadow Execution Sandbox
Unlike heavy Docker containers, sec-npm uses a high-fidelity Shadow Environment built on ES6 Proxies. It "simulates" the installation process in milliseconds, trapping and blocking all dangerous system calls.
🪤 Active Defense (Honey-Traps)
The sandbox is populated with decoy files (fake SSH keys, .env files). If a malicious script even tries to read these, the tool triggers a critical alert and blocks the install.
🔍 Deep AST De-obfuscation
Attackers often hide their intent using string math (e.g., 'ch' + 'ild_p' + 'rocess'). Our scanner parses the Abstract Syntax Tree (AST) to "solve" these concatenations and reveal hidden malicious intent.
🕒 Time-Travel Analysis
sec-npm compares the latest version of a package with its history. A sudden addition of a postinstall script in a package that was historically "clean" is flagged as a High-Probability Hijack.
🛠️ Usage
1. Secure Installation
Use this as a drop-in replacement for npm install.
sec-npm i <package-name>2. Deep Security Audit
Audit a package (Static + Dynamic) without installing. Use -d for a full breakdown.
sec-npm check <package-name> -d3. Quick Scan
Rapid static metadata scan.
sec-npm scan <package-name>⚖️ Comparison
| Feature | Standard NPM | sec-npm | | :--- | :---: | :---: | | Known Vulnerabilities | ✅ | ✅ | | Zero-Day Detection | ❌ | ✅ | | Shadow Execution | ❌ | ✅ | | Typosquatting Shield | ❌ | ✅ | | Honey-Trap Deception | ❌ | ✅ | | Overhead | None | Minimal (< 1s) |
