Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+21 more

    Browser & WebView XSS Audit

    1

    Find and fix client-side XSS: trace every untrusted source through DOM, URL, template and WebView-bridge sinks to prioritized, paste-ready fixes.

    Free

    1 useSecurity scanned
    Browser & WebView XSS Audit

    Browser & WebView XSS Audit

    Example session with this skill installed

    We're about to ship v2 of our customer support portal — a React SPA plus an Ionic WebView for the mobile app. Can you run a full XSS exposure audit before release? The risky areas are the chat widget that renders agent messages with dangerouslySetInnerHTML, the ticket comment view in TicketView.vue, the postMessage bridge in webview/bridge.ts, and the login redirect that honors a ?next= query param. Trace every untrusted source to its sink, tell me which findings are confirmed versus candidates, rank them by blast radius, and give me concrete fixes using allowlist-based sanitization for each affected file.

    • Read your context and instructions
    • Compiled the browser & webview

    Summary

    Audited 14 rendering and navigation surfaces in the support portal SPA plus its Ionic WebView shell: 6 findings, 2 high-risk on authenticated routes, 1 false positive cleared.

    IDLocationSinkVerdictSeverity
    X-01ChatWidget.tsx:88dangerouslySetInnerHTMLconfirmed — agent message body rendered unsanitizedcritical
    X-02auth/nav.ts:41location.hreflikely — open redirect via ?next= paramhigh
    X-03TicketView.vue:17v-htmlconfirmed — raw ticket comment markuphigh
    X-04webview/bridge.ts:12message listenercandidate — no event.origin or sender validationmedium
    X-05AttachmentPreview.js:63iframe srcdoclikely — filename echoed into srcdocmedium
    X-06Profile.tsx:30a hreffalse positive — allowlisted constant sourcenone

    Next steps

    • Wrap X-01 and X-03 in DOMPurify with explicit ALLOWED_TAGS/ALLOWED_ATTR before the release cut
    • Add a central safeRedirect() rejecting javascript:, data:, and off-origin next= targets (X-02)
    • Gate the bridge listener on a strict event.origin allowlist before parsing payload commands (X-04)
    • Re-run the sink inventory in CI so new raw-HTML and location sinks fail review automatically

    Connects securely to your tools. The creator never sees your data.

    About this skill

    Client-side code that accepts external data and reflects it in the browser environment often contains hidden injection risks. This skill audits JavaScript, templates, and WebView code to identify where untrusted sources meet executable sinks without proper controls. It provides a systematic way to trace taint flow from URL fragments, storage, and message handlers to dangerous rendering points.

    What it does

    • Identify sources of attacker-controlled data from query strings, postMessage payloads, and WebView bridges.
    • Trace taint flow through state managers, API clients, and router logic to find reachable vulnerabilities.
    • Audit rendering sinks including framework-specific escapes like dangerouslySetInnerHTML, v-html, and [innerHTML].
    • Review navigation logic for redirect abuse and malicious URL execution in window.location or link bindings.
    • Generate remediation using contextual validation, allowlist-based sanitization, and safe DOM patterns.

    How it works

    1. Surface candidates by scanning the codebase for raw HTML sinks, URL sinks, and framework security bypasses.
    2. Map boundaries to distinguish between trusted build-time constants and untrusted user or third-party inputs.
    3. Classify context to determine if the risk exists in HTML body, attributes, scripts, or navigation protocols.
    4. Produce fixes with paste-ready code examples for DOMPurify configurations or framework-native security patterns.

    Frameworks & tools

    Works with React, Vue, Angular, Svelte, Solid, and Lit. Supports hybrid environments including WebView, Capacitor, Cordova, Ionic, and Electron renderers.

    Why this beats prompting it yourself

    Generic prompts often miss framework-specific bypasses or the nuanced security requirements of WebView bridges. This skill uses a prioritized audit model that ranks impact based on page privilege and authenticated context, ensuring you fix critical leaks first.

    Use cases

    • Audit an SPA or PWA for DOM-based XSS before a production release.
    • Triage a reported cookie leak or redirect abuse in a hybrid mobile app.
    • Review third-party message handlers in a browser extension or iframe.
    • Build a security-first code review checklist for a development team.

    Known limitations

    Does not cover server-side template injection where no browser execution context exists. Requires manual verification for proof-of-concept confirmation.

    Server-side template injection and backend authorization issues are out of scope. Scanner patterns surface candidates only — confirmed findings still need a safe manual PoC in a local or staging environment.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before any payment.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    1 use

    Times used to date

    Free to use

    No account required to browse

    Trust & safety

    Security scan

    Security scan passed 26 days ago

    • Free with an Agensi account

    Requires

    semgrep
    Node.js
    eslint

    Permissions

    Terminal / Shell

    File Scopes

    src/**
    app/**
    *.ts
    *.tsx
    *.vue

    File reads and shell search inventory sinks and trace taint across frontend source, and the audit report is written back to the local repo; nothing leaves the machine.

    Listed26 days ago

    What's inside

    Frequently Asked Questions

    This skill specifically targets the 'Bridge' between native code and web views, identifying risks where JavaScript interfaces and message handlers could allow unauthorized access to device hardware or sensitive local data.

    The skill identifies framework-specific bypasses like React's 'dangerouslySetInnerHTML' or Vue's 'v-html' and provides context-aware sanitization code tailored to the specific library you are using.

    No, this skill is designed for static analysis of your codebase and logic; it does not require a live environment or an active connection to your production servers to identify vulnerabilities.

    You receive the full audit logic and prioritized reporting templates, ensuring the skill stays functional and effective within your preferred AI agent environment immediately upon purchase.

    While it excels at finding DOM-based XSS and bridge vulnerabilities, it does not audit server-side logic (like SQL injection or SSRF) where no browser execution context is involved.

    It ships a TypeScript sink-rule set to seed candidate matches, but the audit is reasoning-driven: every hit is traced source-to-sink and triaged, so grep noise never becomes a fake finding.

    React, Vue, Angular, Svelte, Solid and vanilla DOM, plus embedded contexts — WebView, Capacitor, Cordova, Ionic, Electron renderer code and browser-extension UIs with native bridges.

    No. The audit is local file reading and pattern search — no network access or API keys are required, and the prioritized report stays in your repository.

    Free