
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Runtime API security that catches vulnerabilities as they happen. Zero-config security proxy for developers.
Runtime API security that catches vulnerabilities as they happen.
munshig is a zero-config security proxy that monitors your API during development and automatically detects critical vulnerabilities like broken access control, missing authentication, SQL injection, and PII leaks—before they reach production.
npx munshig
# That's it. Your API is now being monitored for security issues.
APIs get hacked because developers miss authorization checks.
This exact bug has caused:
Traditional security tools:
munshig is different:
# Start munshig (runs on port 3001 by default)
npx munshig
# Point your app/tests to localhost:3001 instead of localhost:3000
# munshig will forward traffic and monitor for vulnerabilities
That's it. munshig will now catch security bugs in real-time.
The #1 API vulnerability (OWASP A01:2021)
// Your API code (vulnerable):
app.get('/api/users/:id', (req, res) => {
const user = db.getUser(req.params.id);
res.json(user); // ❌ No authorization check!
});
// User 456 requests /api/users/123
// API returns User 123's data
munshig catches this:
🔴 ══════════════════════════════════════════════════════════════
⚠️ CRITICAL SECURITY VULNERABILITY DETECTED
════════════════════════════════════════════════════════════════
SEVERITY: CRITICAL (CVSS: 8.2)
TYPE: BROKEN_ACCESS_CONTROL (BOLA)
🚨 User 456 accessed resource 123
📍 Endpoint: GET /api/users/123
👤 Authenticated User: 456
🎯 Accessed Resource: 123
🔴 Impact: Users can access other users' private data
📋 OWASP: A01:2021 - Broken Access Control
🔧 HOW TO FIX:
app.get('/api/users/:id', async (req, res) => {
const currentUserId = req.user.id;
const requestedId = req.params.id;
if (currentUserId !== requestedId) {
return res.status(403).json({ error: 'Forbidden' });
}
const user = await db.getUser(requestedId);
res.json(user);
});
Catches endpoints that should require authentication but don't.
🚨 ══════════════════════════════════════════════════════════════
SEVERITY: HIGH
TYPE: MISSING_AUTHENTICATION
GET /api/admin/settings returned 200 without authentication
💡 RECOMMENDATION:
Add authentication middleware to verify user identity
Detects SQL injection attempts in query parameters.
⚠️ ══════════════════════════════════════════════════════════════
SECURITY THREAT DETECTED
SEVERITY: CRITICAL
TYPE: INJECTION_ATTACK (SQL_INJECTION)
SQL Boolean Injection detected in GET /api/users?id=' OR '1'='1
🔧 HOW TO FIX:
// ❌ BAD:
const query = `SELECT * FROM users WHERE id = '${userId}'`;
// ✅ GOOD:
const query = 'SELECT * FROM users WHERE id = ?';
db.execute(query, [userId]);
Detects sensitive data (SSN, credit cards, emails) in API responses.
🔒 ══════════════════════════════════════════════════════════════
DATA PRIVACY VIOLATION DETECTED
SEVERITY: HIGH
TYPE: DATA_EXPOSURE (PII_LEAK)
API response contains sensitive PII: SSN, Email
📝 PII TYPES DETECTED:
• SSN (e.g., 123-45-6789)
• Email (e.g., user@example.com)
🔧 HOW TO FIX:
// Redact sensitive fields
res.json({
id: user.id,
name: user.name,
email: user.email.replace(/(.{2})(.*)(@.*)/, '$1***$3'),
ssn: '***-**-' + user.ssn.slice(-4)
});
# Terminal 1: Start your API
npm run dev # Your API runs on :3000
# Terminal 2: Start munshig
npx munshig
# Terminal 3: Make requests
curl http://localhost:3001/api/users/123
munshig output:
🛡️ Munshig proxy running on :3001
📡 Forwarding to :3000
⚡ Started at 2:30:45 PM
[14:30:50] ➡️ GET /api/users/123
[14:30:50] ⬅️ GET /api/users/123 → 200
🔴 ══════════════════════════════════════════════════════════════
⚠️ CRITICAL SECURITY VULNERABILITY DETECTED
User 456 accessed resource 123
This is a Broken Access Control bug (OWASP #1)
[Full details and fix provided...]
════════════════════════════════════════════════════════════════
Press Ctrl+C to stop munshig and see a summary:
📊 MUNSHIG SESSION SUMMARY
════════════════════════════════════════════════════════════════
🔍 Total Requests: 47
🚨 Issues Found: 3
📍 Endpoints Discovered: 12
⚠️ 3 security vulnerabilities detected!
Review the alerts above and fix before deploying.
════════════════════════════════════════════════════════════════
npx munshig
npm install -g munshig
munshig
git clone https://github.com/shaikhzaynsaif/munshig.git
cd munshig
npm install
npm start
munshig works with zero configuration, but you can customize:
# Default behavior (proxy on :3001, forwards to :3000)
npx munshig
# Custom ports (coming soon)
npx munshig --port 3000 --proxy 8080
No code changes required. Just point your client to the proxy.
| Feature | munshig | Salt Security | Snyk | Manual Audits |
|---|---|---|---|---|
| Price | Free | $500k/year | $99/mo | $10k+ |
| Setup Time | 30 seconds | 6 months | 1 day | Weeks |
| BOLA Detection | ✅ Automatic | ✅ Yes | ❌ No | ✅ Manual |
| Runtime Analysis | ✅ Yes | ✅ Yes | ❌ Static only | ❌ One-time |
| For Developers | ✅ Yes | ❌ Enterprise | ⚠️ Partial | ❌ Post-dev |
| Open Source | ✅ Yes | ❌ No | ❌ No | N/A |
Zero dependencies bloat. Just 2 core dependencies.
Contributions welcome! Please read CONTRIBUTING.md first.
Areas we'd love help with:
MIT License - see LICENSE
Inspired by:
If munshig saved you from a security bug, please star the repo! ⭐
Built with ❤️ by developers, for developers.
Stop shipping BOLA bugs. Start using munshig.
npx munshig
FAQs
Runtime API security that catches vulnerabilities as they happen. Zero-config security proxy for developers.
We found that munshig 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.