Skip to content

Guide · Agent skill

How to use the HTTP Parameter Pollution agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The offensive-parameter-pollution skill gives Claude a structured checklist for HTTP parameter pollution (HPP), an attack category where sending the same parameter name twice causes different servers, proxies and frameworks to pick different values. It is written for security testers on authorised assessments, students learning how parsing differences create vulnerabilities, and developers checking that their gateway and backend agree on parameter precedence. After this guide you will know how to install the skill, how to trigger it with plain requests, and what it will and will not do.

HTTP Parameter Pollution ChecklistSnailSploit/Claude-Red · MIT

Quick start

  1. 1Download the ZIP. Get the offensive-parameter-pollution ZIP from the page you are reading. It contains the SKILL.md file.
  2. 2Unzip into a skills folder. Place the offensive-parameter-pollution folder in ~/.claude/skills/ for personal use, or in a project's .claude/skills/ folder for one project.
  3. 3Or upload in the Claude apps. If you use the Claude apps, go to Settings → Capabilities → Skills and upload the skill there.
  4. 4Confirm you have authorisation. Check that you have written permission to test the target, and that it is a staging system or one you own.
  5. 5Ask a natural question. Describe the target stack and what you want to check, using words such as HPP or duplicate parameter so the skill triggers.
  6. 6Work through the checklist. Follow the agent's ordered steps, record what each test shows, and ask it for next steps based on your findings.

What the skill makes the agent do

Once the skill is active, the agent works through an HPP methodology as an operational checklist. The source describes it as a methodology guide for security testing rather than a tool that attacks anything by itself. The agent explains how each technology resolves duplicate parameters, suggests test requests for URLs, forms, JSON, cookies, GraphQL and WebSockets, and discusses how such inconsistencies can bypass web application firewalls.

The skill's instructions tell the agent to follow steps in order unless you specify otherwise, consider each technique against the current target, track which checklist items are complete, and suggest next steps based on findings.

  • Explains duplicate-parameter behaviour for ASP.NET/IIS, PHP/Apache, JSP/Tomcat, Perl CGI, Python/Flask and Node.js/Express, as listed in the source
  • Suggests test requests for URL, form, hybrid, JSON, cookie, GraphQL, WebSocket and array-notation pollution
  • Covers parameter cloaking with encoding and case variations
  • Discusses WAF bypass and server-side versus client-side HPP

How to install the skill

Download the ZIP for the skill from the page you are reading. The skill folder is named offensive-parameter-pollution and its listed file is SKILL.md. Unzip it so the folder sits in one of the locations below.

You can install it for yourself across projects by placing the folder in ~/.claude/skills/, or for a single project by placing it in that project's .claude/skills/ folder. Alternatively, if you use the Claude apps, upload the skill under Settings → Capabilities → Skills.

  • Personal: unzip into ~/.claude/skills/
  • Project only: unzip into the project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the skill

How to trigger the skill with natural requests

You do not need a special command. The skill activates when your conversation involves its trigger phrases, which include HTTP parameter pollution, HPP, duplicate parameter, WAF bypass, parsing differences, server-side HPP, client-side HPP and parameter injection. Name the target and the goal in plain language and mention the framework if you know it, because the agent's advice depends on how each technology resolves duplicates.

  • Explain how an Express app handles a parameter sent twice, and suggest test requests for the search form
  • Our PHP backend and an nginx gateway sit in front of the checkout API. Check whether they agree on duplicate parameters
  • Suggest HPP test cases for the OAuth callback on my authorised test application
  • Which parameter-pollution checks should I run first against this JSON API?
Explain how an Express app handles a parameter sent twice, and suggest test requests for the search form

Examples of what you will get back

For a URL-based test, the source's basic pattern is to take a request such as a search with one parameter value, then repeat that parameter with a different value and observe which value the application uses: first, last or concatenated. The skill also covers the same idea for form bodies, JSON objects with duplicate keys, and repeated cookie or header names such as role=user; role=admin.

Expect the agent to ask what you have observed and to suggest next steps from those results, following the checklist order. The skill's notes also flag that many middlewares assume bracket notation for arrays, and that API gateways may normalise duplicates differently from backends.

What it needs and how it works

The source lists no requirements. It does not run scripts and does not use the network, so the skill itself only supplies methodology text that the agent applies in the conversation. Any actual testing against a system is something you would do with your own tools and permission.

  • Requires: nothing listed
  • Runs scripts: no
  • Uses network: no

Safety notes before you test

The skill is framed around exploitation. Only use it on systems you own or have written permission to test. The source warns that testing production sites without coordination is risky, because suggested requests could trigger errors or unintended actions, such as the source's example of redeeming a coupon through a GraphQL batch mutation.

Treat the GraphQL alias and batch examples with care. Alias-based requests can repeat actions many times, so confirm with the system owner before running them against anything live.

  • Test only authorised systems, ideally staging environments
  • Coordinate with the owner before testing production
  • Be cautious with mutations and batch requests that change data

What people use it for

  • Preparing test cases for an authorised web application assessment
  • Learning why a PHP backend and a Node.js service can read the same duplicate parameter differently
  • Reviewing whether an API gateway and its backend agree on parameter precedence
  • Planning which JSON duplicate-key or cookie checks to run on an internal API

Frequently asked questions

How do I install the offensive-parameter-pollution skill?

Download the ZIP from the page, then unzip the offensive-parameter-pollution folder into ~/.claude/skills/ for personal use or a project's .claude/skills/ folder. In the Claude apps you can instead upload it under Settings → Capabilities → Skills.

Does the offensive-parameter-pollution skill need any requirements?

The source lists no requirements. The skill runs no scripts and uses no network, so it provides methodology text only.

Is the offensive-parameter-pollution skill free?

The skill is listed under the MIT licence. Check the licence text in the source repository for the terms that apply to your use.

What is HTTP parameter pollution?

HTTP parameter pollution is an attack category where the same parameter name is sent more than once, and different servers, proxies or frameworks pick different values. The skill's checklist explains how each technology resolves duplicates.

Can the skill attack a website by itself?

No. The source describes it as a methodology guide for security testing rather than a tool that attacks anything by itself. Any testing you do is your own action and needs authorisation.

What should I do if the agent does not seem to use the skill?

Check that the folder is named offensive-parameter-pollution and contains SKILL.md in the right location, then use one of the listed trigger phrases such as HPP or duplicate parameter in your request.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits security testers with authorisation, students learning parsing differences, and developers checking gateway and backend agreement. It is a poor fit for anyone who wants a scanner, or who plans to test systems they do not own or have written permission to test, or live production sites without coordination.

Download the skill