procurement-ingest/lambdas
Adam Moussa e97e740c5a Gate web UIs behind auth and escape currency XSS
The po-web-ui and workorder-web-ui handlers had no auth: any
invocation path returned the full PO/WO DB. Add a fail-closed
shared-secret gate (X-Auth-Token / Bearer, constant-time compared to
WEB_UI_AUTH_TOKEN) so a future re-attached Function URL cannot
re-expose the data (URLs removed under INFRA-74). Wire the token from
the SSM String param /procurement-ingest/web-ui-auth-token.

Also fix stored XSS in po-web-ui fmt_currency: the non-numeric
fallback returned str(val) unescaped, so a prompt-injected email
could make Claude emit total_amount as <script>. Escape it.

Refs: INFRA-74
2026-06-17 11:37:49 -04:00
..
po Gate web UIs behind auth and escape currency XSS 2026-06-17 11:37:49 -04:00
wo Gate web UIs behind auth and escape currency XSS 2026-06-17 11:37:49 -04:00