Skip to main content
ESLint Interlace
Plugin: jwt

Overview

JSON Web Token security patterns and validation rules

Live from GitHub

This content is fetched directly from README.md on GitHub and cached for 1 hour.

AI-Optimized Security

Every rule includes CWE, OWASP, and CVSS metadata for AI assistants to provide precise, context-aware fixes.


Live README from GitHubfrom eslint-plugin-jwt/README.md, cached for 1 hour.Edit on GitHub
ESLint Interlace Logo

Security validation for JSON Web Tokens (JWT) implementation (signing, verification).

NPM VersionNPM DownloadsPackage LicenseCodecovSince Dec 2025

โญ If this plugin caught a real bug for you, star the repo โ€” it's the signal that keeps these rules maintained.

Description

This plugin provides Security validation for JSON Web Tokens (JWT) implementation (signing, verification).

Philosophy

Interlace fosters strength through integration. Instead of stacking isolated rules, we interlace security directly into your workflow to create a resilient fabric of code. We believe tools should guide rather than gatekeep, providing educational feedback that strengthens the developer with every interaction.

Getting Started

npm install eslint-plugin-jwt --save-dev

โš™๏ธ Configuration Presets

PresetDescription
recommendedRecommended preset - balanced security
strictStrict preset - maximum security (includes 2025 research)
legacyLegacy preset - migration mode
allAll rules preset

๐Ÿ“š Supported Libraries

LibrarynpmDownloadsDetection
jsonwebtokennpmdownloadsSigning, Verification, Decoding
josenpmdownloadsVerification (Fix Suggestion)
jwt-decodenpmdownloadsUnsafe Decoding

๐Ÿค– AI-Optimized Messages

Every rule uses formatLLMMessage for structured output:

๐Ÿ”’ CWE-347 OWASP:A02-Crypto CVSS:9.8 | Using alg:"none" bypasses signature verification
   Fix: Remove "none" and use RS256, ES256, or other secure algorithms
   https://nvd.nist.gov/vuln/detail/CVE-2022-23540

By providing this structured context (CWE, OWASP, Fix), we enable AI tools to reason about the security flaw rather than hallucinating. This allows Copilot/Cursor to suggest the exact correct fix immediately.

By structuring errors with specific CWE codes, OWASP categories, and direct fix suggestions, this format allows AI coding assistants to autonomously identify, explain, and resolve security vulnerabilities with high confidence.

๐Ÿ’ก What You Get

  • 13 Security Rules - Algorithm attacks, replay prevention, claim validation
  • 6 JWT Libraries - jsonwebtoken, jose, express-jwt, @nestjs/jwt, jwks-rsa, jwt-decode
  • 2025 Research - "Back to the Future" replay attack prevention (LightSEC 2025)
  • AI-Optimized - Structured messages for GitHub Copilot, Cursor, Claude assistance
  • CWE References - Every rule maps to Common Weakness Enumeration

๐Ÿ“ฆ Compatibility

PackageVersion
ESLint^8.0.0 || ^9.0.0 || ^10.0.0
Node.js>=18.0.0

See the ESLint Version Support Policy โ€” current ecosystem share data, the 20% gate, and the forward-looking exception that covers v10.

Rules

Legend

IconDescription
๐Ÿ’ผRecommended: Included in the recommended preset.
โš ๏ธWarns: Set to warn in recommended preset.
๐Ÿ”งAuto-fixable: Automatically fixable by the --fix CLI option.
๐Ÿ’กSuggestions: Providing code suggestions in IDE.
๐ŸšซDeprecated: This rule is deprecated.
๐ŸŸขType-unaware: AST-only, runs in oxlint JS-plugin tier.
๐ŸŸกType-aware (refining): pure-AST primary path; types refine precision.
๐ŸŸ Type-aware (graceful): requires TS program; silent without it.
RuleCWEOWASPCVSSDescription๐Ÿง ๐Ÿ’ผโš ๏ธ๐Ÿ”ง๐Ÿ’ก๐Ÿšซ
no-algorithm-confusionCWE-347This rule detects algorithm confusion attacks where symmetric algorithms (HS256, HS384, HS512) are used witโ€ฆ๐ŸŸข
no-algorithm-noneCWE-347This rule detects attempts to use the none algorithm which completely bypasses JWT signature verification๐ŸŸข
no-decode-without-verifyCWE-345The rule provides LLM-optimized error messages (Compact 2-line format) with actionable security guidance:๐ŸŸข
no-hardcoded-secretCWE-798The rule provides LLM-optimized error messages (Compact 2-line format) with actionable security guidance:๐ŸŸข
no-sensitive-payloadCWE-359JWT payloads are NOT encrypted, only base64-encoded๐ŸŸข
no-timestamp-manipulationCWE-294This rule detects noTimestamp: true which disables automatic iat (issued at) claim generation๐ŸŸข
no-weak-secretCWE-326The rule provides LLM-optimized error messages (Compact 2-line format) with actionable security guidance:๐ŸŸข
require-algorithm-whitelistCWE-757This rule enforces explicit algorithm specification in verify() calls๐ŸŸข
require-audience-validationCWE-287The rule provides LLM-optimized error messages (Compact 2-line format) with actionable security guidance:๐ŸŸข
require-expirationCWE-613The rule provides LLM-optimized error messages (Compact 2-line format) with actionable security guidance:๐ŸŸข
require-issued-atCWE-294This rule ensures tokens have the iat claim for freshness validation๐ŸŸข
require-issuer-validationCWE-287The rule provides LLM-optimized error messages (Compact 2-line format) with actionable security guidance:๐ŸŸข
require-max-ageCWE-294This rule mandates maxAge in verify operations๐ŸŸข

Part of the Interlace ESLint Ecosystem โ€” AI-native security plugins with LLM-optimized error messages:

PluginDownloadsDescription
eslint-plugin-secure-codingdownloadsGeneral security rules & OWASP guidelines.
eslint-plugin-pgdownloadsPostgreSQL security & best practices.
eslint-plugin-node-securitydownloadsNode.js core-module security (fs, child_process, vm, crypto, Buffer).
eslint-plugin-jwtdownloadsJWT security & best practices.
eslint-plugin-browser-securitydownloadsBrowser-specific security & XSS prevention.
eslint-plugin-express-securitydownloadsExpress.js security hardening rules.
eslint-plugin-lambda-securitydownloadsAWS Lambda security best practices.
eslint-plugin-nestjs-securitydownloadsNestJS security rules & patterns.
eslint-plugin-mongodb-securitydownloadsMongoDB security best practices.
eslint-plugin-vercel-ai-securitydownloadsVercel AI SDK security hardening.
eslint-plugin-import-nextdownloadsNext-gen import sorting & architecture.

โญ Support & follow

If this plugin caught a real bug for you, star the repo โ€” stars are the signal that keeps the Interlace ESLint ecosystem maintained โ€” and follow the writeups on Dev.to for the benchmarks and security research behind these rules.

GitHub stars

๐Ÿ“„ License

MIT ยฉ Ofri Peretz

ESLint Interlace Plugin

View README.md on GitHub โ†’

On this page

No Headings