Skip to main content

Command menu

Jump to a page or search the catalog

AI Tools & Scripts

React Frontend Safety Check

Check a React front end before you ship: dangerouslySetInnerHTML without DOMPurify, redirects to ?next= values, secrets in VITE_ and NEXT_PUBLIC_ variables, eval, tokens in localStorage, innerHTML, postMessage to * and public source maps.

$5.00

What you get: 1 file · 27.25 KB · ZIP

See purchase options

Product description

One dangerouslySetInnerHTML with a post body, or one VITE_OPENAI_API_KEY in the bundle, is enough for an attacker to take over accounts or spend your API credit. This skill finds those and eight other React front-end mistakes before you ship, and tells you how to fix each one.

Your agent runs a scanner on your JSX and TSX components, React code in .js and .ts files, the app's .env files and your Vite, webpack and Next.js config. It skips comments, knows fixed strings from values, follows values read from the URL (useSearchParams, location.search, router.query) through your variables, and accepts the usual guards (DOMPurify.sanitize, a relative-path or origin check). Test files are skipped. It never builds or runs the app. It returns BLOCK, REVIEW, or NOT FLAGGED, with the file, line, reason, and a safer approach. Secrets are never printed.

What it checks

BLOCK (fix before shipping)

  • R01: dangerouslySetInnerHTML with HTML that is not sanitized

  • R02: redirects to a value read from the URL

  • R03: secrets in VITE_, REACT_APP_, NEXT_PUBLIC_ or EXPO_PUBLIC_ variables, secret Stripe keys, or AI SDKs in the browser

  • R04: eval() or new Function() on values

REVIEW (check before release)

  • R11: tokens in localStorage or sessionStorage

  • R12: innerHTML, insertAdjacentHTML or document.write with values

  • R13: postMessage to any origin

  • R14: message listeners without an origin check

  • R15: source maps published in production builds

  • R16: links and iframes built from URL values

What's included

  • The scanner (Python 3.9+, standard library only)

  • A rules guide with the reason and safer approach for each rule

  • A risky and a safe example React app, and the real report the scanner produces on the risky one

Limits

It reads each file on its own: values passed between components as props, checks inside helpers in other files, server-side code, npm dependencies and Content Security Policy headers are not checked. NOT FLAGGED is not a guarantee.

Contents

One ZIP file with 16 files: SKILL.md, the scanner in scripts/ (3 Python files), references/rules.md (every rule with its reason and safer approach), and examples/ (10 example files plus report.md, the real scanner output on the risky example).

How to use: This is an agent skill: a folder with a SKILL.md file and Python scripts that an AI coding agent such as Claude Code, Cursor, or Codex CLI can run. Unzip it into your agent's skills folder (for Claude Code: ~/.claude/skills/), then ask your agent to check your project. The scripts also run on their own with Python 3.9 or newer, with nothing to install. They read your files only: no network access, and nothing is sent anywhere.

What you get

1 file · 27.25 KB

  • react-frontend-safety-check-1.0.1.zipZIP · 27.25 KB

Included in Getly ProGet Pro

LicenseCommercial use allowed
PublishedNov 9, 2026
File size27.25 KB
File formatZIP
Versionv1.0.1

Tags

reactfrontendxssjavascriptsecurityai agent skill
R
RR HH

Frequently asked questions

Do I get access instantly?

Yes. This is a digital product - you can download it right after checkout, straight from your library.

Can I use it for commercial projects?

Yes. Commercial use is allowed: use it in your own business and in things you sell. You may not resell or redistribute the file itself.

What's your refund policy?

You can request a refund within 30 days. If something isn't right, request it from your order and the Getly team reviews it.

What file formats and sizes will I get?

You'll download 1 file - ZIP - 27.25 KB in total.

Do I get free updates?

Yes - when the seller ships a new version, you can re-download the latest files from your library at no extra cost. Check the changelog for recent updates.

Price

$5.00