api-testing-env / data /tasks.json
Mayank022's picture
Upload folder using huggingface_hub
a4f74f3 verified
{
"tasks": [
{
"id": "basic_validation",
"name": "Basic Endpoint Validation",
"difficulty": "easy",
"description": "Test all CRUD endpoints with valid inputs and verify correct status codes.",
"max_steps": 25,
"bugs": ["BUG_TASK_01", "BUG_TASK_02", "BUG_TASK_03"]
},
{
"id": "edge_cases",
"name": "Edge Cases & Error Handling",
"difficulty": "medium",
"description": "Test boundary conditions, invalid inputs, and error responses.",
"max_steps": 35,
"bugs": [
"BUG_TASK_01", "BUG_TASK_02", "BUG_TASK_03",
"BUG_TASK_04", "BUG_TASK_05", "BUG_TASK_06",
"BUG_USER_01", "BUG_USER_02", "BUG_AUTH_02"
]
},
{
"id": "security_workflows",
"name": "Security & Multi-Step Workflows",
"difficulty": "hard",
"description": "Discover authorization flaws, injection vulnerabilities, and workflow bugs.",
"max_steps": 45,
"bugs": [
"BUG_TASK_01", "BUG_TASK_02", "BUG_TASK_03",
"BUG_TASK_04", "BUG_TASK_05", "BUG_TASK_06",
"BUG_TASK_07", "BUG_TASK_08", "BUG_TASK_09",
"BUG_USER_01", "BUG_USER_02",
"BUG_AUTH_01", "BUG_AUTH_02"
]
}
],
"bug_registry": {
"BUG_TASK_01": {
"severity": "easy",
"category": "status_code",
"owasp": "API8:2023 Security Misconfiguration",
"description": "GET /tasks/{id} returns 200 with null for non-existent task",
"recommendation": "Return 404 Not Found for non-existent resources"
},
"BUG_TASK_02": {
"severity": "easy",
"category": "validation",
"owasp": "API8:2023 Security Misconfiguration",
"description": "POST /tasks with missing title returns 500 instead of 400",
"recommendation": "Validate required fields and return 400/422 with descriptive error"
},
"BUG_TASK_03": {
"severity": "easy",
"category": "validation",
"owasp": "API8:2023 Security Misconfiguration",
"description": "GET /tasks?page=-1 returns 200 instead of 400",
"recommendation": "Validate pagination parameters: page >= 1, limit > 0"
},
"BUG_TASK_04": {
"severity": "medium",
"category": "validation",
"owasp": "API8:2023 Security Misconfiguration",
"description": "PUT /tasks/{id} accepts invalid email format",
"recommendation": "Validate email format with regex before accepting"
},
"BUG_TASK_05": {
"severity": "medium",
"category": "status_code",
"owasp": "API8:2023 Security Misconfiguration",
"description": "DELETE /tasks/{id} returns 200 for non-existent task",
"recommendation": "Check resource existence before deletion, return 404 if missing"
},
"BUG_TASK_06": {
"severity": "medium",
"category": "validation",
"owasp": "API4:2023 Unrestricted Resource Consumption",
"description": "No pagination cap on limit parameter",
"recommendation": "Cap pagination limit at 100, reject values above maximum"
},
"BUG_TASK_07": {
"severity": "hard",
"category": "security",
"owasp": "API1:2023 Broken Object Level Authorization",
"description": "BOLA: any user can access any task",
"recommendation": "Verify resource ownership: check task.owner_id matches authenticated user"
},
"BUG_TASK_08": {
"severity": "hard",
"category": "validation",
"owasp": "API4:2023 Unrestricted Resource Consumption",
"description": "Long title causes 500 error",
"recommendation": "Add input length validation: title max 200 chars"
},
"BUG_TASK_09": {
"severity": "hard",
"category": "security",
"owasp": "API8:2023 Security Misconfiguration",
"description": "SQL injection payload stored verbatim",
"recommendation": "Sanitize user input before storage, escape HTML/SQL special characters"
},
"BUG_USER_01": {
"severity": "medium",
"category": "validation",
"owasp": "API8:2023 Security Misconfiguration",
"description": "POST /users accepts invalid email",
"recommendation": "Validate email format server-side before creating user"
},
"BUG_USER_02": {
"severity": "medium",
"category": "security",
"owasp": "API3:2023 Broken Object Property Level Authorization",
"description": "Response exposes password hash",
"recommendation": "Never return sensitive fields (password_hash) in API responses"
},
"BUG_AUTH_01": {
"severity": "hard",
"category": "security",
"owasp": "API1:2023 Broken Object Level Authorization",
"description": "Broken authorization: cross-user token access",
"recommendation": "Enforce ownership check on all write operations (PUT/DELETE)"
},
"BUG_AUTH_02": {
"severity": "medium",
"category": "security",
"owasp": "API2:2023 Broken Authentication",
"description": "Empty password login succeeds",
"recommendation": "Validate password is non-empty and verify against stored hash"
}
}
}