Support
Contributing
Patches, bug reports, and new attack ideas are all welcome. This page is the short version; the full CONTRIBUTING.md in the repo has the rest.
Set up
You need Rust and Cargo (latest stable). Just is optional but it wraps the common tasks:
cargo install just
git clone https://github.com/YOUR-USERNAME/jwt-hack.git
cd jwt-hack
git checkout -b fix-the-thing
Build and test
just dev # debug build
just test # cargo test + clippy + fmt --check + doc
just fix # format and auto-fix lints
just test runs everything CI runs, so if it passes locally the pull request should too. To run only part of it:
cargo test # unit tests
cargo test --test e2e # end-to-end tests
cargo test --test interop # cross-library interop tests
cargo clippy -- --deny warnings # lint
cargo fmt --check # format check
Before you open a PR
just testis clean.- New behavior has tests covering it.
- Docs are updated if a flag or command changed.
- Commit messages say what changed in the present tense, and reference an issue when there is one (for example
Fix #123: reject empty kid).
Then push your branch and open the pull request against main. If you are adding a JWT attack that payload or scan does not cover yet, say so in the description so it is easy to review.