hunt-nodejs

Tests Node.js applications for prototype pollution, SSTI, command injection, and trust proxy misconfigurations.

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-nodejs-inventashif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-nodejs
Source: https://github.com/inventashif/helpful-code-sidekick/tree/main/scripts/hackerai/skills/bughunter/hunt-nodejs
Command: npx skills add https://github.com/inventashif/helpful-code-sidekick --skill hunt-nodejs-inventashif

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Security testers need a structured methodology to find Node.js-specific vulnerabilities like prototype pollution, template injection, and command injection that generic web scanners often miss. ## Core Features & Use Cases - Prototype Pollution to RCE Chains: Detects __proto__ injection via lodash.merge or Object.assign and escalates to RCE through child_process or template engine sinks. - Framework-Specific Attacks: Covers Express trust proxy abuse, EJS/Pug/Handlebars SSTI, child_process command injection, and require() path traversal. - Environment Exfiltration: Tests for /proc/self/environ exposure via LFI to leak environment variables and cloud credentials. - Use Case: During a bug bounty engagement against an Express.js API, follow the phased workflow to fingerprint the runtime, confirm prototype pollution, and validate an RCE chain with out-of-band callbacks. ## Quick Start Ask the AI to run the Node.js vulnerability hunting workflow against your authorized target URL, starting with fingerprinting and prototype pollution detection.

Frequently Asked Questions about hunt-nodejs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for prototype pollution in a Node.js API?

Send JSON bodies containing __proto__ or constructor.prototype keys to endpoints that merge objects, then check whether subsequent responses reflect the polluted properties. Confirmation means the key appears in later API responses without being sent directly.

How to escalate prototype pollution to RCE in Node.js?

Pollute properties that reach dangerous sinks such as child_process options, lodash template sourceURL, or EJS outputFunctionName. Validate execution with an out-of-band callback to an Interactsh host or by observing command output in the response.

What is Express trust proxy abuse and how do I test it?

When Express has trust proxy enabled, the app trusts X-Forwarded-For headers, letting attackers spoof IPs to bypass allowlists or rate limits. Test by sending requests with X-Forwarded-For set to 127.0.0.1 or rotating addresses and observing whether restrictions are bypassed.

Which template engines are vulnerable to SSTI in Node.js?

EJS, Pug, and Handlebars can all be exploited when user input reaches the template context. EJS allows direct payload execution like process.mainModule.require('child_process').execSync, while Handlebars typically requires a prototype pollution chain through helper lookups.

Can /proc/self/environ leak secrets from Node.js apps?

Yes, if the application has a local file inclusion flaw, reading /proc/self/environ exposes all environment variables of the Node.js process, which often include database credentials and cloud keys like AWS_ACCESS_KEY_ID.