Игорь Градов
Игорь Градов
6 мин
ai

Vibe coding: что это на практике, когда пользователь стал админом через файл настроек

Vibe coding (вайб-кодинг) звучит заманчиво: описываешь задачу словами, а ИИ пишет код за тебя, но реальный проект показал, что сгенерированная «почти готовая» система защиты рассыпалась при первой же проверке безопасником.

Vibe coding: что это на практике, когда пользователь стал админом через файл настроек
Почему это важно

Эта история показывает конкретный сценарий, где vibe coding (создание кода через диалог с ИИ без глубокого понимания архитектуры) привёл к критической уязвимости: обычный пользователь смог получить права администратора, просто отредактировав файл настроек. Латать такую ошибку заплатками бесполезно, пришлось перестраивать всю систему.

Автор проекта на Хабре описал, как попросил ИИ написать систему защиты от утечек данных. После многих итераций проект выглядел готовым: установка работала, интерфейс был на месте, блокировки и уведомления функционировали. Но когда специалист по информационной безопасности проверил не внешний вид, а внутреннюю логику, конструкция развалилась. Разбираем этот случай как пошаговый урок для всех, кто использует генеративные модели для написания кода.

Что понадобится

  • Любой ИИ-ассистент для написания кода: ChatGPT, Claude, Cursor, GitHub Copilot или их аналоги
  • Базовое понимание того, что такое vibe coding: вы описываете задачу обычным языком (промптом), а модель генерирует код. Промпт-инжиниринг (подбор точных формулировок запроса) здесь заменяет ручное программирование
  • Чек-лист угроз: список того, что потенциальный злоумышленник способен сделать с вашей системой
  • Время: 30 минут на разбор кейса и составление собственного списка проверок

Пошаговая инструкция: как не повторить эту ошибку

  1. Опишите модель угроз ДО написания кода. В разобранном проекте этот шаг пропустили. Список атак составили уже после взлома. Запишите заранее: что может сделать обычный пользователь, что может человек с полными правами на компьютере, от чего ваша программа вообще не способна защитить. Именно такой список в итоге составила команда проекта:

1. Обычный пользователь может читать и изменять всё, на что у него есть права
2. Он может завершать свои процессы
3. Он может копировать публичную часть приложения
4. Он может перехватывать сетевые сообщения
5. Он может узнать общий ключ организации
6. Полные системные права выходят за пределы защиты обычной программы
  1. Разделите роли и ключи. Главная ошибка проекта: один общий ключ одновременно шифровал сообщения и подтверждал право открыть панель администратора. Программа сотрудника тоже знала этот ключ, а значит, он лежал на рабочем компьютере и рано или поздно попадал в чужие руки. При формулировке промпта для ИИ явно указывайте: «ключ для шифрования и ключ для авторизации должны быть разными, с разными правами доступа».

  2. Не храните критичные решения в доступных файлах. В первой версии запись о том, является ли компьютер администраторским, лежала в обычном файле настроек. Пользователь мог его отредактировать и объявить свою машину администраторской. Даже после переноса записи в системные настройки специалист скопировал папку программы на другой компьютер, где у него были полные права, нашёл ключ и открыл панель администратора.

  3. Проверяйте архитектуру, а не интерфейс. Vibe coding отлично справляется с внешним видом: кнопки, панели, уведомления. Но ИИ не задаёт вопрос «а что если пользователь скопирует эту папку на другую машину?». Этот вопрос задаёт человек. После каждого крупного блока кода остановитесь и попросите ИИ: «Опиши, как злоумышленник с правами обычного пользователя может обойти эту защиту».

  4. Когда архитектура ошибочна, не латайте, а перестраивайте. Команда проекта стояла перед выбором: продолжать прятать ключ глубже, переименовывать файлы, добавлять шифрование поверх шифрования. Или признать версию непригодной и построить заново. Они выбрали второй путь и разделили программу на части: значок в системном трее только показывает состояние, защищённая часть работает отдельно под управлением операционной системы, а центральный сервер проверяет, каким устройствам разрешено подключаться.

  5. Дайте каждому компьютеру собственный ключ. В новой версии при установке компьютер создаёт два связанных электронных ключа. Одну часть можно передать серверу, вторая остаётся только внутри защищённой части программы. Это исключает ситуацию, когда знание одного общего ключа открывает доступ ко всему.

Что на самом деле показал этот проект?

Логика первой версии выглядела так: получен общий ключ компании, читаем роль из обычного файла, если написано «администратор», открываем панель. Ошибка не в конкретной команде, которой воспользовался безопасник, а в самой идее. Ограничения прав на файлы и встроенная защита системы усложняют кражу ключа, но не исправляют ошибочную логику.

Автор проекта признал: фраза «проблема решена» после первой заплатки означала лишь то, что «ключ от сейфа лежит не под ковриком, а под другим ковриком». Это точное описание того, что происходит, когда vibe coding используют для критичных систем без ревизии архитектуры.

Конкретный пример: что ввели и что получили

Команда просила ИИ написать систему защиты от утечек. Результат после множества итераций: работающее приложение с панелью администратора, блокировкой сайтов, уведомлениями и красивым интерфейсом. Специалист по безопасности за одну проверку получил полный доступ к панели администратора, изменив обычный файл настроек. После первого исправления (перенос записи в системные настройки) он скопировал папку программы на другую машину, нашёл общий ключ и снова открыл панель. Итог: старую версию признали непригодной и построили новую архитектуру с нуля.

Частые ошибки
  • Путать работающий интерфейс с безопасной системой. ИИ генерирует код, который компилируется и запускается. Это не значит, что он безопасен. Галлюцинация (когда ИИ уверенно выдаёт ошибочный результат) в коде безопасности опаснее, чем в тексте статьи.
  • Латать вместо перестраивать. Первый порыв после найденной уязвимости: спрятать ключ поглубже, добавить ещё одну проверку. Но если архитектура ошибочна, каждая заплатка создаёт ложное чувство защищённости.
  • Не составлять список угроз заранее. Без модели угроз вы не знаете, от чего защищаетесь, и ИИ тоже не знает: он ответит на ваш промпт, а не на вопрос, который вы не задали.
  • Доверять ИИ решения об архитектуре ключей и прав доступа. Это именно та область, где нужен человек с опытом в информационной безопасности. Код ИИ напишет, но логику разделения прав проверяет специалист.

Что делать с этим прямо сейчас, по ролям

Если вы автор или копирайтер на Дзене и используете vibe coding для своих инструментов (скрипты для парсинга, автоматизация публикаций): не запускайте сгенерированный код с правами администратора. Перед запуском спросите ИИ: «Какие файлы этот скрипт может читать и изменять?»

Если вы разработчик или предприниматель, который строит продукт через диалог с ИИ: составьте список угроз до первой строки кода. Наймите безопасника для проверки до выпуска, а не после инцидента. Стоимость ревизии на порядки меньше стоимости утечки.

Если вы работаете в РФ и СНГ: доступные инструменты для vibe coding включают ChatGPT (через VPN), Claude, а из российских решений можно использовать GigaCode от Сбера. Принцип тот же: ИИ пишет код, человек проверяет архитектуру.

Мнение редакции dzen.guru

Этот кейс с Хабра, пожалуй, лучшая иллюстрация того, что такое vibe coding в реальности, а не в рекламных роликах. ИИ прекрасно справился с задачей «сделай, чтобы работало». Кнопки нажимались, панели открывались, уведомления приходили. Но вопрос «а что если обычный пользователь поменяет файл настроек?» никто не задал, и модель его не задала сама. По моим наблюдениям, это типичная ловушка: чем красивее результат на экране, тем сильнее иллюзия готовности. Vibe coding экономит часы на рутине, но каждый час нужно потратить 15 минут на вопрос «как это можно сломать?». Без этой привычки вы строите дом с красивым фасадом и без замка на двери.

Автор проекта написал честно: «эмоционально хотелось поставить ещё одну заплатку, но на самом деле требовалось разобрать половину конструкции». Это и есть главный навык работы с ИИ-генерацией кода: вовремя остановиться и перестроить, а не попросить модель добавить ещё один слой скотча.

Научитесь работать с ИИ без иллюзий

В dzen.guru разбираем реальные кейсы применения нейросетей для авторов и предпринимателей

Попробовать dzen.guru
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Разработка ИИ-агентов для PHP: из пяти моделей задачу решила только одна
ai

Разработка ИИ-агентов для PHP: из пяти моделей задачу решила только одна

Автор протестировал четыре локальных ИИ-агента и один облачный на реальном PHP/Symfony-проекте с мониторингом сайтов, прогнал каждого через функциональные…

6 мин
Генерация лица нейросетью: поэтапная сборка портрета точнее одного промпта
ai

Генерация лица нейросетью: поэтапная сборка портрета точнее одного промпта

Команда Singularis собрала локальный пайплайн (конвейер обработки, где каждый шаг передаёт результат следующему) для генерации лица нейросетью с управлением…

6 мин
ai

Ватермарки для ИИ-текстов стали обязательными в ЕС, но проверить их пока некому

Google второго августа 2026 года активировал обязательную маркировку ИИ-текстов по европейскому AI Act, и Anthropic тут же объявила, что Claude будет вшивать…

6 мин