Ты отвечаешь за то, чтобы приложения, которые пишут другие команды, нельзя было использовать не по назначению: разбираешь находки сканеров, читаешь чужой код, находишь места, где программа доверяет тому, кому не должна, и доводишь исправление до конца через людей, которые тебе не подчиняются.
Что это за работа
Утро начинается с очереди находок: сканеры за ночь выдали 200–300 срабатываний по 40 репозиториям, и примерно 7 из 10 окажутся ложными — но проверить надо все, иначе разработчики перестанут верить и оставшимся трём. Дальше два-три созвона с командами: на одном ты разбираешь новую фичу до того, как её написали (кто кого вызывает, где чьи данные, что произойдёт, если сюда придёт чужой идентификатор), на втором объясняешь, почему находке трёхнедельной давности всё ещё нужен приоритет. Между созвонами ты читаешь чужой код — не весь, а те 300 строк, где принимаются входные данные и проверяются права. Раз в неделю релизный гейт: команда хочет выкатиться сегодня, у тебя на руках одна незакрытая находка, и решение принимаешь ты. Плюс фон, который не кончается: подправить правила сканера, дописать внутренний стандарт разработки, ответить на «а это точно эксплуатируется?».
Чья это работа
Тебе здесь будет хорошо, если
Работа подходит, если тебе интересно читать чужой код и видеть в нём авторское допущение — место, где программист понадеялся, что сюда придёт нормальное значение. Здесь ценится умение доказывать: не «это опасно», а «вот запрос, вот ответ, вот чужие данные», — и человек, который умеет довести доказательство до конца, растёт быстро. Подходит, если тебе нормально, что твой результат — это чужой коммит: ты находишь и объясняешь, а руками чинит другой человек, и ты считаешь это своей победой, а не потерей контроля. И если разговор с разработчиком, который уверен, что ты придираешься, для тебя задача, а не неприятность.
Что здесь тяжело
Большая часть недели — это не поиск уязвимостей, а разбор шума и переговоры. Из 200 ночных срабатываний интересными окажутся единицы, остальные надо закрыть руками и с обоснованием, и через месяц ты будешь узнавать одну и ту же ошибку в одном и том же фреймворке по первой строке. Ты почти ничего не можешь починить своими руками: у тебя нет власти над чужим спринтом и нет права слить свой коммит в чужой сервис — ты можешь только доказать, попросить и напомнить, и так по одной находке месяцами. Тебя будут воспринимать как человека, который приходит с плохими новостями и мешает выкатиться вовремя: «спасибо» не будет, а претензия за сорванный релиз будет. И почти всё, что ты находишь, никогда не будет использовано против компании — ты годами работаешь с тем, что не случилось, и доказать, что это благодаря тебе, невозможно.
Вход с нуля
Да, это реальная первая карьера в безопасности — но не первая карьера вообще. Работодатель здесь смотрит прежде всего на то, читаешь ли ты код: junior-вакансии AppSec в России почти всегда написаны как «опыт разработки или опыт в ИБ», и человек, который никогда не писал ни строки, проигрывает разработчику со вторым курсом за плечами. Если программирования у тебя нет, честный порядок такой: сначала один язык до уровня «читаю и правлю чужое» (обычно Python или то, на чём написан веб), потом веб-уязвимости на практике, и только потом вход в AppSec. Это добавляет к сроку примерно 6–12 месяцев, и пропустить этот кусок нельзя: работа буквально состоит из чтения чужого исходника. Если ты не хочешь программировать — это не твоя дверь в отрасль, и правильнее посмотреть на SOC-аналитика или на GRC.
Переход из другой профессии
Самый короткий вход — из разработки: бэкенд- или веб-разработчик с двумя-тремя годами опыта уже закрывает то, чему дольше всего учить, — чтение чужого кода и понимание, как приложение устроено внутри; ему остаётся атакующая сторона. Второй короткий вход — тестировщик: у него есть профессиональная привычка искать расхождение между «как задумано» и «как работает» и описывать поломку так, чтобы её воспроизвели без него, — это ровно половина работы AppSec. Третий — DevOps/SRE: он приходит со стороны конвейера, и у него чаще получается перейти в DevSecOps, но дверь в AppSec тоже открыта. Самоучка с CTF и найденными багами входит на четвёртой позиции: техника у него часто сильнее, чем у разработчика, но ему приходится доказывать, что он умеет работать не на учебном стенде, а в чужом легаси и с чужими сроками.
Разработчик (бэкенд или веб)
Что уже засчитывается
У тебя уже есть главное и самое долгое в обучении — ты читаешь чужой код и видишь, где автор понадеялся на пользователя. Ты знаешь, как приложение устроено внутри: где границы сервисов, где кончается твоя валидация и начинается чужая, почему легаси трогать страшно. И ты говоришь с разработчиками на их языке — а в AppSec половина работы это разговор с разработчиком, которому ты приносишь лишнюю работу; тебя он слушает иначе, чем человека со стороны.
Что добрать
Атакующая сторона: ты видишь ошибку, но пока не умеешь превратить её в доказательство. Нужны веб-уязвимости на практике (нарушение контроля доступа к чужому объекту, SSRF, десериализация, инъекции) и инструменты перехвата трафика. Второе, чего почти ни у кого нет из разработки: умение вести находку до починки в чужой команде, где ты никто и у тебя нет рычага, — это переговорный навык, а не технический. Третье, менее очевидное: приоритизация — тебе придётся объяснять, почему из сорока находок чинить надо эти три.
Тестировщик
Что уже засчитывается
Ты уже профессионально ищешь расхождение между замыслом и реализацией и умеешь описать поломку так, что её воспроизведут без тебя — это буквально половина работы AppSec, и в отчёте о находке это ценнее, чем знание десяти инструментов. Если ты пишешь автотесты, у тебя есть и рефлекс автоматизации, и ты уже споришь с разработчиками о том, баг это или задумано, — здесь ты будешь делать то же самое, но с другим аргументом.
Что добрать
Взгляд внутрь, а не снаружи: тест-кейсы пишутся с той стороны экрана, а AppSec читает исходник — значит, нужен код как рабочий навык, а не как знакомство. Не хватает понимания, почему ошибка опасна, а не просто неверна: приоритизация по влиянию, а не по воспроизводимости. И нужна модель нарушителя — привычка спрашивать не «что сломается у пользователя», а «что можно получить, если сюда прийти чужим».
DevOps / SRE / инженер эксплуатации
Что уже засчитывается
Ты владеешь конвейером и инфраструктурой и автоматизируешь то, что во второй раз делаешь руками — значит, ты быстро поставишь сканеры и не будешь бояться сделать их частью сборки. У тебя за плечами дежурства по продакшену, и ты знаешь цену остановки — это отличает тебя от человека, который считает, что безопасность важнее выкатки, и никогда не отвечал за выкатку.
Что добрать
Само приложение: как в коде устроена аутентификация и авторизация, где живёт бизнес-логика, что делает ORM. Из эксплуатации виден контейнер, но не то, что внутри него написано, а находки AppSec живут именно там. Нужно чтение кода и практика по веб-уязвимостям. Честная развилка: из твоей позиции путь в DevSecOps короче, чем в AppSec, и стоит решить это до, а не после.
Самоучка: CTF, HTB/THM, домашняя лаборатория, без работы в отрасли
Что уже засчитывается
У тебя есть то, что нельзя изобразить: ты уже пробуешь ломать по-настоящему, и это подтверждено артефактом — пройденные машины, лаборатория дома, найденная и сообщённая владельцу проблема. Если ты пишешь райтапы, у тебя уже есть и половина навыка отчётности: объяснить чужому человеку, что именно было сделано и почему это сработало.
Что добрать
Промышленный контекст, и он решает на собеседовании: чужие сроки, легаси, которое нельзя переписать, находка, которую надо не найти, а провести через чужой бэклог. Не хватает объёма кода — учебный пример и сервис на сто тысяч строк требуют разного чтения. И почти всегда не хватает переговорной части: на площадках никто не спорит с тобой о том, баг это или фича.
Что здесь ценится
Вы читаете чужой код и видите, где автор понадеялся на пользователя
Вы умеете описать поломку так, что её воспроизведут без вас
Вы уже пробовали ломать по-настоящему, а не в теории
Вы умеете добиться действия от людей, которые вам не подчиняются
Вы умеете объяснить сложное человеку, который не обязан это понимать
Вы умеете собрать и починить конвейер поставки
Вы знаете отрасль изнутри, и это редкость у тех, кто приходит из ИТ
Как устроена эта работа
Как приходит работа
«очередь с нормативом»: непрерывный поток, на каждую единицу срок в минутах, смена кончается по часам, а не по завершённости«блок с одним финалом»: две-три недели на один объект, никто не дёргает, всё решается в конце. Между ними два самостоятельных режима: «внезапный» (обычная неделя, но звонок в 03:40 отменяет всё) и «календарный» (неделя из встреч и согласований, своя работа — в промежутках).
Через сколько видно результат
«результат каждые десять минут»: задача закрыта, счётчик сдвинулся, к вечеру видно, сколько сделано«недели без результата, и это норма»: три недели работы, ничего не найдено, работа при этом сделана правильно — просто нечего было находить, и отчитаться всё равно надо.
Сколько в работе одинакового
«одно и то же, много раз»: за смену 200 срабатываний, примерно 190 окажутся ложными, проверить надо все 200, потому что иначе теряют смысл остальные; через месяц вы узнаёте их по первой строке«каждый раз новое»: двух одинаковых задач подряд не бывает, и опыт помогает меньше, чем хотелось бы.
Регламент или своё решение
«по инструкции, и отступать нельзя»: есть документ, в нём написано, что делать в вашей ситуации, и по вашим действиям потом будет разбирательство — поэтому шаг в сторону хуже, чем неоптимальный шаг по инструкции«процедуры нет»: вы смотрите на незнакомую систему и сами решаете, с чего начать; если выбрали не то, потеряли два дня, и никто вам этого не скажет.
Через людей или напрямую
«напрямую с системой»: результат зависит от вас и от машины, договариваться почти не нужно«результат наступает, только если другие люди что-то сделают»: вы нашли проблему и вы правы, но чтобы её починили, нужно, чтобы четыре человека со своими сроками и премиями сделали лишнюю работу — и убедить их и есть ваша работа, а не то, что было до.
Сколько в работе текста
«текста почти нет»: пара строк в тикете, дальше следующая задача«половина работы — писать»: вы не ищете и не чините, а формулируете — так, чтобы понял человек, который не видел вашего экрана, и так, чтобы через год к этому тексту нельзя было придраться.
Ломать чужое или удерживать своё
«найти, где рвётся, и доказать»: вам дают чужую систему, вы ищете, где она не выдерживает, и предъявляете это владельцу так, чтобы он не мог возразить; ваш результат — список чужих проблем«сделать так, чтобы держалось»: система ваша, вы за неё отвечаете, и ваш лучший результат — то, что ничего не произошло и никто вашей работы не заметил.
Цена и скорость решения в моменте
«есть время подумать»: сутки на решение, можно перепроверить, ошибку можно откатить, никто не стоит над душой«решать сейчас, при неполных данных, и это дорого»: 03:20, данные утекают прямо сейчас, у вас 60% информации, можно отключить сегмент — тогда встанет производство и это заметят все — или оставить и наблюдать; решение ваше и на него пять минут.
Реальность рынка
Junior-вакансии AppSec в России существуют — в продуктовых компаниях, банках, у интеграторов и вендоров, — но их заметно меньше, чем junior-SOC, и почти в каждой стоит «опыт разработки или год в ИБ». Практически это значит, что берут не человека с нуля, а разработчика, который повернулся в безопасность, либо специалиста из ИБ, который научился читать код (по текстам вакансий на hh.ru, «Хабр Карьере» и профильных площадках, срез на август 2026). Первый год выглядит так: тебя сажают на разбор находок сканеров и на мелкие проверки, серьёзное моделирование угроз тебе не дадут — и это правильно, оно требует знания того, как устроены системы компании. Про наш каталог скажем прямо: трек обещает SAST/DAST и ревью кода, а курса, который учит писать и читать код, у нас сегодня нет — эту часть придётся закрывать снаружи, и делать вид, что это не так, мы не будем.