Aller au contenu

Docker

jwtop est publié sur Docker Hub et GHCR. Le point d’entrée est le binaire jwtop lui-même, donc n’importe quelle commande CLI fonctionne après le nom de l’image.

Terminal window
docker run --rm ghcr.io/cerberauth/jwtop decode $TOKEN
Terminal window
docker run --rm cerberauth/jwtop decode $TOKEN

Les commandes qui lisent une clé PEM ou un fichier wordlist (verify --key, create --key, crack --wordlist, …) ont besoin de ce fichier à l’intérieur du conteneur. Montez le répertoire contenant le fichier en tant que volume et référencez le chemin dans le conteneur :

Terminal window
docker run --rm -v "$(pwd)":/data ghcr.io/cerberauth/jwtop \
verify $TOKEN --key /data/public.pem
Terminal window
docker run --rm -v "$(pwd)":/data ghcr.io/cerberauth/jwtop \
crack $TOKEN --wordlist /data/secrets.txt
Terminal window
docker run --rm ghcr.io/cerberauth/jwtop \
crack $TOKEN --url https://api.example.com/protected

Pour sonder un serveur qui tourne dans un autre conteneur, rejoignez son réseau :

Terminal window
docker run --rm --network container:api ghcr.io/cerberauth/jwtop \
crack $TOKEN --url http://localhost:8080/protected

Exécutez jwtop comme une étape ponctuelle aux côtés d’un service testé :

services:
api:
build: .
ports:
- '8080:8080'
jwtop:
image: ghcr.io/cerberauth/jwtop
depends_on:
- api
volumes:
- ./keys:/data
command: ['crack', '${TOKEN}', '--url', 'http://api:8080/protected', '--key', '/data/public.pem']
Terminal window
docker compose run --rm jwtop
  1. Clonez le dépôt :

    Terminal window
    git clone https://github.com/cerberauth/jwtop.git
    cd jwtop
  2. Compilez l’image avec le Dockerfile de développement :

    Terminal window
    docker build -f .docker/Dockerfile-build -t jwtop .
  3. Exécutez-la :

    Terminal window
    docker run --rm jwtop decode $TOKEN

Pour exécuter jwtop en CI sans récupérer l’image manuellement, consultez le guide GitHub Actions — cerberauth/jwtop-action gère l’installation pour vous. Pour utiliser directement l’image du conteneur dans une étape de workflow à la place :

- name: Scan for JWT vulnerabilities
run: docker run --rm ghcr.io/cerberauth/jwtop crack "${{ secrets.TEST_TOKEN }}" --url https://staging.example.com/protected