client-prototype-pollution

Validate client-side prototype pollution vulnerabilities by mapping injection sources to gadget reachability.

Updated Jul 30, 2026
One-click install
npx skills add https://github.com/salmanabdurrahman/pi-pentest-agent --skill client-prototype-pollution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: client-prototype-pollution
Source: https://github.com/salmanabdurrahman/pi-pentest-agent/tree/main/skills/client-prototype-pollution
Command: npx skills add https://github.com/salmanabdurrahman/pi-pentest-agent --skill client-prototype-pollution

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the difficulty of identifying and validating prototype pollution vulnerabilities, which can lead to DOM XSS, authentication bypass, or request hijacking in modern web applications.

Core Features & Use Cases

  • Source-to-Sink Mapping: Systematically identifies injection points like URL parameters, JSON bodies, and postMessage listeners.
  • Safe Impact Validation: Uses non-destructive marker properties to verify gadget reachability without causing actual harm.
  • Use Case: A security researcher can use this to safely confirm if a vulnerable lodash or jQuery merge operation in a frontend bundle can be exploited to trigger a DOM XSS payload.

Quick Start

Use the client-prototype-pollution skill to scan the target application for prototype pollution sources and validate potential gadget impact using safe marker properties.

Frequently Asked Questions about client-prototype-pollution

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

FAQPage Schema
How do I test for client-side prototype pollution vulnerabilities?

You validate prototype pollution risks by systematically mapping injection sources like URL parameters and JSON bodies to potential sinks, then testing gadget reachability using non-destructive marker properties to confirm exploitability.

What is a prototype pollution gadget and how does it lead to DOM XSS?

A prototype pollution gadget is a code execution sink reached when injected prototype properties alter application logic, allowing attacker payloads to trigger DOM XSS, authentication bypass, or request hijacking in frontend applications.

Can I safely validate prototype pollution impact without causing actual harm?

You can safely validate prototype pollution impact by injecting non-destructive marker properties into the target application to verify gadget reachability and confirm exploitability without executing malicious payloads or causing damage.

Does this security audit approach work with vulnerable merge libraries like lodash or jQuery?

Yes, this security audit approach effectively tests frontend applications using vulnerable merge libraries like lodash or jQuery by identifying unsafe object iteration patterns and validating if they allow prototype property injection.

What are the limitations when running a prototype pollution security assessment?

Limitations include requiring authorized target scope and strict adherence to non-destructive testing protocols, meaning you can only validate reachability using marker properties rather than demonstrating full exploit impact.

Why does unsafe object iteration cause prototype pollution in frontend applications?

Unsafe object iteration causes prototype pollution because recursive merge operations copy user-controlled properties onto the Object prototype, allowing injected attributes to propagate globally and alter application behavior unexpectedly.