NAT Platform Audit Report

Neural Agent Testing โ€” AI-powered quality platform

Target: https://www.demo-store.example.com

Report ID: demo-unified-001

Generated: 2026-03-31 02:15 UTC

Suite: Full Platform Audit

๐Ÿ“‹ Executive Summary

74 C+
Overall Health Score

The Demo Store platform has significant security vulnerabilities requiring urgent remediation before launch, alongside functional test failures and performance issues on high-traffic pages.

โš  Critical Actions Required

  • Fix SQL injection vulnerability in /api/v1/products/search โ€” data breach risk
  • Fix broken authentication (guessable password reset tokens) โ€” account takeover risk
  • Resolve guest checkout regression (T-014) โ€” currently blocking revenue from guest shoppers
  • Add alt text to 34 product images โ€” WCAG AA compliance & legal risk
๐Ÿ”’ Security
42
2 critical, 3 high
โœ… Functional
90
47/52 passed
๐Ÿ–ผ Visual
83
2 diffs detected
โ™ฟ A11y
87
3 violations
โšก Performance
82
2 pages below threshold

๐Ÿ”— Cross-Cutting Insights

โšก High Checkout Shipping page has issues across all dimensions

The checkout shipping page has a visual regression (button colour change + header layout shift), a missing form labels accessibility violation, is the worst-performing page (score: 68, TTFB: 478ms), and has a functional test failure (T-015: UK postcode rejected). Changes in release/v2.4.0 introduced multiple issues simultaneously โ€” prioritise a coordinated fix.

๐Ÿ–ผ Critical Product images: fix accessibility & performance together

The Electronics category page has 34 images missing alt text (WCAG 1.1.1) and is also the second-worst performing page (score: 78). Implementing the image optimisation pipeline (WebP + lazy loading) provides an opportunity to add alt attributes simultaneously โ€” one change addresses both issues.

๐Ÿ“ฑ Medium Mobile homepage theme update caused multiple regressions

The mobile homepage has a visual regression (header layout shift at 375px) correlated with the CTA button colour contrast violation. Both appear caused by the same CSS theme update that was not tested at mobile breakpoints.

๐Ÿ”’ Security Findings

Scanned 34 endpoints in 187s ยท 2 Critical ยท 3 High ยท 5 Medium ยท 8 Low

Severity CVSS Finding Endpoint CWE
Critical 9.8 SQL Injection in product search
User input passed directly to SQL โ€” full DB accessible
GET /api/v1/products/search CWE-89
Critical 9.1 Guessable password reset tokens
6-digit timestamp-based tokens, brute-forced in 11 attempts
POST /api/v1/auth/reset-password CWE-287
High 8.6 SSRF via webhook URL โ€” internal network access
AWS metadata endpoint accessible via webhook registration
POST /api/v1/webhooks CWE-918
High 8.2 Stored XSS in product reviews
Script executes for all users viewing affected product
POST /api/v1/products/{id}/reviews CWE-79
High 8.0 Mass assignment โ€” privilege escalation via registration
admin=true in registration payload creates admin accounts
POST /api/v1/auth/register CWE-915
Medium 6.5 No rate limiting on checkout POST /api/v1/checkout CWE-770
Medium 5.9 Order enumeration โ€” sequential IDs GET /api/v1/orders/{order_id} CWE-639
Medium 5.7 Admin analytics accessible to standard users GET /api/v1/admin/analytics/revenue CWE-285
Low 4.3 CORS wildcard on authenticated endpoints GET /api/v1/profile CWE-942
Low 3.7 Missing security headers (CSP, HSTS, X-Frame-Options) ALL endpoints CWE-16

โœ… Functional Test Results

52
Total
47
Passed
3
Failed
2
Skipped

90.4% pass rate โ€” 3 failures require immediate attention

Failed Tests

ID Category Test Name Status Failure Details
T-014 checkout_flow Guest checkout completes without account creation Failed
Error
Expected: /order-confirmation
Actual: /checkout/step-2
TypeError: Cannot read properties of undefined
  (reading 'guestSession') at checkout.js:342
T-015 checkout_flow International shipping โ€” UK postcode format accepted Failed
Error
Expected: Valid
Actual: Error: Invalid postcode format
Regex ^[0-9]{5}$ does not match non-US formats
T-036 user_profile Notification preferences save correctly Failed
Error
Email notification toggle reverted to ON after reload
PUT /api/v1/profile/notifications โ†’ 200
GET /api/v1/profile โ†’ stale value (cache issue)

๐Ÿ–ผ Visual Regression

Compared 12 pages ยท 2 diffs detected ยท 10 no change ยท Threshold: 0.5%

Checkout โ€” Shipping
/checkout/shipping
3.74% diff
Baseline
๐Ÿ“ธ baseline
Current
๐Ÿ“ธ current
3.74%
Pixel difference
Continue to Payment button
Colour changed: #2563EB โ†’ #7C3AED (blue to purple, theme inconsistency)
Section heading spacing
Header shifted 8px downward โ€” padding change from layout update
Homepage โ€” Mobile (375px)
/ (mobile viewport)
1.87% diff
Baseline
๐Ÿ“ธ baseline
Current
๐Ÿ“ธ current
1.87%
Pixel difference
Mobile header navigation
Logo and hamburger shifted right 16px at 375px โ€” responsive padding regression

โ™ฟ Accessibility โ€” WCAG 2.1 AA

Overall Score: 87% ยท 3 violations ยท 5 warnings ยท 61 checks passed

Critical 1.1.1 Non-text Content 34 instances
Missing alt text on product images
34 product card images on the Electronics category page are missing alt attributes. Screen reader users receive no information about the products shown.
<img src="/images/laptop-pro-15.jpg" class="product-card__image"> โ† missing alt
Add descriptive alt attributes: alt="Apple MacBook Pro 15-inch, Space Grey, 2025"
Critical 1.4.3 Contrast (Min) 6 instances ยท ratio: 2.1:1 (need 4.5:1)
Insufficient colour contrast on CTA buttons
Primary CTA button uses grey text (#9CA3AF) on blue background (#2563EB). Contrast ratio 2.1:1 โ€” below the 4.5:1 AA minimum.
Change button text to #FFFFFF โ€” contrast ratio becomes 5.9:1 (passes AA)
Critical 1.3.1 Info & Relationships 8 instances
Missing form labels on shipping address form
8 input fields use only placeholder text. When the user starts typing, the placeholder disappears and the field purpose is lost for screen reader users.
<input type="text" placeholder="First Name"> โ† no <label>
Add explicit <label for="fieldId"> for every form input. Do not rely on placeholder alone.

โšก Performance โ€” Core Web Vitals

Overall Score: 82/100 ยท 5 pages tested ยท 2 below threshold

Homepage
/
91
Good
LCP
1.82s
FID
32ms
CLS
0.04
TTFB
198ms
FCP
1.12s
TBT
84ms
Electronics Category
/categories/electronics
78
Needs Work
LCP
2.89s
FID
62ms
CLS
0.12
TTFB
342ms
FCP
1.68s
TBT
340ms
Product Detail
/products/laptop-pro-15
84
Good
LCP
2.21s
FID
44ms
CLS
0.06
TTFB
287ms
FCP
1.43s
TBT
156ms
Shopping Cart
/cart
89
Good
LCP
1.92s
FID
38ms
CLS
0.03
TTFB
256ms
FCP
1.31s
TBT
98ms
Checkout โ€” Shipping
/checkout/shipping
68
Poor
LCP
2.86s
FID
64ms
CLS
0.14
TTFB
478ms
FCP
2.16s
TBT
512ms