security-review-owasp-prototype-pollution-prevention

Detect prototype pollution vulnerabilities in JavaScript and Node.js code.

Updated Mar 26, 2026
One-click install
npx skills add https://github.com/sjinks/ai-owasp-skillset --skill security-review-owasp-prototype-pollution-prevention
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: security-review-owasp-prototype-pollution-prevention
Source: https://github.com/sjinks/ai-owasp-skillset/tree/main/.github/skills/security-review-owasp-prototype-pollution-prevention
Command: npx skills add https://github.com/sjinks/ai-owasp-skillset --skill security-review-owasp-prototype-pollution-prevention

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps reviewers find prototype pollution weaknesses in JavaScript and Node.js applications before attacker-controlled object paths can alter behavior, authorization, or runtime state.

Core Features & Use Cases

  • Risk Tracing: Follows untrusted data through object creation, deep merge logic, clone utilities, and property assignment paths.
  • Security Review Guidance: Checks for dangerous keys, inherited property abuse, and missing hardening controls such as null-prototype objects or runtime mitigations.
  • Use Case: Review a Node.js service that parses JSON or query parameters and determine whether crafted input could poison shared prototypes and affect later requests.

Quick Start

Ask the skill to review the selected codebase for prototype pollution risks in object creation, deep merges, and property assignment paths.

Frequently Asked Questions about security-review-owasp-prototype-pollution-prevention

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

FAQPage Schema
How do I find prototype pollution vulnerabilities in JavaScript and Node.js code?

To find prototype pollution vulnerabilities in JavaScript and Node.js, trace untrusted input through object creation, deep merge, clone, and property assignment paths to detect dangerous keys like __proto__ and constructor.prototype. This identifies where shared prototypes can be poisoned.

What is prototype pollution and how does it affect Node.js applications?

Prototype pollution is a JavaScript vulnerability where attacker-controlled object paths alter the prototype of shared objects, changing application behavior, authorization, or runtime state. It typically occurs when untrusted input is processed through unsafe deep merge or clone utilities.

How do I review a Node.js service for prototype pollution risks from query parsing?

Review a Node.js service for prototype pollution risks by tracing parsed JSON or query parameters through object creation and property assignment flows. Validate whether crafted input could inject dangerous keys like __proto__ and poison shared prototypes affecting later requests.

Can I use null-prototype objects to prevent prototype pollution in JavaScript?

Yes, using null-prototype objects is a runtime hardening control to prevent prototype pollution in JavaScript. This Skill checks for missing hardening controls like null-prototype objects and validates whether runtime mitigations are properly applied across your codebase.

What's the best way to secure deep merge operations against inherited property abuse?

The best way to secure deep merge operations against inherited property abuse is evidence-driven tracing of untrusted data flows and validation of runtime hardening controls. This process detects dangerous keys and generates severity-ranked findings with review gaps.

When do I need a prototype pollution security review for my codebase?

You need a prototype pollution security review when your codebase consumes untrusted input through object creation, deep merge, query parsing, or clone flows. It is essential to prevent attacker-controlled object paths from altering runtime behavior or authorization state.