Помощь

Практика

Практика «Bug Hunt» — охота на баги в BugFinder

8 разделов учебного продукта с заложенными багами. Два режима проверки, что искать и как засчитывается.

/practice/bug-hunt — учебный продукт BugFinder, небольшой трекер багов. В него намеренно заложено около 45 багов разной природы: интерфейс, доступность, состояние, валидация, локализация, авторизация. Задача — найти как можно больше. Раздел открыт в сопровождении.

8 разделов BugFinder

  1. Регистрация (/practice/bug-hunt/register) — форма с email и паролем.
  2. Дашборд (/practice/bug-hunt/dashboard) — таблица багов с сортировкой.
  3. Карточка бага (/practice/bug-hunt/bug/1) — просмотр и редактирование одного бага.
  4. Поиск (/practice/bug-hunt/search) — поиск по базе.
  5. Профиль (/practice/bug-hunt/profile) — личные данные.
  6. Настройки (/practice/bug-hunt/settings) — тема, язык, смена пароля.
  7. Создать баг (/practice/bug-hunt/create-bug) — большая форма.
  8. Админ-панель (/practice/bug-hunt/admin) — управление пользователями.

Два режима

Охота за багами — сессия на время

/practice/bug-hunt/hunt: 20 минут без подсказок. Каждую находку вы записываете своими словами как короткий баг-репорт. Платформа сопоставляет находки с каталогом багов сначала по шаблонам, а то, что не совпало, отдаёт языковой модели. Балл — доля найденных багов, за каждую ложную тревогу вычитается 5 процентных пунктов. Зачёт — от 70 баллов.

Чек-лист

/practice/bug-hunt/report: около 55 пунктов, из них примерно 10 — ложные («красные селёдки»). Отметьте только то, что подтвердили воспроизведением. Зачёт — если найдено не меньше 36 настоящих багов и отмечено не больше одного ложного пункта.

Что и где искать

Функциональные баги

  • Кнопка не реагирует.
  • Форма отправляется с пустыми полями.
  • Сохранение не сохраняет.
  • Состояние не обновляется после действия.

Валидация

  • Email без @.
  • Пароль из одного символа.
  • Очень длинные строки (1000+ символов).
  • HTML-теги и спецсимволы в полях.

Доступность (a11y)

  • Кнопки сделаны из <div> и недоступны с клавиатуры.
  • У полей нет <label>.
  • Пустой или бессмысленный alt у изображений.
  • Низкий контраст текста.
  • Не виден фокус.

Интерфейс

  • Текст вылезает за границы.
  • Числа и даты отображаются неверно или не выровнены.

Безопасность

  • Пароль виден в DOM или в подсказке.
  • Токен хранится в localStorage.
  • Доступ к чужим данным по изменённому id в адресе (IDOR).

Подсказки

  • Откройте DevTools на каждой странице. Многие баги видны только в Console, Network и Application.
  • Пройдите страницу клавишей Tab — так находятся недоступные кнопки и пропуски фокуса.
  • Поменяйте id в адресе карточки бага и посмотрите, что произойдёт.
  • Откройте админ-панель напрямую по адресу — проверьте, кого она пускает.

Что дальше