Skip to main content

Security Testing Modes

JWTForge uses the top-level mode field to control how request data is generated or mutated.

ModePurposeCoverageUse caseExample
fakeRealistic test dataOIDC scope-derived claims with Faker valuesIntegration tests, demos, local development"mode": "fake"
fuzzRandom robustness testingMutates 1-3 body claims and mutates provided supported header fields unless excludedEdge-case discovery and parser robustness"mode": "fuzz"
maliciousSecurity payload injectionMutates 1-3 fields with attack stringsPenetration testing and sanitizer validation"mode": "malicious"
grammarSystematic JWT grammar testingSelects values from claim/header grammar rulesSpec coverage, boundary testing, repeatable security scans"mode": "grammar"

Mode Options

FieldApplies toDescriptionDefaultExample
modeAll modesSelects generation behaviorfake"grammar"
excludefuzz, malicious, grammarProtects fields from mutation[]["exp", "nbf", "iat", "header.alg"]
malicious_categorymaliciousLimits malicious values to one attack familyMixed categories"sql_injection"
grammar_categorygrammarSelects grammar value familyvalid or mixed rules depending path"vulnerable"

Malicious Categories

CategoryDescriptionExample payloadUse case
sql_injectionSQL query manipulation strings' OR '1'='1Test SQL sanitization
xssBrowser script injection strings<script>alert('xss')</script>Test output encoding
path_traversalFile path escape attempts../../../etc/passwdTest file path handling
command_injectionShell command separators/substitution; ls -laTest command execution defenses
ldap_injectionLDAP filter manipulation`)(uid=))((uid=*`
nosql_injectionDocument database operator strings{'$ne':null}Test NoSQL query handling
xml_injectionXML/XXE style payloadsExternal entity payloadTest XML parsing defenses
template_injectionTemplate expression payloads{{7*7}}Test template rendering boundaries
header_injectionCRLF/header splitting stringstest\r\nInjected-Header: maliciousTest header parsing
buffer_overflowVery large payload1 million A charactersTest payload size limits

Grammar Categories

CategoryDescriptionExample valuesUse case
validSpec-aligned valuesRS256, user123, https://example.comValidate normal acceptance
edge_casesBoundary and unusual valuesnull, 0, -1, ""Test boundary handling
type_variationsUnexpected claim types["user123"], "123", "true"Test type validation
injectionSecurity-relevant stringsSQL, XSS, traversal payloadsTest sanitizer behavior
invalidMalformed or invalid valuesEmpty or wrong-format valuesTest rejection paths
vulnerableJWT-specific vulnerable patternsalg: "none", alg: "NONE", alg: "HS256"Test algorithm validation

Use the individual mode pages for executable examples.