Skip to content

Docker

proxyaudit is published on Docker Hub and GHCR. The entrypoint is the proxyaudit binary itself, so any CLI command works after the image name.

Terminal window
docker run --rm ghcr.io/cerberauth/proxyaudit scan https://proxy.example.com
Terminal window
docker run --rm cerberauth/proxyaudit scan https://proxy.example.com

--output needs the destination path to exist inside the container. Mount a host directory as a volume and reference the in-container path:

Terminal window
docker run --rm -v "$(pwd)":/data ghcr.io/cerberauth/proxyaudit \
scan https://proxy.example.com --output /data/report.json

Scanning a proxy running in another container

Section titled “Scanning a proxy running in another container”

Join the target’s network so proxyaudit can reach it by service name or localhost:

Terminal window
docker run --rm --network container:proxy ghcr.io/cerberauth/proxyaudit \
scan http://localhost:8080

Run proxyaudit as a one-off step alongside the proxy under test:

services:
proxy:
build: .
ports:
- '8080:8080'
proxyaudit:
image: ghcr.io/cerberauth/proxyaudit
depends_on:
- proxy
volumes:
- ./reports:/data
command: ['scan', 'http://proxy:8080', '--output', '/data/report.json']
Terminal window
docker compose run --rm proxyaudit
  1. Clone the repository:

    Terminal window
    git clone https://github.com/cerberauth/proxyaudit.git
    cd proxyaudit
  2. Build the image using the dev Dockerfile:

    Terminal window
    docker build -f .docker/Dockerfile-build -t proxyaudit .
  3. Run it:

    Terminal window
    docker run --rm proxyaudit scan https://proxy.example.com

To run proxyaudit in CI without pulling the image manually, see the GitHub Actions guide. To use the container image directly in a workflow step:

- name: Scan proxy configuration
run: docker run --rm ghcr.io/cerberauth/proxyaudit scan ${{ vars.STAGING_URL }}