Validate input, secure auth tokens, and prevent injection attacks in TypeScript. Use when validating input, handling auth tokens, sanitizing data, or managing secrets and sensitive configuration. (triggers: **/*.ts, **/*.tsx, validate, sanitize, xss, injection, auth, password, secret, token)
83
78%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.github/skills/typescript/typescript-security/SKILL.mdSecurity standards for TypeScript applications based on OWASP guidelines.
Zod, Joi, or class-validator at the API boundary. Always parse and validate user-controlled input before using. Use safeParse for error handling without throwing. Return 400 with structured errors on failure.See references/REFERENCE.md for Zod validation schemas, secure cookie setup, and JWT auth patterns.
DOMPurify for HTML sanitization to prevent Cross-Site Scripting (XSS).pool.query('... WHERE id = $1', [id])) or Type-safe ORMs (Prisma/TypeORM). Use Prisma.sql for raw queries.user-controlled input before using it in file paths or OS commands (Command Injection).Argon2id for password hashing. Implement JWT (via jsonwebtoken or jose) with HttpOnly and Secure cookies. Use RS256 for public/private key pairs and implement Refresh Token rotation..env (e.g., JWT_SECRET) or Secret Managers. NEVER commit them to Git.CORS with Strict Origin Whitelisting. Avoid origin: '*'.crypto (Node.js) or Web Crypto API for sensitive data. Avoid legacy algorithms like MD5/SHA1.After typing validation schemas (Zod/joi) or auth guards, call getDiagnostics (typescript-lsp) to confirm type narrowing is correct before finalizing.
eval(): Avoid dynamic execution.See references/REFERENCE.md for Zod validation, secure cookie setup, JWT auth, security headers, and RBAC patterns.
19a1140
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.