Безпека застосунку, зробленого вайбкодингом: перевірка за один вечір
AI-конструктор вміє зробити застосунок, який працює. Але він не попередить, що ключ від платіжки лежить у відкритому коді, а будь-який користувач може відкрити чуже замовлення. Такі речі не видно в демо — їх знаходять клієнти або, гірше, сторонні люди. Ось що перевірити до того, як ви покличете перших реальних користувачів.
Ключі та паролі
- Відкрийте застосунок у браузері, натисніть F12 і пошукайте в коді сторінки та мережевих запитах «key», «secret», «sk-». Ключі від AI, оплат і пошти мають бути лише на сервері.
- Перевірте історію в GitHub: ключ, який колись туди потрапив, залишається там навіть після видалення. Такий ключ треба замінити на новий у сервісі.
- Поставте ліміти витрат у кабінетах AI-сервісів, щоб чужий бот не наговорив вам рахунок за ніч.
Дані клієнтів
- Якщо застосунок працює на Supabase чи схожому сервісі, переконайтеся, що для кожної таблиці увімкнено row-level security і правила справді обмежують доступ власними записами.
- Зробіть тест на двох акаунтах: зайдіть як перший користувач і спробуйте відкрити дані другого, змінивши номер в адресі чи запиті.
- Зберігайте лише ті персональні дані, які справді потрібні. Закон «Про захист персональних даних» стосується і маленьких проєктів, а якщо серед клієнтів є люди з ЄС — ще й GDPR.
Вхід і права
- Вхід — лише через вбудовану авторизацію платформи чи відомий сервіс, а не через саморобну таблицю паролів.
- Пройдіть самі відновлення пароля і підтвердження пошти від початку до кінця.
- Права перевіряються на сервері. Приховати кнопку «Адмінка» від звичайного користувача — не захист.
Оплати
- Замовлення стає оплаченим лише тоді, коли LiqPay, WayForPay чи інший сервіс надіслав підтвердження на ваш сервер, а не коли браузер показав сторінку «Дякуємо за оплату».
- Ціна рахується на сервері. Якщо її можна змінити в браузері перед оплатою, хтось це зробить.
Резервні копії й акаунти
- Ви знаєте, де лежать резервні копії бази, і хоча б раз пробували з них відновитися.
- Хостинг, база, домен, платіжний і AI-акаунти оформлені на вас або вашу компанію, а не на фрилансера чи знайомого.
Якщо щось знайшли
Почніть із найнебезпечнішого: замініть відкриті ключі, потім закрийте доступ до чужих даних, далі — решта. Просити AI виправити конкретну проблему можна, але результат перевіряйте самі тим самим тестом: AI інколи впевнено каже «виправлено», коли це не так. Якщо могли витекти дані реальних клієнтів, з’ясуйте, чи маєте ви їх повідомити.
Коли варто звернутися по допомогу
- У застосунку є оплати, кабінети чи персональні дані, і на кону репутація.
- Ви знайшли проблеми, але не впевнені, що закрили їх як слід.
- Ви не можете сказати, що де працює і на кого оформлено.
Часті запитання
Застосунки з Lovable чи Bolt небезпечні?
Не самі по собі. Платформи дають цеглини, а безпека залежить від того, як їх складено: передусім від правил доступу до бази і від того, де лежать ключі. Чекліст вище покаже, як справи у вас.
Як швидко перевірити, чи не видно мого API-ключа?
Відкрийте застосунок, натисніть F12, перейдіть на вкладки з кодом і мережевими запитами і пошукайте ключ чи слова «key» і «secret». Знайшли — замініть ключ у сервісі і перенесіть його на сервер.
Чи потрібен аудит безпеки?
Якщо застосунок приймає гроші чи зберігає персональні дані — так, перевірка досвідченою людиною окупиться. Чекліст ловить найчастіші діри, але не всі.