MCPcopy Index your code
hub / github.com/OWASP/OFFAT

github.com/OWASP/OFFAT @v0.19.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.19.4 ↗ · + Follow
132 symbols 491 edges 40 files 82 documented · 62%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OWASP OFFAT

OWASP OFFAT (OFFensive Api Tester) is created to automatically test API for common vulnerabilities after generating tests from openapi specification file. It provides feature to automatically fuzz inputs and use user provided inputs during tests specified via YAML config file.

UnDocumented petstore API endpoint HTTP method results

Demo

asciicast

Note: The columns for 'data_leak' and 'result' in the table represent independent aspects. It's possible for there to be a data leak in the endpoint, yet the result for that endpoint may still be marked as 'Success'. This is because the 'result' column doesn't necessarily reflect the overall test result; it may indicate success even in the presence of a data leak.

Security Checks

  • Restricted HTTP Methods
  • SQLi
  • BOLA
  • Data Exposure
  • BOPLA / Mass Assignment
  • Broken Access Control
  • Basic Command Injection
  • Basic XSS/HTML Injection test

Features

  • Few Security Checks from OWASP API Top 10
  • Automated Testing
  • User Config Based Testing
  • API for Automating tests and Integrating Tool with other platforms/tools
  • CLI tool
  • Dockerized Project for Easy Usage
  • Open Source Tool with MIT License

Try Tool

  • Install Tool using pip
python -m pip install offat
  • Run Tool
offat -f swagger_file.json

Core symbols most depended-on inside this repo

fill_params
called by 14
src/offat/tester/fuzzer.py
join_uri_path
called by 13
src/offat/utils.py
get_unique_params
called by 5
src/offat/utils.py
is_valid_url
called by 4
src/offat/utils.py
parse_server_url
called by 4
src/offat/utils.py
generate_random_string
called by 4
src/offat/tester/fuzzer.py
update_values
called by 3
src/offat/utils.py
generate_random_int
called by 3
src/offat/tester/fuzzer.py

Shape

Method 69
Function 38
Class 22
Route 3

Languages

Python100%

Modules by API surface

src/offat/tester/generator.py17 symbols
src/offat/utils.py13 symbols
src/offat/parsers/openapi.py10 symbols
src/offat/tester/post_test_processor.py9 symbols
src/offat/tester/fuzzer.py9 symbols
src/offat/parsers/swagger.py9 symbols
src/offat/report/templates/table.py7 symbols
src/offat/http.py7 symbols
src/offat/tester/runner.py6 symbols
src/offat/parsers/parser.py6 symbols
src/offat/api/app.py6 symbols
src/offat/report/generator.py5 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add OFFAT \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact