food-market/tests/e2e/scenarios/security-edge.yml
nns 2fd3b6d75c test(e2e): scenario security-edge — auth-гейт, traversal, SQLi, tenant, CORS
6 шагов (ТЗ 2.17): защищённые эндпоинты без токена → 401; /health и
/connect/token анонимны; path-traversal на /uploads (закодированные ../) не
отдаёт файлы ФС; SQL-инъекция в quick-search не роняет и не меняет данные;
товар чужого тенанта → 404 (не 403/200); CORS не отражает чужой Origin.
Багов в этих областях нет.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 11:58:54 +05:00

25 lines
1.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: security-edge
description: |
Безопасность (ТЗ 2.17): защищённые эндпоинты требуют токен (401 без него),
path-traversal на /uploads отбивается, SQL-инъекция в поиске безопасна (EF
параметризует), доступ к сущности чужого тенанта → 404 (не 403, не утечка),
CORS не отражает чужой Origin.
preconditions:
reset_db: true
smoke_login_super_admin: true
steps:
- id: step01_protected_require_auth
title: "Защищённые эндпоинты без токена → 401"
- id: step02_anonymous_open
title: "Анонимные эндпоинты (/health) доступны без токена"
- id: step03_path_traversal_uploads
title: "Path-traversal /uploads/..%2f..%2fetc/passwd → не 200 (404)"
- id: step04_sql_injection_safe
title: "SQL-инъекция в quick-search безопасна, таблица цела"
- id: step05_tenant_404_not_403
title: "GET товара чужого тенанта → 404 (не 403, не 200)"
- id: step06_cors_evil_origin
title: "CORS не отражает Origin http://evil.com"