Сайт сделала нейросеть: 9 проверок безопасности перед запуском
· 3 мин чтения · Редакция Skill Unit
Нейросеть стремится, чтобы код заработал. Безопасность она учитывает, только если об этом попросить. Поэтому у сайтов, собранных за вечер, повторяются одни и те же дыры. Пройдитесь по списку до того, как отправлять ссылку клиентам.
1. Ключи и пароли не лежат в коде страницы
Самая частая и самая дорогая ошибка. Если ключ от платного сервиса (нейросети, рассылки, карт) вписан в JavaScript, который отдаётся браузеру, его может скопировать любой посетитель — и тратить ваши деньги. Ключи хранятся только на сервере, в переменных окружения (файл .env), а браузер обращается к вашему серверу, а не к сервису напрямую.
Проверь проект: есть ли в файлах, которые попадают в браузер, ключи API, токены или пароли? Если есть — перенеси их на серверную часть в переменные окружения и покажи, что изменилось.2. Файл .env не опубликован
Откройте в браузере ваш-сайт.ru/.env. Если видите текст с ключами — их уже нужно считать украденными: удалите файл с хостинга и перевыпустите все ключи в кабинетах сервисов. Если код хранится на GitHub, проверьте, что .env указан в .gitignore и не попал в историю.
3. Формы защищены от мусора
Открытую форму находят боты и шлют сотни заявок со ссылками. Минимум: ограничение числа отправок с одного адреса, скрытое поле-ловушка для ботов, проверка длины и формата полей на сервере (а не только в браузере).
4. Персональные данные — по правилам
- Галочка согласия на обработку персональных данных — отдельно, не отмечена заранее.
- Ссылка на политику обработки данных рядом с формой.
- Собираете только то, что нужно: для заявки часто хватает имени и телефона.
- Данные граждан РФ собираются и хранятся в базах в России (ч. 5 ст. 18 152-ФЗ) — это касается и хостинга, и сервиса, куда уходят заявки.
- Перед началом обработки данных оператор подаёт уведомление в Роскомнадзор — если вы ИП или компания, проверьте, сделано ли это.
5. Админка не открывается по прямой ссылке
Попросите нейросеть сделать админку — и проверьте: откройте её адрес в режиме инкогнито. Если страница со списком заявок открылась без входа, её найдут. Нужны вход с паролем и проверка прав на сервере для каждого запроса, а не только скрытая кнопка.
6. Сообщения об ошибках не выдают лишнего
Отправьте в форму заведомо неправильные данные. Если в ответ видите куски кода, пути к файлам или текст запроса к базе — это подсказка для взломщика. Посетителю достаточно «Что-то пошло не так, попробуйте ещё раз», подробности — в журнал на сервере.
7. Зависимости из известных источников
Нейросеть иногда предлагает установить библиотеку с похожим, но не тем названием, или пакет, которого не существует. Перед установкой проверьте пакет на официальном сайте или в реестре (npm, PyPI): число загрузок, дату обновления, ссылку на исходники. После установки запустите проверку уязвимостей (для Node.js — npm audit).
8. HTTPS и один адрес
Сайт открывается только по https, http перенаправляется. Без этого данные из формы идут открытым текстом.
9. Есть резервная копия и понятно, как откатиться
Перед каждой правкой — копия рабочей версии. Нейросеть может «починить» одно и сломать другое; без копии придётся восстанавливать по памяти.
Как просить нейросеть о безопасности
Ты — проверяющий по безопасности. Посмотри проект и найди: ключи в клиентском коде, незащищённые страницы админки, формы без проверки на сервере, вывод технических ошибок пользователю, сбор лишних персональных данных. Для каждой проблемы: где она, чем опасна, как исправить. Ничего не меняй, пока я не подтвержу.Проверяйте исправления сами: откройте страницу, отправьте форму, зайдите в инкогнито. Нейросеть может уверенно сказать «исправлено», когда это не так.
Как сделать сайт с формой, админкой и хранением ключей на сервере — и не допустить утечек — в курсе «Вайбкодинг с нуля». Первые два урока бесплатные.
Хотите пройти путь на практике?
Курс «Вайбкодинг с нуля: сайты и сервисы с помощью ИИ»: короткие уроки, практические задания и проверка ответов. Первый урок бесплатно.
Смотреть курс