Полная регрессия всех сценариев + 6 новых областей этой сессии (employees, roles, superadmin-console, platform-smtp, auth-password, security-edge). За день исправлено 4 бага: уволенный сотрудник логинится (P0), конкурентное проведение приёмки ломает инвариант (critical), refresh не гасится после ротации (high), change-owner принимал короткий reason (medium). Нереализованный по ТЗ функционал (отчёты/склад-документы/POS/permission-authz/login-ratelimit) зафиксирован как Logic gaps. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# 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
|
||
|
||
Нет.
|