> For the complete documentation index, see [llms.txt](https://docs.nullify.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nullify.ai/capabilities/pentests/engagement-workflow.md).

# Engagement Workflow

You can launch a pentest through the web console, the CLI, or automation pipelines.

## Web Console

1. Navigate to **Assessments → Pentest → Applications**.
2. Click **Add Application** and provide the application name, target host, and OpenAPI specification.
3. Optional: attach authentication headers or recorded traffic to bootstrap deeper testing.
4. Start the run. Progress and findings stream back into the console and configured connectors.

![Launch a new pentest](/files/gpVnfiDE534MQCbenPTO)

## CLI

Use the CLI when you want to run pentests locally or wire them into custom pipelines. Generate a service-account token first (see [API Configuration](/configuration/configuration-api.md)).

```bash
nullify pentest \
  --app-name      "Payments API" \
  --spec-path     "./openapi.json" \
  --target-host   "https://api.example.dev" \
  --github-owner  "my-org" \
  --github-repo   "payments-service" \
  --header        "Authorization: Bearer 1234" \
  --header        "X-Custom-Header: abcxyz"
```

Repeat the `--header` flag once per header you want the pentest to send.

## GitHub Action

Automate pentests in CI by adopting the [Nullify Pentester Action](https://github.com/Nullify-Platform/dast-action) (published as `dast-action`). Configure it to run on release branches, nightly jobs, or bespoke workflows. Findings are routed back through the Nullify API and any connected ticketing systems.
