prototype-pollution

Detect prototype pollution vulnerabilities in JavaScript and TypeScript code.

20|Updated Feb 27, 2026
One-click install
npx skills add https://github.com/thejefflarson/soundcheck --skill prototype-pollution
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: prototype-pollution
Source: https://github.com/thejefflarson/soundcheck/tree/main/.claude/skills/prototype-pollution
Command: npx skills add https://github.com/thejefflarson/soundcheck --skill prototype-pollution

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Protects code from prototype pollution by detecting and mitigating unsafe patterns such as deep merges and dynamic property assignment that can modify the global Object prototype.

Core Features & Use Cases

  • Detects dangerous patterns like proto and constructor pollution in deep merges, clones, and dynamic property assignments.
  • Recommends safe data structures (e.g., Object.create(null)) and guarded merging strategies to prevent prototype pollution.
  • Use cases include secure library development, code review, and input validation in web services.

Quick Start

Identify and fix prototype-pollution risks by filtering dangerous keys and using safe merging patterns.

Frequently Asked Questions about prototype-pollution

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

FAQPage Schema
How do I prevent prototype pollution in JavaScript and TypeScript code?

Prevent prototype pollution by filtering dangerous keys like __proto__ and constructor during deep merges, using null-prototype objects, and applying guarded merging strategies to block malicious input from modifying the global Object prototype.

What is prototype pollution and how does it affect deep merge operations?

Prototype pollution is a vulnerability where unsafe deep merges or dynamic property copying allow user input to modify the global Object prototype, which can compromise JavaScript application security by injecting malicious properties.

How do I secure lodash merge and Object.assign against prototype pollution?

Secure lodash merge and Object.assign by filtering dangerous prototype keys during property copying and using safe data structures like Object.create(null) to prevent dynamic property assignment from modifying the global prototype.

Does this prototype pollution detection work with TypeScript input validation?

Yes, this prototype pollution detection works with TypeScript input validation by identifying unsafe deep merge patterns and recommending safe merging strategies to protect web services and library development from constructor pollution.

When do I need to filter dangerous prototype keys in a code review?

Filter dangerous prototype keys during code review when examining deep merges, clones, or dynamic property assignments that accept user input, ensuring that unsafe patterns cannot modify the global Object prototype.

What is the best way to safely deep merge user input in JavaScript?

The best way to safely deep merge user input in JavaScript is to use null-prototype objects and guarded merging strategies that filter dangerous prototype keys, preventing prototype pollution vulnerabilities in web services.