Interactive Demo

Vulnerability Scan Report

This is a live sample report showcasing DastPilot's findings for a mock API integration. Real attack payloads were used to prove coverage.

47
Endpoints Scanned
1
Critical Finding
1
High Finding
45
Secure / Passed

Scan Findings

Target API api-staging.example.com
Spec Version OpenAPI 3.0.3
Completed At 2026-03-24 17:35 UTC
Scan ID dp-98124-x
CRITICAL · CVSS 9.4 OWASP API1

Broken Object Level Authorization (BOLA / IDOR)

DastPilot detected that resource endpoints did not validate authority parameters. An authenticated user accounts could fetch details of other accounts simply by mutating the userId parameter in the HTTP path template.

Vulnerability Proof (HTTP Evidence)

GET /v1/users/admin-user-09/profile HTTP/1.1 Host: api-staging.example.com Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... User-Agent: DastPilot Scanner v2.4 Accept: application/json Connection: close
HTTP/1.1 200 OK Content-Type: application/json Content-Length: 342 Connection: close { "userId": "admin-user-09", "username": "admin_superuser", "email": "[email protected]", "internal_key": "sk_live_51M081fJszG9...", "role": "owner" }
Check that the authenticated caller has permission to view the requested resource: # Secure API controller example (Python/FastAPI) @app.get("/v1/users/{userId}/profile") async def get_user_profile(userId: str, current_user: User = Depends(get_current_user)): # CRITICAL: Validate ownership or administration authorization if current_user.id != userId and current_user.role != "admin": raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, detail="You do not have access to this user profile" ) return db.get_profile(userId)