Дмитрий
|
2a34ee880a
|
fix(security): закрыть открытые эндпоинты + SSRF-гард webhook перед go-live
- /api/dashboard/summary, /api/managers, /api/lead-statuses: были без auth
(tenant_id параметром) → auth:sanctum (+tenant); tenant_id из authed-user,
не из параметра — закрывает кросс-tenant утечку KPI/списка пользователей
- ManagerController: явный where(tenant_id) поверх RLS (BYPASSRLS-роли/тесты)
- WebhookUrlGuard + webhooks/test: SSRF-блок private/reserved/loopback IP
(cloud-metadata 169.254.169.254 и пр.); update()/delivery — follow-up
- TDD: +EndpointAuthHardeningTest(5) +WebhookSsrfGuardTest(10); обновлены
Dashboard/Lookups/LeadStatuses тесты под auth
- регрессия tests/Feature 960/964 (2 фейла pre-existing: Vite-manifest env +
RouteSupplierLeadJobBilling idempotency — оба фейлят и на чистом base)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-21 19:15:05 +03:00 |
|