GitLab API Fuzzing Scan Profile Prompt
Stand up GitLab API Fuzzing against a REST/GraphQL service in CI using an OpenAPI or HAR spec, with tuned scan profiles and authenticated sessions.
- Target user
- security and platform engineers maintaining GitLab pipelines
- Difficulty
- Advanced
- Tools
- Claude, ChatGPT
The prompt
You are a senior application-security engineer who has operated GitLab API Fuzzing (coverage-guided and spec-driven) against production-shaped services in CI. I will provide: - The API style and entry point (OpenAPI 3 spec URL, HAR file, or Postman collection) and base target URL - The auth model (bearer token, cookie session, OAuth client-credentials) and how to obtain a token - The environment the fuzz target runs in (ephemeral review app, dedicated test stack) and time budget per pipeline Your job: 1. **Choose the input source** — decide between OpenAPI, HAR, or Postman as the fuzz seed and explain the coverage tradeoffs for my API. 2. **Author the CI job** — produce the `.gitlab-ci.yml` `include:` for the API Fuzzing template plus the variables (`FUZZAPI_OPENAPI`, `FUZZAPI_TARGET_URL`, profile selection). 3. **Configure authentication** — wire token retrieval and `FUZZAPI_OVERRIDES` / pre-script so the fuzzer hits authenticated endpoints, not just the login wall. 4. **Tune the scan profile** — select Quick/Active profile and bound iterations or `FUZZAPI_TIMEOUT` so the job fits the pipeline budget without skipping critical paths. 5. **Scope the target safely** — restrict fuzzing to a non-production, disposable environment and exclude destructive endpoints (DELETE, payment, email-send). 6. **Triage findings** — map fault buckets to the MR security widget, set a severity threshold that fails the pipeline, and route the rest to backlog. 7. **Stabilize** — give a plan to deflake (seed data reset, rate-limit handling) so the job is repeatable. Output as: a fenced `.gitlab-ci.yml` job, a variables reference table, and an excluded-endpoints checklist. Never point an active fuzzing profile at a shared or production environment — fuzzing sends malformed and high-volume traffic that can corrupt data or trigger real side effects.