# E2E report: security-edge

Запущен: 2026-05-26T07:03:45.792Z
Длительность: 2.7с

**Итог:** 6 ✓ / 0 ✗ / 0 ⚠ / 0 ◯ (всего 6)

## ✓ Step step01_protected_require_auth: Защищённые эндпоинты без токена → 401

Длительность: 46мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Все защищённые GET без токена → 401 | ✓ проверено 8 |

## ✓ Step step02_anonymous_open: Анонимные эндпоинты (/health) доступны без токена

Длительность: 36мс

| Тип | Проверка | Результат |
|---|---|---|
| api | /health без токена → 200 | ✓ status=200 |
| api | /connect/token анонимен (400, не 401) | ✓ status=400 |

## ✓ Step step03_path_traversal_uploads: Path-traversal /uploads/..%2f..%2fetc/passwd → не 200 (404)

Длительность: 18мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Path-traversal не отдаёт системные файлы | ✓ все отбиты (404) |

## ✓ Step step04_sql_injection_safe: SQL-инъекция в quick-search безопасна, таблица цела

Длительность: 1846мс

| Тип | Проверка | Результат |
|---|---|---|
| api | quick-search с инъекцией не падает (нет 5xx) | ✓  |
| db | Таблица products цела (count не изменился) | ✓ before=1 after=1 |

## ✓ Step step05_tenant_404_not_403: GET товара чужого тенанта → 404 (не 403, не 200)

Длительность: 781мс

| Тип | Проверка | Результат |
|---|---|---|
| api | Товар чужого тенанта → 404 (не 200/403) | ✓ status=404 |

## ✓ Step step06_cors_evil_origin: CORS не отражает Origin http://evil.com

Длительность: 10мс

| Тип | Проверка | Результат |
|---|---|---|
| api | ACAO не равен http://evil.com | ✓ ACAO=(нет) |

## Summary

- Passed: 6
- Failed: 0
- Warnings: 0
- Skipped: 0

## Critical bugs

Нет.
