awselb 2.0
tcp/443
GraphQL introspection is enabled.
This could leak to data leak if not properly configured.
Severity: medium
Fingerprint: c2db3a1c40d490db2337d3d62337d3d62337d3d62337d3d62337d3d62337d3d6
GraphQL introspection enabled at /api/graphql
Severity: medium
Fingerprint: c2db3a1c40d490db2337d3d6c3e711b4f542be38a6bba0dd167ba1c0cf5566b0
GraphQL introspection enabled at /api/graphql Types: 4345 (by kind: ENUM: 33, INPUT_OBJECT: 477, OBJECT: 3824, SCALAR: 8, UNION: 3) Operations: - Query: Query | fields: Brand, Brands, Category, countBrands, docAccessBrand - Mutation: Mutation | fields: createBrand, createCategory, deleteBrand, duplicateBrand, updateBrand Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
Severity: medium
Fingerprint: c2db3a1c40d490db2337d3d6a385fb5158d0bb9342a4e39cd88ce41dfc7d5939
GraphQL introspection enabled at /api/graphql Types: 3902 (by kind: ENUM: 33, INPUT_OBJECT: 431, OBJECT: 3427, SCALAR: 8, UNION: 3) Operations: - Query: Query | fields: Brand, Brands, Category, countBrands, docAccessBrand - Mutation: Mutation | fields: createBrand, createCategory, deleteBrand, duplicateBrand, updateBrand Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1aad03549dbbfbbaad174b29b7659ed88d995700cbf90b0a6
Public Swagger UI/API detected at path: /swagger/index.html - sample paths: GET /api/Scan/JobStatus GET /api/ScanAsync GET /health POST /api/Classify POST /api/Classify/Existing POST /api/Classify/url POST /api/Scan POST /api/Scan/Existing POST /api/Scan/url POST /api/ScanAsync/Cancel POST /api/ScanAsync/Existing POST /api/ScanAsync/url POST /api/Token
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43849c35327055d3bbdf26c63ec725fd95bb191b25
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /quickreply/delete/{id}
DELETE /whitelist/{whitelistId}/{email}
GET /conversations/count/{memberId}
GET /conversations/message/{conversationId}/{messageId}
GET /conversations/messages/count/conversation/{conversationId}
GET /conversations/messages/count/member/{memberId}
GET /conversations/messages/count/storefront/{storefrontId}
GET /conversations/messages/threadPosition/{messageId}
GET /conversations/messages/{conversationId}
GET /conversations/ubx
GET /conversations/{memberId}
GET /healthy
GET /quickreply/read/{identityId}
GET /whitelist/displayId/{displayId}
GET /whitelist/storefrontId/{storefrontId}
POST /conversations/associateParticipant
POST /conversations/block-conversations/{reasonCode}
POST /conversations/message
POST /conversations/message/read/{memberId}
POST /conversations/notInterested
POST /conversations/scheduleFollowUp
POST /conversations/tags
POST /conversations/unblock-conversations/{reasonCode}
POST /quickreply/create
POST /sign/s3/get-object
POST /sign/s3/put-object
POST /whitelist
PUT /conversations/message/read/conversation/{conversationId}/{memberId}
PUT /conversations/message/read/{messageId}/{memberId}
PUT /conversations/report-abuse/{conversationId}/{memberId}
PUT /conversations/tag/{conversationId}/{memberId}/{tag}
PUT /quickreply/update
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43849c35327055d3bbdf26c63ec725fd95ccbf89f1
Public Swagger UI/API detected at path: /swagger.json - sample paths:
DELETE /quickreply/delete/{id}
DELETE /whitelist/{whitelistId}/{email}
GET /conversations/count/{memberId}
GET /conversations/message/{conversationId}/{messageId}
GET /conversations/messages/count/conversation/{conversationId}
GET /conversations/messages/count/member/{memberId}
GET /conversations/messages/count/storefront/{storefrontId}
GET /conversations/messages/threadPosition/{messageId}
GET /conversations/messages/{conversationId}
GET /conversations/ubx
GET /conversations/{memberId}
GET /healthy
GET /quickreply/read/{identityId}
GET /whitelist/displayId/{displayId}
GET /whitelist/storefrontId/{storefrontId}
POST /conversations/associateParticipant
POST /conversations/message
POST /conversations/message/read/{memberId}
POST /conversations/notInterested
POST /conversations/scheduleFollowUp
POST /conversations/tags
POST /conversations/unblock-conversations/{reasonCode}
POST /quickreply/create
POST /sign/s3/get-object
POST /sign/s3/put-object
POST /whitelist
PUT /conversations/message/read/conversation/{conversationId}/{memberId}
PUT /conversations/message/read/{messageId}/{memberId}
PUT /conversations/report-abuse/{conversationId}/{memberId}
PUT /conversations/tag/{conversationId}/{memberId}/{tag}
PUT /quickreply/update
Exposing Swagger/OpenAPI documentation is primarily a risk if your API has underlying security flaws, as it gives attackers a precise roadmap to find them.
Those detail every endpoint, parameter, and data model, making it easier to discover and exploit vulnerabilities like broken access control or injection points.
While a perfectly secure API mitigates the danger, protecting your documentation is a critical layer of defense that forces attackers to work without a map.
Severity: info
Fingerprint: 5733ddf49ff49cd1b885ff43714a58ce162d53254fd205594fd205594fd20559
Public Swagger UI/API detected at path: /swagger.json - sample paths: GET / GET /colors GET /delay
Open service 34.204.163.91:443 ยท production-k8-status.eng.theknotww.com
2026-01-22 20:30
HTTP/1.1 403 Forbidden Server: awselb/2.0 Date: Thu, 22 Jan 2026 20:30:59 GMT Content-Type: text/html Content-Length: 118 Connection: close Page title: 403 Forbidden <html> <head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> </body> </html>