Чи безпечний ваш застосунок на Bolt?
Bolt дозволяє описати застосунок і за лічені хвилини побачити, як його зібрано й задеплоєно. Це справді вражає — але швидка збірка може тихо відправити в реліз налаштування чи ключ, яких не мала б, а зсередини редактора ви цього не побачите.
Reeve перевіряє найпоширеніші проблеми ззовні, безкоштовно, і пояснює знайдене простою мовою. Без встановлення, без доступу до ваших акаунтів — ми дивимося лише на те, що вже публічне.
Вставте посилання на застосунок. Близько 20 секунд. Оцінку видно без реєстрації.
Що насправді може піти не так із застосунком на Bolt
Жоден із цих пунктів не означає, що ви зробили щось не так — це звичайні побічні ефекти швидкої розробки. Ось що варто перевірити:
Секретний ключ, що потрапляє в браузер (пастка VITE_)
Застосунки на Bolt зазвичай збираються за допомогою Vite, у якого є одне правило, на якому люди спотикаються: будь-яке налаштування, назва якого починається з VITE_, вбудовується в код, що виконується у браузері відвідувача — де його може прочитати будь-хто. Назвіть справжній секрет VITE_SOMETHING — і він піде в публічний доступ. Деякі ключі й мають бути публічними (як-от «anon» ключ Supabase), і це нормально — Reeve відрізняє безпечні від небезпечних, тож без хибних тривог.
Відкрита база даних (RLS у Supabase вимкнено)
Bolt часто під'єднує ваш застосунок до Supabase для даних. У Supabase є перемикач Row Level Security (RLS, захист на рівні рядків), що вирішує, хто може читати чи змінювати кожен рядок. Якщо він вимкнений, ваші таблиці можуть бути доступні для читання — або редагування — будь-кому, хто знайде адресу. Це найпоширеніша серйозна проблема застосунків, зроблених AI, і вона невидима, доки не перевіриш.
Відкритий файл .env або конфігурації
Файл .env містить ключі та паролі проєкту. Іноді він випадково публікується разом із задеплоєним застосунком. Якщо до нього можна дістатися ззовні — це пряма стежка до всього найчутливішого. Reeve перевіряє, чи не доступний ваш файл потихеньку.
Публічне сховище файлів
Якщо люди завантажують файли у ваш застосунок, вони живуть у «бакетах» сховища. Публічний бакет означає, що будь-хто може переглянути список або завантажити те, що всередині — тож приватне завантаження може стати видимим усім. Reeve перевіряє, чи можна переглянути список ваших бакетів; він ніколи не завантажує чужих файлів.
Увімкнені Source maps
«Карта коду» (source map) — це допоміжний файл, що розкриває оригінальний код вашого застосунку. Зручно під час розробки, але якщо вона потрапляє в продакшн, то дає стороннім читабельну мапу того, як влаштований застосунок — а це полегшує пошук усіх інших дверей. Невисока терміновість, але варто прибрати.
Відсутні заголовки безпеки та відкриті ендпоінти
Невеликі налаштування, що підказують браузерам, як захищати ваших відвідувачів, а також те, чи відповідають точки доступу до даних будь-кому чи будь-якому сайту. Окремо — дрібниці; разом розширюють щілину. Reeve позначає ті, яких бракує.
Що таке Reeve — і чим він не є
Reeve — це безкоштовна перевірка ззовні в режимі читання, наче інспектор, який обходить будинок по периметру й перевіряє двері. Це швидко, і це ловить поширені помилки з великими наслідками. Це не повний аудит безпеки, і чиста оцінка — не гарантія: вона означає, що очевидні двері зачинені.
Bolt і StackBlitz постійно покращують те, що генерується, а якщо ваш застосунок використовує Supabase, її власний радник позначає проблеми з базою даних у панелі керування. І те, і те допомагає. Що додає Reeve: ви живете в Bolt, а не в панелі, і ті інструменти говорять мовою розробників. Reeve дивиться на весь ваш задеплоєний застосунок ззовні — так, як подивився б сторонній — і розповідає знайдене словами, за якими можна діяти. А якщо ви не хочете про це думати — ми можемо стежити за ним замість вас.
Хочете, щоб цим займалися, а не лише перевірили?
Reeve Care продовжує стежити за вашим застосунком, робить резервні копії даних і допомагає полагодити, коли щось ламається — щоб ви могли будувати далі, а не хвилюватися.
Дізнатися про Reeve CareЧесні відповіді на запитання
Чи безпечний мій застосунок на Bolt за замовчуванням?
Bolt швидко дає робочий застосунок, але «безпечний за замовчуванням» залежить від того, як він налаштований — надто ж від змінних середовища і, якщо ви використовуєте Supabase, від правил бази даних. Єдиний спосіб дізнатися — перевірити, що насправді відкрито; Reeve робить це безкоштовно приблизно за 20 секунд.
Чому мій API-ключ витік у застосунку на Bolt?
Зазвичай тому, що він зберігався в налаштуванні, назва якого починається з VITE_. Vite навмисно вбудовує такі значення в браузерний бандл, тож будь-який секрет із такою назвою стає публічним. Reeve читає завантажений код застосунку, знаходить ключі й підказує, які безпечно розкривати, а які треба перенести на сервер.
Чи використовує Bolt Supabase, і чи це безпечно?
Bolt часто під'єднує застосунки до Supabase. Supabase безпечний, коли Row Level Security увімкнено й у фронтенді лише ваш публічний «anon» ключ. Якщо RLS вимкнено або витік «service_role» ключ, ваші дані можуть бути відкриті. Reeve перевіряє і те, і те, жодного разу не читаючи ваших справжніх даних.
Чи змінить сканування щось у моєму застосунку на Bolt?
Ні. Reeve дивиться лише на те, що вже публічне ззовні. Він ніколи не входить в акаунти, нічого не змінює й не завантажує ваших файлів — режим читання, наче перевірка, чи замкнені двері, не заходячи всередину.
Будували деінде? У нас є такий самий чесний розбір для:
Автоматична зовнішня перевірка, а не повний аудит. Відсутність знахідок не є гарантією безпеки.