Platform-Test-2.Antology
App Quality Report
Powered by Testers.AI
A-90%
Quality Score
2
Pages
22
Issues
8.2
Avg Confidence
8.0
Avg Priority
10 Critical10 High2 Medium
Testers.AI
>_ Testers.AI AI Analysis

Platform-Test-2.Antology was tested and 22 issues were detected across the site. The most critical finding was: Token exposed in WebSocket URL query parameter. Issues span Security, A11y, Performance, Other categories. Persona feedback rated Visual highest (7/10) and Accessibility lowest (4/10).

Qualitative Quality
Platform-Test-2.Antology
Category Avg
Best in Category
Issue Count by Type
A11y
9
UX
4
Security
4
Content
3
Pages Tested Β· 2 screenshots
Detected Issues Β· 22 total
1
Token exposed in WebSocket URL query parameter
CRIT P9
Conf 9/10 SecurityOther
Prompt to Fix
Security fix: Do not expose authentication tokens in URL query parameters. Change WebSocket handshake to pass credentials via a secure header or cookie instead of the URL. Ensure all console/error logging redacts tokens. Example: initialize WebSocket with a token in the Authorization header or via a Sec-WebSocket-Protocol or custom header, and remove any β€˜token=…’ from the URL. Validate both client and server logs to ensure no tokens appear in logs, URLs, or error messages. Add automated checks to reject any WebSocket URLs containing query parameters named 'token' or containing long random strings that resemble tokens.
Why it's a bug
The console log reveals a WebSocket URL containing a token in the query string (wss://platform-test-2.antology.ai/?token=olSVnnFHa_48). Tokens in URLs can be captured in browser history, server logs, analytics, or network observers, enabling session hijacking or replay attacks. This is a clear instance of sensitive credential leakage via client-side logs and URL leakage.
Why it might not be a bug
In some test/staging environments tokens may be ephemeral or restricted in scope. However, tokens in URLs are inherently insecure and should be avoided even in non-production environments; best practice is to remove tokens from URLs entirely and use safer authentication methods.
Suggested Fix
Remove tokens from WebSocket URLs. Use header-based authentication or secure cookies for WebSocket handshakes, or implement a secure subprotocol/authorization mechanism supported by the server. Do not log tokens or include them in error messages or console output. Sanitize logs to redact any tokens. Audit all WebSocket initialization points to ensure no token parameters are appended to URLs. Implement token rotation and short expiry where possible.
Why Fix
Preventing credential leakage via console logs and URLs reduces the risk of session hijacking, replay attacks, and credential exposure through browser history or logs. It also aligns with security best practices for transmitting authentication data.
Route To
Security Engineer
Page
Tester
Sharon Β· Security Console Log Analyzer
Technical Evidence
Console: WebSocket connection to 'wss://platform-test-2.antology.ai/?token=olSVnnFHa_48' failed: Error during WebSocket handshake: Unexpected response code: 200
Network: wss://platform-test-2.antology.ai/?token=olSVnnFHa_48
2
Exposure of internal frontend source files (src directory) via production-like traffic
CRIT P9
Conf 9/10 SecurityOther
Prompt to Fix
Action: In production, ensure only built assets are served. Replace dev-server hosting with a production build. Steps: a) Run npm run build to generate dist assets. b) Serve dist with a proper static host (e.g., Nginx/Apache) or a dedicated app server, not the Vite dev server. c) Remove or restrict any routes exposing /src, /node_modules, or other internal directories (add deny rules for /src and /node_modules in your web server). d) If debugging is required, restrict access to a private network and enable proper authentication. e) Add a Content Security Policy header and other security headers. f) Re-run a security scan to confirm internal files are not reachable publicly. Example Nginx snippet: location ^~ /src/ { deny all; } location ^~ /node_modules/ { deny all; }
Why it's a bug
The network activity shows frequent requests to internal TypeScript source files under /src (e.g., /src/global/axiosSetup.ts, /src/redux/slices/.../index.ts, /src/App.tsx). This indicates the dev server or unbundled source files are being served in an environment that may be publicly accessible. Exposing source code reveals implementation details, potential secrets, and attack surface information that should never be exposed in production. This is a high-severity information disclosure and endpoint security risk.
Why it might not be a bug
If this environment is fully isolated behind a VPN or firewall with strict access controls, exposure risk is reduced. However, the logs show direct HTTP requests to source paths with production-like domain, suggesting misconfiguration rather than a private dev-only issue. Therefore, treat as a bug unless you can conclusively prove access is restricted.
Suggested Fix
1) Stop serving unbundled source files in production. Build the app (e.g., npm run build) and serve only the dist/static assets from a proper static host or app server. 2) Disable/Remove dev-server endpoints (e.g., Vite) from public exposure; ensure /src, /node_modules, and other internal paths are not accessible. 3) If debugging is required, restrict access to a private network and use authenticated access. 4) Add access restrictions at the web server level to deny requests to /src and /node_modules paths (e.g., Nginx/Apache rules). 5) Implement security headers (CSP, HSTS) and ensure only necessary API surfaces are exposed. 6) Validate deployment with a security scan to confirm internal files are not accessible.
Why Fix
Preventing exposure of internal source code drastically reduces risk of information disclosure, code leakage, and targeted attacks. It also reduces attacker efficiency in mapping the app structure and potential endpoints.
Route To
Frontend Engineer / DevOps / Security Engineer
Page
Tester
Sharon Β· Security Networking Analyzer
Technical Evidence
Console: GET https://platform-test-2.antology.ai/src/global/axiosSetup.ts - Status: 200; GET https://platform-test-2.antology.ai/src/App.tsx - Status: 200; GET https://platform-test-2.antology.ai/src/redux/slices/entities/order/index.ts - Status: N/A
Network: GET https://platform-test-2.antology.ai/src/global/axiosSetup.ts - Status: 200; GET https://platform-test-2.antology.ai/src/App.tsx - Status: 200; GET https://platform-test-2.antology.ai/src/redux/slices/.../index.ts - Status: N/A
3
Inclusion of third-party analytics library (LogRocket) without explicit user consent
CRIT P9
Conf 9/10 Other
Prompt to Fix
In the frontend startup sequence, remove or defer LogRocket initialization until explicit user consent is obtained. Implement a consent banner/provider; wrap LogRocket.init(...) inside a block that only runs after consent is recorded (e.g., window.analyticsConsent === 'granted'). Ensure no PII is captured in events; scrub user identifiers; set a privacy flag to disable analytics in environments without consent; add/verify privacy policy mentions of data collection; add tests to ensure analytics do not fire without consent.
Why it's a bug
The frontend bundle includes a third-party analytics library (LogRocket) as a dependency (logrocket.js). This enables potential collection of user interactions, device information, and possibly PII to a third-party service. Without clear user consent prompts and privacy disclosures, this constitutes unconsented data collection and potential third-party data sharing.
Why it might not be a bug
If analytics is disabled in production or behind an explicit consent flow, or if data collection is strictly non-PII and properly anonymized, this may not result in improper data leakage. In this test environment, consent mechanisms may also be implemented elsewhere.
Suggested Fix
Gate initialization of LogRocket behind a user consent check; add a prominent privacy/consent UI; scrub or mask PII before sending; configure LogRocket to disable network calls until consent is granted; consider loading the library only after explicit opt-in or via a feature flag; document data collection in privacy policy.
Why Fix
Implementing consent-based analytics prevents unconsented data sharing, improves regulatory compliance (GDPR/CCPA), and preserves user trust.
Route To
Frontend Privacy Engineer
Page
Tester
Pete Β· Privacy Networking Analyzer
Technical Evidence
Console: ⚠️ POTENTIAL ISSUE: Tracking request detected
Network: GET https://platform-test-2.antology.ai/node_modules/.vite/deps/logrocket.js?v=02a0e964 - Status: 200; GET https://platform-test-2.antology.ai/src/global/useAnalytics.ts - Status: N/A
+13
13 more issues detected  View all →
Login form uses GET method with credentials and empty input ...
Unclear user tracking in frontend code (useAnalytics.ts) det...
WebSocket handshake failure causing real-time connection iss...
and 10 more...
Unlock All 22 Issues
You're viewing the top 3 issues for Platform-Test-2.Antology.
Sign up at Testers.AI to access the full report with all 22 detected issues, detailed fixes, and continuous monitoring.
Sign Up at Testers.AI or let us run the tests for you