Customer Swagger Docs Exposed in Production
Customer Swagger UI is always served (including in production), giving any visitor a complete endpoint map. Accepted as intentional public API surface for partner client generation, with CI gates preventing admin/oracle/lending/webhook paths from leaking into the customer spec.
Description
// bootstrap.utils.ts L164-L167if (!environmentService.isInProdEnvironment()) {initSwagger(app); // Internal swagger, gated ✓}initCustomerSwagger(app); // Customer swagger, ALWAYS exposed, including production
Frontend / on-chain mitigation analysis: The Swagger UI at /v1/customer-docs provides a complete endpoint map to attackers. Considering the customer API is designed for B2B partner consumption, this may be intentional, but should be verified.
Impact
Complete endpoint enumeration without authentication, enabling targeted attack planning.
Recommendation
If intentional, ensure no internal endpoints leak through module imports. If not, gate behind the same environment check.
Resolution
Accepted by team, intentional public API surface for partner client generation; CI gates already prevent admin/oracle/lending/webhook paths from leaking into the customer spec.

