Руководства

Безопасен ли вайб-кодинг? Реальные риски и что проверить перед публикацией

Вайб-кодинг безопасен для личных инструментов и прототипов, и он может быть безопасным для настоящих приложений с реальными пользователями, но только если вы добавите проверки, которые пропускает подход «опиши словами и посмотри, работает ли». Опасные проблемы не видны на экране: пользователи, которые могут открыть данные друг друга, секретные ключи в браузере и публичные формы без ограничений. Это руководство объясняет риски, которые реально приводят к неприятностям, как обращаться с секретами, сколько проверки нужно и 30-минутную проверку, которую стоит провести перед публикацией.

Полный технический список смотрите в нашем чек-листе безопасности для приложений, созданных ИИ. Эта страница — короткая практическая версия для тех, кто не читает код.

Почему у вайб-кодинга свои риски

Когда вы занимаетесь вайб-кодингом, вы оцениваете приложение, пользуясь им. Так ловятся сломанные кнопки и некрасивая вёрстка. А вот проблемы, которые проявляются только тогда, когда кто-то пользуется приложением иначе, чем вы, — незнакомец, бот или любопытный пользователь, который меняет адрес страницы, — так не находятся.

Модели ИИ пишут правдоподобный код, и большая его часть в порядке. Но они оптимизируют то, что вы попросили — «сделай так, чтобы дашборд показывал мои проекты», — и могут не добавить защиту, о которой вы не просили: «и чтобы никто не видел чужие». Решение не в том, чтобы перестать заниматься вайб-кодингом. Нужно явно просить защиту и затем её проверять.

Насколько рискованно ваше приложение? Быстрая шкала

Ваше приложениеРискЧто нужно
Личный инструмент, которым пользуетесь только вы, без чувствительных данныхНизкийДержать ключи вне кода. Больше почти ничего.
Публичный сайт или лендинг с формойОт низкого до среднегоОграничения для форм, защита от ботов, никаких секретов на странице
Приложение, где люди регистрируются и хранят собственные данныеСреднийВсё из этой страницы
Платежи, медицинские, финансовые данные, данные детей или документовВысокийВсё из этой страницы плюс проверка разработчиком

Будьте честны, к какой строке вы относитесь. Многие приложения начинаются с первой строки и незаметно переходят к третьей, и никто этого не решает.

Риски, которые действительно вызывают проблемы

1. Пользователи видят данные друг друга

Это самая распространённая серьёзная проблема в приложениях, созданных ИИ. Страница показывает каждому пользователю только его записи, поэтому выглядит всё правильно. Но сервер вернёт любую запись, если кто-то изменит ID в адресной строке или в запросе. Поскольку вы всегда тестируете под собственной учётной записью, вы этого не увидите.

Как проверить: создайте два аккаунта. Войдите как пользователь А, откройте одну из записей А и запомните адрес. Войдите как пользователь Б в приватном окне и вставьте этот адрес. Вы должны увидеть «не найдено», а не данные А.

Промпт:

Проверь каждую серверную конечную точку, которая читает, меняет или удаляет данные пользователя. Каждая должна подтверждать, что вошедший пользователь имеет право доступа именно к этой записи. Перечисли конечные точки, опиши, как каждая проверяет доступ, и исправь те, что не проверяют.

2. Секреты не на своём месте

Секрет — это всё, что даёт доступ: API-ключ сервиса ИИ или email, пароль базы данных, секретный ключ платёжного провайдера. Если он находится в коде, который выполняется в браузере, любой может открыть инструменты разработчика и скопировать его. Если он загружен в публичный репозиторий, боты найдут его за несколько часов.

Как проверить: спросите ИИ.

Перечисли каждый API-ключ, токен и пароль, который использует это приложение. Для каждого скажи, где он хранится и отправляется ли он когда-либо в браузер. Перенеси все, что находятся в коде или во фронтенде, в серверные секреты.

3. Публичные формы и конечные точки без ограничений

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

Промпт:

Добавь ограничение частоты запросов для регистрации, входа, контактной формы и каждой конечной точки, которая обращается к сервису ИИ. Добавь скрытое поле-ловушку для публичных форм. Скажи, какие лимиты ты выбрал.

4. Доверие браузеру

Всё, что решает браузер, пользователь может изменить: цены, скидки, ответы в викторине, флаги «администратор». Правила, которые важны, должны соблюдаться на сервере.

Промпт:

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

5. Нет пути назад

Плохое изменение или злоумышленник могут удалить данные. Если нет ни резервной копии, ни возможности откатиться, мелкая ошибка становится необратимой. Убедитесь, что в вашем инструменте есть контрольные точки для кода и резервные копии базы данных. См. как сделать резервную копию базы данных приложения.

Как правильно обращаться с секретами

Секреты наносят больше предотвратимого вреда, чем что-либо ещё, поэтому правила собраны здесь:

  • Никогда не вставляйте настоящий ключ в чат. Чаты сохраняются, пересылаются и попадают в скриншоты. Храните ключи в секретах или переменных окружения вашего инструмента. (Что такое переменные окружения и секреты.)
  • Вызывайте платные сервисы с сервера. Браузер обращается к вашему серверу, а сервер обращается к сервису ИИ или платежей, используя ключ.
  • Используйте разные ключи для тестирования и для реальной работы, чтобы утёкший тестовый ключ не мог затронуть реальные деньги.
  • Установите лимиты расходов в панелях управления сервисов ИИ и email.
  • Немедленно перевыпустите ключ, если подозреваете утечку. Создайте новый, обновите секрет, затем удалите старый.

В Mythex секреты хранятся в настройках проекта вне кода, и агент может ими пользоваться, не показывая значения в чате. Наше руководство по безопасному хранению API-ключей охватывает больше провайдеров.

Сколько нужно проверки кода?

Вайб-кодинг означает, что вы не читаете каждую строку. И этого не требуется. Но некоторые строки должен проверить кто-то другой.

  • Личные инструменты: ничего сверх проверок из этого руководства.
  • Приложения с учётными записями пользователей: проверьте, как работают вход и доступ к данным. Для этого попросите ИИ объяснить это простыми словами и убедитесь, что объяснение совпадает с вашими ожиданиями.
  • Приложения с платежами или чувствительными данными: попросите разработчика посмотреть аутентификацию, права доступа, обработку платежей и всё, что хранит персональные данные. Это несколько часов его работы, а не переписывание приложения.

Полезный промпт даже без разработчика:

Объясни простыми словами, как это приложение определяет, кто пользователь, и что ему можно видеть. Укажи файлы. Затем перечисли всё, на что стоило бы обратить внимание специалисту по безопасности.

Наше руководство как проверять код, сгенерированный ИИ объясняет, на что обращают внимание проверяющие, и его можно передать тому, кто будет проверять. Если ваш инструмент позволяет экспортировать код или синхронизироваться с GitHub, организовать такую проверку легко; в Mythex и то и другое входит в Pro.

Проверка перед публикацией за 30 минут

Пройдите её перед тем, как поделиться ссылкой с кем-то за пределами своего круга.

Доступ (10 минут)

  1. Два аккаунта, два браузера: может ли Б открыть записи А по адресу? Не должен.
  2. Выйдите из системы и откройте напрямую адрес каждой страницы. Закрытые страницы должны перенаправлять на вход.
  3. Под обычным пользователем откройте административные адреса. Доступ к ним должен быть закрыт.

Секреты (5 минут)

  1. Спросите ИИ, где находится каждый ключ, используя промпт выше.
  2. Откройте приложение, посмотрите исходный код страницы и найдите слова «key», «secret» и «token».

Формы и злоупотребления (5 минут)

  1. Отправьте каждую форму пустой, с очень длинным текстом и дважды подряд.
  2. Убедитесь, что ограничения частоты есть для регистрации, входа и любой функции ИИ.

Данные и восстановление (5 минут)

  1. Знайте, где находятся данные и как их восстановить.
  2. Проверьте, что можно откатить код к предыдущей рабочей версии.

Юридические вопросы и основы (5 минут)

  1. Если вы собираете персональные данные, добавьте политику конфиденциальности и укажите, что именно собираете. См. как написать условия использования и политику конфиденциальности.
  2. Убедитесь, что опубликованное приложение работает по HTTPS. Большинство конструкторов, включая Mythex, делают это за вас.

Если всё пройдено, вы в хорошей форме для раннего запуска. Повторяйте шаги 1–5 после любого крупного изменения входа, ролей или данных.

Что защищают и чего не защищают платформы вайб-кодинга

Хорошая платформа берёт на себя много инфраструктуры: HTTPS, изолированные рабочие пространства, базу данных для каждого проекта, хранение секретов, резервные копии и откат. Mythex выдаёт каждому проекту собственное закрытое рабочее пространство и базу данных, держит секреты вне кода и сохраняет контрольную точку после каждого успешного изменения, чтобы его можно было отменить.

Но ни одна платформа не может знать правила вашего приложения. Только вы знаете, что клиенты не должны видеть счета друг друга или что купон должен срабатывать один раз. Эти правила должны быть в ваших промптах и подтверждаться тестами.

Короткий ответ

Вайб-кодинг настолько безопасен, насколько безопасны проверки, которые вы добавляете. Для личного инструмента держите ключи вне кода и наслаждайтесь процессом. Для всего, где есть чужие данные, проводите проверку из 30 минут перед каждым запуском и привлекайте взгляд разработчика к платежам и чувствительным данным. Чтобы увидеть эти риски в реальных проектах, читайте наши примеры вайб-кодинга; чтобы строить с этими проверками с самого начала, следуйте как создать приложение вайб-кодингом.

Вопросы

Безопасен ли вайб-кодинг?

Он безопасен для личных инструментов и прототипов без чувствительных данных. Для приложений, где другие люди регистрируются, хранят данные или платят, он безопасен только если вы добавляете проверки, которые вайб-кодинг пропускает: правила доступа на сервере, секреты вне кода, ограничения для публичных форм и проверку всего, что работает с деньгами или персональными данными.

Какой самый серьёзный риск в приложениях, созданных вайб-кодингом?

Нарушение контроля доступа: авторизованный пользователь может читать или менять данные другого пользователя, обычно изменив ID в запросе. Это никогда не проявляется, если тестировать приложение под собственной учётной записью, поэтому такая ошибка так распространена. Проверяйте её намеренно, с двумя аккаунтами.

Может ли код, сгенерированный ИИ, раскрыть мои API-ключи?

Да, если ключ попадает в код, который выполняется в браузере посетителя, или загружен в публичный репозиторий. Храните ключи в секретах или переменных окружения вашего инструмента, вызывайте внешние сервисы с сервера и попросите ИИ перечислить, где используется каждый ключ.

Нужен ли разработчик, чтобы проверить приложение, созданное вайб-кодингом?

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

Безопасны ли мой код и данные на платформе вайб-кодинга?

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

Mythex · Pricing · Создавайте что угодно с ИИ · Шаблоны сайтов и приложений · Сравнения Mythex · Глоссарий по созданию приложений с ИИ · Бесплатные инструменты для создания приложений с ИИ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)