Not in the top 1,000 by GitHub stars

songjianyang/xss-audit

Static XSS audit skill with 14 layers of checks for React, TypeScript, and JavaScript projects.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

1cd6fc29de8a → 1cd6fc29de8a

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 1cd6fc29de8a

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 1cd6fc29de8abffc13bbf11fd6794f38b5bd9181

553GitHub stars
8stars in 7 days
1skill in this repository
1commit in 30 days

Heat

4.5
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 5, 2026553

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

xss-audit

When your agent uses it

Comprehensive XSS vulnerability detection skill with 14 layers of checks for React/TypeScript/JavaScript codebases (static audit). Use when the user wants an in-depth XSS audit with broad static coverage, including SVG, MathML, CSS injection, markdown pipelines, mXSS/sanitizer bypass, JSON-in-script injection, URL validation bypass, and Trusted Types analysis. Outputs report to xss-audit-report.md. Triggers on requests like 'xss audit', 'deep xss audit', 'comprehensive xss scan', or 'advanced xss audit'.

What it loads into context

Frontmatter

125 tokens

Always available to the agent

SKILL.md

5,925 tokens

When the skill is activated

Reference documents

2,297 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. CRITICAL EXECUTION RULES
  2. Search Strategy - 14 Layers (Execute Systematically)
  3. Data Flow Analysis - MANDATORY FOR EACH MATCH
  4. Critical Validation Checks
  5. 20-Point Mandatory Checklist
  6. Output Format
  7. High-Priority Review Signals

Files

  • .gitignoreasset190 bytes
  • LICENSEasset1,079 bytes
  • README.mddoc5,894 bytes
  • SECURITY.mddoc1,176 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • SKILL.mdcore26,430 bytes
  • examples/sample-report.mddoc3,454 bytes
Read SKILL.md

You are a senior frontend security auditor specializing in XSS vulnerability detection. Perform **comprehensive static analysis** WITHOUT modifying code.

> **Reality check**: No static checklist can guarantee complete coverage against all XSS variants (new browser APIs, framework abstractions, dynamic code paths, build-time transforms). This playbook improves coverage by enumerating **known sinks, sources, and execution contexts**, and by requiring **data-flow + sanitization verification** for every suspicious match. Combine static review with dynamic testing and defense-in-depth (CSP + Trusted Types); none of these measures guarantees complete protection on its own.

## CRITICAL EXECUTION RULES

**YOU MUST FOLLOW THESE RULES EXACTLY - NO EXCEPTIONS:**

1. **DO NOT SKIP ANY SEARCH CATEGORY** - Execute EVERY search pattern listed below within the defined audit scope
2. **READ EVERY RELEVANT MATCHING FILE** - Do not assume a file is safe based on filename alone. Define the audit scope and exclusions (dependencies, generated/minified code, binaries) before auditing, and record exclusions and unread files in the report
3. **TRACE DATA FLOW FOR EACH SUSPICIOUS MATCH** - Find where the data comes from and where it goes
4. **CHECK FOR SANITIZATION** - If you see a sink (innerHTML, window.open, href, etc.), you MUST verify if the input is validated/sanitized for the *correct context* (HTML/attribute/URL/JS/CSS)
5. **BE ESPECIALLY CAREFUL WITH**:
   - `window.open(variable)` - MUST check attacker control and context-appropriate protocol validation
View the complete source on GitHub

Skills included

  • xss-audit

Repository facts

License
MIT
Created
Oct 24, 2026
Last pushed
Oct 24, 2026
Forks
149
Open issues
1
Project activity
Active

Before you install

Instructions only

Automated signals, not a guarantee

Checked Nov 7, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 9 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • No broad tool permissions
  • No dangerous shell commands
  • 5 network referencesin 2 files: SKILL.md:53 README.md:16
  • No hidden or obfuscated text
  • No instruction overrides
  • No executable scripts
  • No access to secrets
  • No requests to vote in Hot
Show all 5 signals by file

README.md

  • Network accessline 16
    Researcher Leaderboard (quarterly Top 10) for four consecutive quarters — 2025 Q3 #4, Q4 #7, 2026 Q1 #6, Q2 #10 ([leaderboard](https://msrc.microsoft.com/leaderboard), [my profile](https://x.com/SecBoxer)).
  • Network accessline 18
    ([leaderboard](https://msrc.microsoft.com/leaderboard), [my profile](https://x.com/SecBoxer)).

SKILL.md

  • Network accessline 53
    **URL validation anti-patterns (MUST audit for each validation found):** 1. **Hostname-only checks are insufficient for navigation sinks**: `new URL('javascript://trusted.com/%0aalert(1)').hostname` evaluates to `trusted.com`. Protocol and 
  • Network accessline 54
    1. **Hostname-only checks are insufficient for navigation sinks**: `new URL('javascript://trusted.com/%0aalert(1)').hostname` evaluates to `trusted.com`. Protocol and the eventual sink must also be checked; do not assign severity from the v
  • Network accessline 55
    2. **Substring checks**: `url.includes('trusted.com')` / `url.startsWith('https://trusted.com')` - bypassable via `https://trusted.com.evil.com`, `https://trusted.com@evil.com`, `https://evil.com/?q=trusted.com`

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Signal confidence: 5 facts
  • Network access in prose of documentationREADME.md:16Low confidence
  • Network access in prose of documentationREADME.md:18Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:53Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:54Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:55Low confidence

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.