prototype-pollution
Тестирование prototype pollution в JavaScript-стеках. Применяется при слиянии пользовательского ввода с объектами, конфигурировании библиотек через ненадежные ключи или поиске RCE-гаджетов через загрязненный Object.prototype в Node и браузере.
Что делает навык
Skill выполняет экспертное тестирование Prototype Pollution в JavaScript-стеках (клиент и сервер), фокусируясь на поведении парсеров и пост-загрязняющих sink-ах. Он решает задачу обнаружения уязвимостей при слиянии пользовательского ввода с объектами, конфигурировании библиотек через ненадежные ключи или поиске RCE-гаджетов через загрязненный Object.prototype.
Когда применять
- Обнаружение уязвимостей при глубоких слияниях (deep merges), рекурсивном assign или преобразовании URL-запросов во вложенные объекты.
- Поиск цепочек гаджетов (gadget chains) для получения RCE, например, через EJS или паттерны типа Timelion.
- Исследование влияния загрязнения на выполнение команд через child_process или переменные окружения NODE_OPTIONS.
- Тестирование клиентской части (client-side) через отражение ввода в DOM или маршрутизацию фреймворков.
Как работает
- Определить приоритетные векторы: искать глубокие слияния, JSON.parse с последующим Object.assign или рекурсивное присваивание.
- Выполнить первичные клиентские пробы с использованием ключей __proto__ или constructor[prototype] (например, #__proto__[polluted]=1).
- При возможности отражения ввода в DOM или маршрутизацию фреймворков, проверить глобальные свойства объекта с помощью alert(1) или console.
- Провести black-box пробы в стиле Express/qs для обнаружения sink-ов на серверной стороне.
- Исследовать цепочки гаджетов (EJS, Timelion, child_process) для оценки возможности получения RCE через загрязненный прототип.
Примеры запросов агенту
Описание составлено по SKILL.md навыка, сверено 07.10.2026.
Как подключить
SKILL.md к навыкам ассистентаНавык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.