Для кого
- Пентестеры и участники bug bounty, которые хотят перейти от тестирования «чёрным ящиком» к исходному коду.
- Инженеры по безопасности приложений, которым нужен воспроизводимый метод аудита и разбор результатов сканеров.
- Опытные разработчики и тимлиды, которые проверяют pull request’ы и хотят ловить уязвимости до слияния.
Что вы сможете делать
- Составлять карту незнакомого репозитория: точки входа, границы доверия и код, на который стоит тратить время.
- Прослеживать недоверенные данные от источника до опасной операции и отличать реальную находку от ложного срабатывания сканера.
- Находить ошибки аутентификации, авторизации, изоляции арендаторов и бизнес-логики, которые пропускают инструменты.
- Доказывать эксплуатируемость в локальной лаборатории и обосновывать критичность понятным для владельца продукта языком.
- Находить варианты известной уязвимости с помощью сравнения патчей и собственных запросов Semgrep или CodeQL.
- Описывать находки с первопричиной, доказательствами и исправлением и проверять, держится ли предложенный фикс.
Что нужно до начала
- Вы уверенно читаете код хотя бы на одном из языков: JavaScript/TypeScript, PHP, Java или Python.
- Вы знаете HTTP и основные классы веб-уязвимостей на уровне OWASP Top 10.
- Вы работаете с git, Docker и терминалом и готовы заниматься на английском. Начинаем с короткой оценки вашего уровня, чтобы план вам подошёл.
Программа
Восемь модулей. Ваш план проходит их в том порядке и с той глубиной, которые подходят вашему уровню: быстро там, где вы уже разбираетесь, и дольше там, где это нужно.
Чтение незнакомой кодовой базы с точки зрения безопасностиПревратите репозиторий, который видите впервые, в карту того, до чего может добраться атакующий.
- Точки входа: маршруты, контроллеры, фоновые задачи, вебхуки и обработчики сообщений
- Соглашения фреймворков, скрывающие маршрутизацию и middleware
- Модель угроз на одной странице: активы, участники и границы доверия
- Ограниченное по времени ревью там, где риск
Источники, опасные операции и потоки данныхПроследите недоверенные данные до места, где они причиняют вред.
- Ручная трассировка от источника до опасной операции, включая потоки второго порядка
- Валидация, санитизация и кодирование: когда что действительно защищает
- Опасные операции: SQL, команды, шаблоны, пути к файлам, SSRF и десериализация
- Разбор результатов SAST: подтвердить, отклонить или копать дальше
Аутентификация и сессииАудит кода, который решает, кто пользователь.
- Вход, регистрация, сброс пароля и MFA
- Жизненный цикл токенов и сессий: выдача, проверка, истечение, отзыв
- Ошибки проверки JWT на примере цепочки патчей fast-jwt
- Проверки redirect, state и audience в OAuth и OpenID Connect
Авторизация и изоляция арендаторовНайдите пропущенную проверку, из-за которой один клиент видит данные другого.
- Проверки на уровне объектов и функций (BOLA, BFLA, IDOR) в обработчиках, middleware и ORM-запросах
- Массовое присваивание (mass assignment)
- Ограничение арендатора в запросах, кешах и фоновых задачах
- Резолверы GraphQL и административные эндпоинты
Бизнес-логика, состояние и конкурентностьНайдите код, который нарушает правила, на которых держится продукт.
- Инварианты: что всегда должно быть верно и какой код это нарушает
- Состояния гонки в платежах, купонах и квотах
- Доверие к ценам, ролям и идентификаторам от клиента
- Арифметика: переполнение, усечение и ширина сдвига (CVE-2025-37858)
Парсеры, платформы и цепочка поставокПроверьте допущения, которые код делает обо всём вокруг.
- Нормализация путей и расхождения парсеров (CVE-2026-21589, CVE-2026-104935)
- Проверки, исчезающие после неудачного поиска (CVE-2024-26855)
- Границы серверного рендеринга после React2Shell
- Зависимости, скрипты сборки и lock-файлы после компрометации Axios в npm
Доказательство эксплуатируемости и последствийОт подозрительной строки — к подтверждённой и приоритизированной находке.
- Предусловия, достижимость и контроль атакующего
- Минимальное доказательство в локальной лаборатории
- Критичность по CVSS с учётом бизнес-контекста
- Сравнение патчей и поиск вариантов с Semgrep и CodeQL
Исправления, отчёты и код, написанный ИИДобейтесь исправления уязвимости — и чтобы оно держалось.
- Находки, которые принимают разработчики: место, первопричина, доказательство, исправление
- Проверка предложенного исправления и его регрессионного теста
- Безопасные значения по умолчанию, устраняющие целый класс ошибок
- Аудит кода, сгенерированного ИИ, и проверка выводов ИИ-ревьюера
Практика
Лабораторные по трассировке
Разбор приложений, подготовленных мной для курса: вы проводите данные через реальный код фреймворков до уязвимой строки.
Поиск вариантов
Начинаете с опубликованного патча в open-source проекте и ищете ту же ошибку в других местах этой кодовой базы в уязвимой версии.
Проверка исправлений
Определяете, устраняет ли предложенный фикс первопричину или только описанный симптом, и пишете тест, который это доказывает.
Итоговая проверка
Аудит мультитенантного веб-приложения
Ограниченный по времени аудит приложения, созданного для курса, с исходным кодом и работающей копией. Вы пишете профессиональный отчёт о находках, и мы разбираем его вместе на последнем занятии.
Критерии оценки
- Карта точек входа и границ доверия
- Подтверждённые находки с доказательствами и шагами воспроизведения
- Верная первопричина для каждой находки
- Обоснование критичности, понятное владельцу продукта
- Исправления, устраняющие причину, с тестом
- Минимум ложных срабатываний, открытые вопросы отделены
Чем отличается этот курс
Один ученик — один преподаватель
Каждое занятие проходит со мной, а план следует за вашим прогрессом, а не за общим расписанием.
Реальные случаи вместо учебных фрагментов
Вы разбираете код опубликованных уязвимостей, в том числе тех, что я анализировал или исправлял сам, и приложения, подготовленные для курса.
Сначала метод, потом инструменты
Сканеры разбираются там, где они сильны. Вы учитесь оценивать их результаты и находить то, что они не умеют моделировать.
Инструменты
Стандарты и источники
- OWASP Code Review Guide
- OWASP Application Security Verification Standard (ASVS)
- OWASP Cheat Sheet Series
- CWE Top 25 Most Dangerous Software Weaknesses
- NIST SP 800-218, Secure Software Development Framework
Разборы, которые можно прочитать уже сейчас
- fast-jwt: путаница алгоритмов JWT исправлена на третий раз
- CVE-2026-21589: чтение файлов Atlassian, спрятанное за «::»
- CVE-2024-26855: как отсутствующий атрибут приводит к разыменованию NULL
- После React2Shell: три границы безопасности при проверке серверных компонентов
Вопросы о курсе
Какие языки программирования нужны?
Лабораторные используют TypeScript/Node.js, PHP и Java, а для разборов нативного кода — C. Достаточно уверенно читать один из них: метод переносится между языками, и мы это отрабатываем.
Сколько длится обучение?
Зависит от вашего начального уровня и времени между занятиями. План мы согласуем после первичной оценки и корректируем по мере продвижения.
Это подготовка к OSWE?
Нет. OSWE подтверждает навыки эксплуатации «белым ящиком» через экзамен. Этот курс учит методу аудита, анализу первопричин и качеству исправлений под личным руководством. Навыки во многом пересекаются, и курс хорошо готовит к любой работе «белым ящиком».
Нужен ли коммерческий сканер?
Нет. Всё в курсе работает на бесплатных инструментах с открытым кодом.
Когда можно начать?
Напишите коротко о своём уровне и целях. Я отвечу в течение трёх дней, мы договоримся о бесплатной 20-минутной встрече для оценки уровня, а после неё согласуем план и дату начала.
Сколько стоит обучение?
Один курс стоит 79 000 ₽: около 10 индивидуальных занятий по 90 минут, лабораторные, проверка заданий, итоговая оценка и сертификат. Оба курса вместе — 142 000 ₽, отдельное 90-минутное занятие — 7 500 ₽.
Как проходит индивидуальное обучение?
Мы встречаемся онлайн на живых занятиях. Между ними вы выполняете лабораторные и задания, подобранные под ваш уровень, а на следующем занятии мы разбираем результаты. Темп определяется вашим прогрессом, а не фиксированным расписанием.
На каком языке проходят занятия?
На английском языке для иностранных учеников. Носители арабского могут выбрать арабский или английский. Английские термины из инструментов, отчётов и вакансий сохраняются.
Есть ли очные занятия?
Нет. Все занятия, лабораторные, задания и обратная связь проходят онлайн.
Будет ли сертификат?
После успешной итоговой проверки вы получаете сертификат о прохождении. Его выдаю я, и это не отраслевая сертификация вроде OSWE. Работодатель может проверить саму работу — ваш итоговый отчёт.
Законны ли практические задания?
Да. Вся практика ведётся на приложениях, которые я подготовил для курса, и на open-source проектах в версиях с опубликованными уязвимостями — всё работает на вашем компьютере. Вы не тестируете системы, которые вам не принадлежат или на тестирование которых у вас нет письменного разрешения.
Что если мне понадобится больше времени?
Если понадобится больше занятий, чем запланировано, каждое дополнительное стоит 7 500 ₽, и мы согласуем его заранее.
Дальше
Продолжите курсом пентеста веб-приложений и API с опорой на код.