APISCAN Logo

🔐 APIScan (AI-Aware) OWASP APIScanner by Perry Mertens pamsniffer@gmail

Version: 2.0-beta
Author: Perry Mertens (pamsniffer@gmail.com)
License: MIT

Overview

APISCAN is an extensible, advanced Python-based API security testing framework targeting the OWASP API Security Top 10 (2023). It supports Swagger/OpenAPI specifications, performs active vulnerability scanning, and generates comprehensive reports in various formats.

Key Features

Supported Risks

OWASP API Risk IDDescriptionModule
API1Broken Object Level Authorizationbola_audit.py
API2Broken Authenticationbroken_auth_audit.py
API3Broken Object Property Level Authorizationbroken_object_property_audit.py
API4Unrestricted Resource Consumptionresource_consumption_audit.py
API5Broken Function Level Authorizationauthorization_audit.py
API6Sensitive Business Logicbusiness_flow_audit.py
API7SSRF (Server-Side Request Forgery)ssrf_audit.py
API8Security Misconfigurationmisconfiguration_audit.py
API9Improper Inventory Managementinventory_audit.py
API10Unsafe Consumption of 3rd-Party APIssafe_consumption_audit.py
API11AI-assisted Security Analysisai_client.py

Example CLI Usage

# Real mode
python apiscan.py --url https://api.example.com \
                  --swagger openapi.json \
                  --token eyJhbGciOi... \
                  --flow token

# Dummy mode
python apiscan.py --url https://api.example.com \
                  --swagger openapi.json \
                  --token eyJhbGciOi... \
                  --flow token \
                  --dummy  #enables safe testing using auto-generated, schema-aware dummy values.

  

Swagger Crawler

python swaggergenerator.py --url https://api.example.com --output openapi.json --depth 3 --aggressive

AI-Driven Audit (API11)

Uses GPT-4o to generate security findings per endpoint.

python apiscan.py --url https://api.example.com --swagger openapi.json --api11

Command-Line Arguments (Summary)

--url                API base URL
--swagger            Path to OpenAPI JSON
--dummy              Enable dummy mode
--token              Bearer token
--basic-auth         Basic auth user:pass
--apikey             API key
--apikey-header      Header name for key
--ntlm               NTLM domain\user:pass
--client-cert/key    mTLS support
--flow               Auth flow: token, client, basic, ntlm
--api1 .. --api11    Run specific OWASP audit(s)
--threads            Parallelism (default: 2)
--debug              Enable debug mode

Contact

Email: pamsniffer@gmail.com
GitHub: perrym/apiscanner