react-security
Security practices for React (XSS, Auth, Dependencies).
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
React Security
Priority: P0 (CRITICAL)
Preventing vulnerabilities in client-side apps.
Implementation Guidelines
-
XSS: Avoid
dangerouslySetInnerHTML. Sanitize viaDOMPurifyif needed. -
URLs: Validate
javascript:protocols in user links. -
Auth: Store tokens in
HttpOnlycookies. AvoidlocalStorage. -
Deps: Run
npm audit. Pin versions. -
Secrets: Server-side only. No
.envsecrets in build. - CSP: Strict Content-Security-Policy headers.
Anti-Patterns
-
No
eval(): RCE risk. - No Serialized State: Don't inject JSON into DOM without escaping.
- No Client Logic for Permissions: Backend must validate.
Code
import DOMPurify from 'dompurify';
// Safe HTML Injection
function SafeHtml({ content }) {
const clean = DOMPurify.sanitize(content);
return <div dangerouslySetInnerHTML={{ __html: clean }} />;
}
// Bad Link Prevention
const safeUrl = url.startsWith('javascript:') ? '#' : url;
<a href={safeUrl}>Link</a>;
Related Topics
common/security-standards | typescript/security | component-patterns
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!