Skip to content

feat: opt-in Endava CATS OpenAPI negative fuzz - #26

Merged
venkatas merged 3 commits into
mainfrom
feat/cats-openapi-fuzz
Sep 8, 2026
Merged

venkatas merged 3 commits into
mainfrom
feat/cats-openapi-fuzz

Conversation

@venkatas

@venkatas venkatas commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • Opt-in Endava CATS (OpenAPI negative/boundary fuzz, 100+ fuzzers) via thin cats_audit.py wrapper and vikramaditya.py --cats flags — not on the default scan path.
  • Complements Schemathesis (property-based) and RESTler (stateful); Apache-2.0 invoke only (not vendored).
  • Parses cats-summary-report.json into summary.json + error_leads.json under findings/<host>/cats/ (HTML report at index.html).
  • Docs (docs/cats.md), optional setup.sh PATH check, NOTICE attribution, .gitignore for stray cats-report/.
  • No ALLOW_STATE_CHANGES / aggression default changes.

Invoke

# Install (optional)
brew tap endava/tap && brew install cats
# or CATS_BIN=/path/to/cats  /  CATS_JAR=/path/to/cats.jar

python3 cats_audit.py --contract openapi.yml --server https://api.example.com \
  --token "Bearer $TOK" --blackbox

python3 vikramaditya.py --cats openapi.yml --cats-server https://api.example.com \
  --cats-token "Bearer $TOK" --cats-blackbox

Test plan

  • pytest tests/test_cats_audit.py (10 passed — resolve, argv, summary parse, mock binary)
  • Manual: with cats on PATH, dry-run against a lab OpenAPI spec

Add cats_audit.py and --cats CLI flags (not default scan) with summary
parse into findings/<host>/cats/, docs/setup/NOTICE, and glue tests.
Venkata Satish added 2 commits September 8, 2026 10:03
Keep CATS and already-merged Hadrian/SAF CLI, setup, and changelog entries.
Close the CATS setup.sh if, and keep both --cats-token and --hadrian-auth in the secret-flag set.
@venkatas
venkatas merged commit caeb5c3 into main Sep 8, 2026
6 checks passed
@venkatas
venkatas deleted the feat/cats-openapi-fuzz branch September 8, 2026 04:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant