T05 · Unauthorized Access and Privilege Escalation
- Location
references/kraken-spot-futures.openapi.json:197- Finding
Bundled Schema Exposes Undeclared Private Trading Operations
- Content
View full analysis
Vulnerability Details
File Location:
references/kraken-spot-futures.openapi.json:197-294
Vulnerability Type: Undeclared privileged API surface
Risk Level: MediumThe project declares itself public-data-only and read-only in
SKILL.md, but it bundles an additional OpenAPI schema containing private order-placement and order-cancellation operations.json "/0/private/AddOrder": { "post": { "operationId": "addOrder", "summary": "Place an order", "requestBody": { "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "allOf": [ { "$ref": "#/components/schemas/NonceOnlyRequest" }, { "type": "object", "required": [ "pair", "type", "ordertype", "volume" ], "properties": { "pair": { "type": "string" }, "type": { "type": "string", "enum": [ "buy", "sell" ] }, "ordertype": { "type": "string", "enum": [ "market", "limit" ] }, "price": { "type": "string" }, "volume": { "type": "string" }, "validate": { "type": "boolean" } } } ] } } } }, "responses": { "200": { "description": ...[truncated 3151 chars]- Remediation
View remediation
Remediation Suggestions
- Remove
references/kraken-spot-futures.openapi.jsonfrom this public-data-only Skill. - If private operations are intentional, move them into a separate, explicitly named and separately reviewed Skill.
- Require explicit user confirmation immediately before every order-placement or order-cancellation request.
- Default order creation to Kraken's validation-only mode where supported, and require a separate confirmation before live submission.
- Document and enforce least-privilege API keys, including disabling withdrawal rights and granting trading rights only when necessary.
- Extend
scripts/validate.shto enumerate every bundled OpenAPI document and fail if a public-only package contains paths matching/0/private/. - Add automated checks ensuring that only allowlisted HTTP methods and public endpoint paths are exposed.
- Never log API secrets, signatures, nonces, balances, positions, or complete private API responses.
- Remove
