prototype-pollution

Probe __proto__ and constructor.prototype paths to detect prototype pollution vulnerabilities.

241|28|Updated May 20, 2026
One-click install
npx skills add https://github.com/ok-helloworld/vibe-pentest --skill prototype-pollution-ok-helloworld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prototype-pollution
Source: https://github.com/ok-helloworld/vibe-pentest/tree/main/references/pentest_skills/prototype-pollution
Command: npx skills add https://github.com/ok-helloworld/vibe-pentest --skill prototype-pollution-ok-helloworld

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you detect and validate prototype pollution vulnerabilities in JavaScript applications by turning ambiguous merge behavior into observable, actionable attack outcomes.

Core Features & Use Cases

  • Client-side prototype pollution probing: Uses URL fragment and constructor/__proto__ path variations to trigger and observe global-side effects.
  • Server-side black-box detection: Sends JSON body or parsed query payloads to confirm persistence and side effects across follow-up clean requests.
  • Gadget-oriented exploitation guidance: Maps likely post-pollution sinks and includes scenario-focused patterns for high-impact chains (e.g., template/config-driven RCE paths).
  • Decision tree for triage: Guides you to prioritize checks when inputs are merged into nested objects, deep assigned, or used to configure libraries via untrusted keys.

Quick Start

Ask an AI agent to assess whether your target merges attacker-controlled input into nested objects, then run prototype pollution probes using __proto__ and constructor.prototype payloads followed by a clean follow-up request to verify persistence and observable side effects.

Frequently Asked Questions about prototype-pollution

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

FAQPage Schema
How do I test for prototype pollution in JavaScript applications?

Prototype pollution occurs when attacker-controlled keys are merged into nested objects and pollute Object.prototype or constructor.prototype. This vulnerability typically arises in web and API endpoints that parse query strings or JSON bodies, as well as client-side routers that merge URL fragment data.

How do I detect client-side prototype pollution using URL fragments?

Detect client-side prototype pollution by injecting __proto__ and constructor.prototype path variations into URL fragments. Observe global-side effects in subsequent requests to determine if the client-side router merges fragment data into objects and allows prototype manipulation.

How do I verify prototype pollution persistence with black-box testing?

Verify prototype pollution persistence by sending JSON body or parsed query payloads to the target, then issuing a clean follow-up request. If the clean request exhibits observable side effects, the black-box detection confirms that the prototype pollution successfully persisted globally.

Can I identify RCE gadget hunting scenarios after confirming prototype pollution?

Yes, after confirming prototype pollution, you can map likely post-pollution sinks to identify gadget-driven exploitation scenarios. This includes prioritizing template and configuration-driven RCE paths where untrusted keys are used to configure libraries via object merging or deep assignment.

When should I prioritize checking for object merging vulnerabilities?

Prioritize checking for object merging vulnerabilities when user inputs are merged into nested objects, deep assigned, or used to configure libraries via untrusted keys. Use a decision tree for triage to identify merge-sink scenarios that are highly susceptible to prototype pollution.