prototype-pollution

Detect prototype pollution vulnerabilities in JavaScript applications via unsafe object merging.

11|4|Updated Jun 7, 2026
One-click install
npx skills add https://github.com/sayseven7/frameseven --skill prototype-pollution-sayseven7
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prototype-pollution
Source: https://github.com/sayseven7/frameseven/tree/main/internal/mcp/skills/prototype-pollution
Command: npx skills add https://github.com/sayseven7/frameseven --skill prototype-pollution-sayseven7

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you identify and validate prototype pollution weaknesses in JavaScript applications where untrusted input is merged into objects, letting attacker-controlled keys influence shared prototypes and downstream application behavior.

Core Features & Use Cases

  • Merge-sink analysis: Targets deep merge, recursive assign, JSON parsing, and query parsing paths that may accept dangerous keys like proto or constructor.prototype.
  • Black-box verification: Guides you through sending baseline pollution probes and checking for persistent side effects in later clean requests.
  • Exploit-path awareness: Highlights common post-pollution sinks such as template options, response configuration, and Node child_process option objects.
  • Use case: Assess an Express-style endpoint that accepts nested JSON or query parameters and determine whether polluted prototype properties change headers, status codes, serialization, or other application behavior.

Quick Start

Use this skill to test an authorized JavaScript target by sending the standard proto and constructor.prototype probes, then confirm impact with a clean follow-up request.

Frequently Asked Questions about prototype-pollution

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

FAQPage Schema
How do I detect prototype pollution vulnerabilities in JavaScript applications?

Detect prototype pollution by sending __proto__ and constructor.prototype probes through nested JSON or query parameters, then verifying persistent side effects in clean follow-up requests to confirm unsafe object merging.

What is prototype pollution caused by unsafe object merging?

Prototype pollution occurs when untrusted input with dangerous keys like __proto__ is recursively merged into objects, allowing attacker-controlled properties to influence shared prototypes and alter downstream application behavior.

How do I test Express endpoints for prototype pollution via JSON parsing?

Test Express endpoints by sending nested JSON payloads containing __proto__ keys to deep merge or recursive assign paths, then checking if polluted prototype properties change headers, status codes, or serialization behavior.

Can I trace prototype pollution sinks in Node.js child_process options?

Trace prototype pollution sinks in Node.js by following polluted prototype properties downstream into template options, response configuration, and child_process option objects to determine if attacker-controlled keys alter execution behavior.

Does black-box prototype pollution testing work without source code access?

Black-box prototype pollution testing works by sending baseline pollution probes through query parameters or JSON inputs and confirming impact through persistent side effects observed in subsequent clean requests without requiring source code access.