Почему вайбкодинг – не таблетка
Наш сервер неоднократно взламывали. А началось всё, как ни странно, с хорошего человека.
Кто нашёл первую дыру?
Когда мы только запускали свои сервисы, один из моих учеников, Владимир, с помощью искусственного интеллекта зашёл в нашу систему и получил доступ к внутренним данным. Ничего не украл, ничего не сломал – просто показал, что это возможно.
Я до сих пор ему благодарен. Белый хакер ткнул носом в дыру, которую мы сами оставили открытой. Получилось у него только потому, что о безопасности мы тогда вообще не думали – делали продукт, а защиту откладывали «на потом».
Что случилось, когда пришли чужие?
«Потом» пришло быстро. Дальше нас уже ломали не из благих побуждений. Ставили майнер, грузили процессор под 100%, майнили чужую крипту за наш счёт. И причины, если честно, довольно стыдные:
- у подрядчика был лишний доступ, а его ключ утёк ботам
- код собирали прямо на боевом сервере с полными правами – и в скачанной копии проекта однажды оказалась закладка, которая тянула майнер с гитхаба
- забыли обновить публичный сервис со старой дырой – бот-сканер сам нашёл лазейку и запустил свой код
Ни одного гениального хакера за всем этим не стояло. Стояло наше удобство, ради которого мы обходили собственные правила.
Что мы изменили после этого?
После третьего звонка я закопался в тему на месяц. Буквально заманьячил: сидел по пятнадцать часов в день, разбирал по кусочкам, где мы налажали. И нашёл кучу ошибок, о которых даже не подозревал (спойлер: их было куда больше трёх).Теперь у нас так:
- Сборка ушла в облачную песочницу гитхаба – сервер только запускает уже проверенный образ
- Сайты работают под пользователем без прав администратора – взлом сайта не доходит до самого сервера
- Подрядчики получают доступ только к своему репозиторию, никаких ключей от сервера
- Порты закрыты, фреймворки свежие, а сторож в фоне убивает майнер и шлёт мне сигнал в телеграм
Хорошо, что на эти грабли мы наступили в самом начале – на уровне баловства, когда на кону ещё не стояли реальные проекты с деньгами клиентов. Случись это в середине пути – цена ошибки была бы совсем другой.
Но главный вывод здесь не про сервер, а про подход.
Не каждый готов месяцами сидеть по пятнадцать часов и разбираться в безопасности. И вот в чём загвоздка: вайбкодинг – это не таблетка от всех болезней. Он не заменяет голову, он инструмент. Ускоряет разработку он сильно, но вместе со скоростью множит и ошибки – в том числе дыры в защите. А разбираться в этом готов далеко не каждый, кто им пользуется.
Поэтому да, интернет сейчас начнёт заполняться новыми сервисами. Только большинство из них будут собраны на скорую руку и ломаться за секунду. Надёжный продукт получится только у тех, кто реально погрузился в тему – не у инструмента, а у человека за ним.
Мы за этот год разобрались и в разработке, и в безопасности. Поэтому всё, что мы собираем сейчас себе и клиентам, собрано уже с этим пониманием.
Если у вас есть свой продукт, задайте разработчикам три вопроса: у кого полные права, где собирается код и обновлены ли публичные сервисы. Три минуты разговора могут сэкономить то, что мне обошлось месяцем без сна.
А у вас были случаи, когда «сделаем безопасность потом» аукалось по полной? Расскажите в комментариях.