Перейти до вмісту

Основи безпеки

Чи безпечний Base44? Дані 5 442 застосунків

Чи безпечний Base44? Ми прогнали дев’ять перевірок на 5 442 робочих застосунках Base44. Майже всі отримали B з причин, яких власник ніколи не обирав.

Vlad Tkachenko9 хв читання
Картка застосунку Base44 перед зачиненою панеллю платформи з базою даних усередині, і відвідувачі, що дістаються застосунку справа.

Коротко

  • Чи безпечний Base44? 4 231 із 5 442 оцінених застосунків Base44 отримали B, і чотири знахідки, які належать Base44, а не власникові застосунку, пояснюють майже все це.
  • Те, що власник справді зробив не так, траплялося рідко: 103 з тих застосунків опублікували ключ або секрет у сторінці, 95 із них ключ Google API, а один справжній секретний ключ Stripe.
  • На питання, яке більшість має на увазі під «чи це безпечно», ззовні застосунку Base44 відповісти не можна. 1 466 із них називають проєкт Supabase, і лише 2 дали нам запитати, чи може сторонній його прочитати.

Ви щось побудували на Base44, воно працює, і ви от-от пустите туди справжніх людей. Тож ви набрали «is base44 safe» у пошуку, і назад прийшли власний блог Base44, його власні сторінки продукту та два посібники, написані з них. Нічого з цього не є відповіддю, а ваш власний звіт сканування, якщо ви його запускали, імовірно сказав B і лишив вас так само без розуміння чому.

Частину ми відповісти можемо. За останній рік ми прогнали ті самі дев’ять перевірок на кожному робочому застосунку, який знайшли, і 5 442 з них були застосунками Base44. Ось частина, яку посібник за посібником розуміє неправильно: застосунок Base44 і застосунок Lovable падають у протилежних місцях, і звіт, який дає вам Base44, здебільшого не про вас.

Чи безпечний Base44?

У цих трьох словах ховаються три різні питання, і розділити їх це більша частина роботи.

Перше: чи можна довірити свій застосунок Base44 як компанії. Друге: чи вартий чогось код, який він пише для вас. Третє: чи безпечно сторонньому відвідати застосунок, який ви опублікували. Лише третє можна виміряти ззовні, і на Base44 навіть воно повертається відповіденим наполовину.

Кількість застосунків із 5 442, на одній шкалі. Сірі смуги вирішує Base44. Бірюзова це єдиний рядок звіту, який постав із чогось у самому застосунку.

Що ми знайшли в 5 442 застосунках Base44

Чотири знахідки, майже в кожному застосунку, і всі чотири належать платформі.

Що знайшла перевіркаЗастосунків
Бракує заголовків безпеки5 438
API відповідає будь-якому сайту5 417
Опублікована source map3 229
Адреса, яка відповідає без входу2 705
Ключ, опублікований у сторінці95

Перші дві це заголовки відповіді, а на застосунку Base44 заголовок відповіді ставить хостинг Base44, а не щось написане вами. Третя і четверта виглядають у звіті тривожно і теж не ваші: єдина source map, яка відповідає на застосунку Base44, належить власному скрипту бейджа Base44, а адреса, яка відповідає, щоразу та сама. У вересні 2026 року ми повернулися до 30 позначених застосунків і написали, що ті два рядки означають насправді, бо це два найчастіше хибно прочитані рядки звіту Base44.

Лишається 103 застосунки з 5 442, які несуть у сторінці щось, що туди вставила людина: 95 із них ключ Google API, 11 інший рядок у формі секрету, і один справжній секретний ключ Stripe. Це ті рядки звіту Base44, які хтось туди поклав, і єдині, які хтось може звідти прибрати.

Чому майже кожен застосунок Base44 отримує B

Бо оцінку обмежує найгірша знахідка, а майже кожен застосунок Base44 має ту саму середню знахідку.

ОцінкаBase44 (5 442)Lovable (18 563)
A1 205 (22%)15 972 (86%)
B4 231 (78%)370 (2%)
C41 814 (10%)
D2402 (2%)
F05

Читайте форму, а не місце в рейтингу. Звіт Base44 це висока смуга на B і майже нічого під нею: шість застосунків із 5 442 нижче за B, і жодного F. У Lovable форма цілком інша, 86% на A і приблизно один із восьми на C або гірше. Ті самі дев’ять перевірок дали рівний розподіл на одній платформі й розколотий на іншій, і жодна з двох картин не є вироком щодо окремого застосунку, зокрема вашого.

Отже, B на застосунку Base44 це близько до підлоги платформи, і корисне читання вашого звіту це не літера. Це питання, чи порожні рядок ключів і рядок секретів.

95 ключів, які справді були вашими

Ключ у вашій опублікованій сторінці це єдина знахідка звіту Base44, якої туди не клав ніхто інший.

95 із 5 442 застосунків віддавали ключ Google API, а 11 віддавали щось інше, що скидалося на секрет. Один віддавав справжній секретний ключ Stripe, а один обмежений. Ключ Google API у сторінці зазвичай нешкідливий, а іноді це рахунок, залежно від того, чи обмежили його при створенні, і це перевіряється й лагодиться за п’ять хвилин. Секретний ключ Stripe у сторінці до тієї категорії не належить узагалі: він читає клієнтів, рухає гроші й робить повернення, і його треба змінити, перш ніж ви дочитаєте це.

Якщо ви не певні, які з ваших ключів мають бути публічними, у цього питання є коротка відповідь, і ми її записали: які ключі належать браузеру, а які ніколи.

Наше безкоштовне сканування читає ваш робочий застосунок Base44 ззовні й каже, які ключі та адреси воно бачить. Триває близько 20 секунд і не потребує облікового запису: сканувати застосунок.

Єдине, чого ніхто не може перевірити ззовні

Чи може сторонній прочитати ваші дані. Ні ми, ні будь-який інший сканер, і причина це власна побудова Base44.

На більшості білдерів ваш застосунок говорить зі своєю базою просто з браузера відвідувача. Це означає, що база має публічну адресу, ваш застосунок її несе, і будь-хто може її витягти й ставити базі питання. Чи отримає він відповіді, залежить від налаштування на кожній таблиці, якого власник міг ніколи не бачити. Це найбільша окрема причина витоку даних у застосунках, збудованих так, і на Base44 цей шлях вам не відкритий, бо запити йдуть через Base44.

Вимірювання каже це прямо. 1 466 із 5 442 застосунків Base44 десь у своїй сторінці називають проєкт Supabase. Наша перевірка Row Level Security отримала придатну відповідь від 2 з них.

Третя смуга це два застосунки. Пунктирна частина це ті 1 464, які не дали перевірці нічого прочитати, і саме так з вулиці виглядає база без публічної адреси.

Порівняйте це з білдерами, де двері виходять на вулицю. На Lovable 6 535 застосунків називають проєкт Supabase, 3 553 дали перевірці придатну відповідь, і 2 017 із них віддали рядки запиту без входу. На Bolt відповіли 35 із 267. На v0 жоден із 17.

Два застосунки це не частка, і ми жодної не друкуватимемо. Чесне підсумування таке: ваші дані в Base44 за дверима, до яких ми не дістаємося, що краще за відчинені двері, і це не те саме, що знати, що вони замкнені. Те, що це вирішує, лежить усередині: хто може зареєструватися, що бачить зареєстрований обліковий запис, і чи якийсь екран будували з припущенням, що ніхто не дивитиметься.

Тобто тут важить саме перевірка зсередини

У Base44 вона є, і на застосунку Base44 вона бачить ту половину, якої не бачимо ми.

Сторінка безпеки Base44 каже, що сканування безпеки можна запустити з вкладки Security кожного застосунку і що воно перевіряє сторонні залежності, небезпечні взірці коду, відкриті секрети, відсутні перевірки входу та слабкі правила доступу до даних. Саме два останні пункти це питання, до яких сканування ззовні на застосунку Base44 не дістається. Прочитано 6 жовтня 2026 року.

Навпаки теж правда, і саме тому 95 є в цій статті. Сканер зсередини читає ваш проєкт; у нього немає особливої причини звернутися по вашу опубліковану сторінку й прочитати, що в ній вийшло. Отже, обидва відповідають на різні половини, і власник застосунку Base44, який запускає лише один із них, сліпий у конкретний спосіб:

  • Вкладка Security у Base44 читає проєкт: ваші залежності, ваш код, ваші перевірки входу, ваші правила доступу до даних.
  • Сканування ззовні читає те, що отримують ваші відвідувачі: ключі в сторінці, адреси, до яких вона звертається, заголовки, які повертаються, і чи вийшла разом із нею мапа.

Запускайте те, що зсередини, перед публікацією, а те, що ззовні, після. Документація Base44 описує це сканування докладніше, ніж їхня сторінка про безпеку, і ми прочитали її повністю: що воно перевіряє і чому може повернутися чистим, поки ваша опублікована сторінка досі несе ключ.

Якщо ви підключили власний проєкт Supabase

Тоді двері на вулицю повертаються, і налаштування на кожній таблиці знову ваше.

Base44 дозволяє підключити власний проєкт Supabase замість бази, яку він надає. Це змінює найважливіше в цій статті: ваш проєкт відповідає інтернету напряму, ваша сторінка несе його адресу, і Row Level Security тепер єдине, що стоїть між стороннім і таблицею. На будь-якій таблиці, створеній через SQL, вона вимкнена за замовчуванням.

Ліворуч застосунок Base44 на власній базі Base44. Праворуч той самий застосунок із підключеним вашим проєктом Supabase. Ворота праворуч це Row Level Security, і налаштовуєте їх ви.

Це єдиний шлях, яким класична проблема відкритої бази дістається застосунку Base44, і він перевіряється в обидва боки: наше сканування може поставити вашому проєктові Supabase те саме питання, що й на будь-якому іншому білдері, а п’ятихвилинна версія перевірки це сторінка у вашій власній панелі. Якщо у вас є таблиці з будь-чим про людей, увімкнути її на кожній таблиці це перше, що варто зробити сьогодні.

Проєкт Supabase, який належить вам, це також база, за копію якої відповідаєте ви. Care тримає копію вашої бази Supabase за розкладом і дає відновлення в один клік, а якщо підключити обліковий запис Storage, ваші завантажені файли прийдуть разом. Він покриває Supabase, тож стосується цієї гілки статті, а не застосунку Base44 на власній базі Base44. Як працюють резервні копії.

П’ятихвилинна перевірка власного застосунку Base44

Чотири речі, у тому порядку, у якому вони варті зусиль.

Відкрийте свій опублікований застосунок і подивіться, що вийшло разом із ним. Натисніть F12, відкрийте вкладку Network, перезавантажте й прочитайте запити. Ви шукаєте ключ в URL або у відповіді та адресу, якої не впізнаєте. Наше сканування робить це ззовні й перелічує, що знайшло, і це швидше, ніж читати самому: сканувати застосунок.

Якщо знайшли ключ, визначте його, перш ніж панікувати. Ключ Google API хоче обмеження, а не заміни. Усе, що починається на sk_, хоче заміни зараз.

Відкрийте вкладку Security у Base44 і запустіть сканування й там. Це єдине з двох, яке може побачити ваші перевірки входу та ваші правила доступу до даних.

А тоді зареєструйтеся у власному застосунку так, як це зробив би сторонній. Заведіть другий обліковий запис, не давайте йому нічого й подивіться, куди він дістається. Це питання, якого сканування ззовні поставити не може, і одна реєстрація на нього відповідає.

Ваш застосунок змінюється з кожною публікацією

Сканування це зчитування одного моменту, і момент закінчується наступного разу, коли ви натискаєте «опублікувати».

Це не проблема Base44, так працюють усі ці білдери: промпт, який додає функцію, може додати ключ, нову сторінку або адресу, яка відповідає. 95 застосунків, у яких ми знайшли ключ, будували не люди, які хотіли ключ у сторінці. Їх будували по одному промпту за раз.

  • Monitor перезапускає дев’ять перевірок за розкладом і каже вам, коли відповідь змінилася.
  • Care додає копію вашої бази Supabase, яку тримає за розкладом, із відновленням в один клік.

Обидва читають ті самі дев’ять перевірок, на яких збудована ця стаття: подивіться, що покриває кожен.

Що зробити цього тижня

Що робити

  • Читайте в звіті рядок ключів і рядок секретів, а не літеру. B на застосунку Base44 це підлога платформи, і 4 231 із 5 442 оцінених застосунків сидять на ній.
  • Якщо ключ є у вашій опублікованій сторінці, спершу визначте його. Ключ Google API обмежують; усе, що починається на sk_, замінюють сьогодні.
  • Запустіть також власне сканування Base44 із вкладки Security вашого застосунку. На застосунку Base44 це єдине з двох, яке може побачити ваші перевірки входу та ваші правила доступу до даних.
  • Зареєструйтеся у власному застосунку як сторонній і подивіться, куди дістається новий обліковий запис. На це не відповість жодне сканування ззовні, на жодному білдері.
  • Якщо ви підключили власний проєкт Supabase, увімкніть Row Level Security на кожній таблиці, а тоді перевірте, що вона справді працює, бо це єдиний шлях, яким сторонній дістається просто до ваших даних.

Якщо вам зручніше пройти це списком, десятихвилинний чеклист безпеки покриває і це, і решту того, що варто вимкнути у щойно запущеному застосунку. Пояснення простою мовою для цієї платформи це чи безпечний ваш застосунок Base44, а порівняння білдерів стоїть в окремій статті.

Поширені запитання

Чи підходить Base44 для справжнього продукту?

У тому, що ми можемо прочитати ззовні, застосунки Base44 тихі. З 5 442 оцінених шість отримали гірше за B, і жоден не отримав F. Відповісти як слід нам заважає те, що застосунок Base44 тримає дані за Base44, а не за публічною адресою: перевірка, яка викрила тисячі застосунків на інших білдерах, тут просто не може виконатися. Це справді краще за відкриту публічну базу, і це не те саме, що довідка про здоров’я. Те, з чим ви можете щось зробити сьогодні, це ваші власні ключі: 95 із тих 5 442 застосунків віддавали ключ Google API просто в сторінці.

Чому мій застосунок Base44 отримує B?

Майже напевно через два заголовки відповіді, які Base44 ставить на кожен застосунок, що він хостить, а не через щось, що ви побудували. У 5 438 із 5 442 оцінених застосунків бракувало заголовків безпеки, і 5 417 повідомляли будь-якому сайту у світі, що той може звертатися до їхнього API. Обидва вирішує хостинг. Рядок про source map у вашому звіті теж належить платформі, а не вам: єдина мапа, яка відповідає на застосунку Base44, належить власному скрипту бейджа Base44.

Чи можуть люди побачити код мого застосунку Base44?

Браузерну половину будь-якого застосунку прочитати можна, бо браузер не намалює сторінку, якої не отримав. Ваші вихідні файли з коментарями та назвами це інше, і на застосунках Base44, які ми переперевірили у вересні 2026 року, вони не були опубліковані. 3 229 із 5 442 застосунків були позначені через source map, і в кожному, який ми відкрили, був код власного скрипта бейджа Base44, а не ваш. Про це ми написали окремо.

Чи в безпеці мої дані в застосунку Base44?

Ніхто поза вашим застосунком вам цього не скаже, і ми теж, і це факт про те, як збудований Base44, а не діра в нашому скануванні. Ваш застосунок просить дані в Base44, а Base44 просить їх у бази, тож немає адреси, яку сторонній міг би набрати. Отже, питання, які вирішують відповідь, усі всередині: хто може зареєструватися, що бачить зареєстрований обліковий запис, і чи якийсь екран будували з припущенням, що ніхто не дивитиметься. Власне сканування безпеки Base44 читає цю половину. Сканування ззовні читає іншу.

Чи помічає це власне сканування безпеки Base44?

Воно читає ту половину, яку не читаємо ми. Сторінка безпеки Base44 каже, що сканування можна запустити з вкладки Security кожного застосунку і що воно перевіряє сторонні залежності, небезпечні взірці коду, відкриті секрети, відсутні перевірки входу та слабкі правила доступу до даних. Саме два останні пункти сканування ззовні на застосунку Base44 структурно побачити не може. А те, що йому немає сенсу дивитися, це що ваша опублікована сторінка віддає відвідувачеві, і саме там ми знайшли 95 ключів Google API. Запускайте обидва і читайте їх як дві половини однієї відповіді.

Чи Base44 безпечніший за Lovable?

Їхні звіти виглядають протилежно, і різниця справжня. 15 972 із 18 563 застосунків Lovable отримали A, а приблизно один із восьми отримав C або гірше, бо застосунок Lovable говорить зі своєю базою просто з браузера, і та база часто лишається читабельною. У Base44 майже немає серйозного хвоста: шість застосунків із 5 442 нижче за B. Натомість ви віддаєте можливість перевірити це самостійно ззовні. Усіх п’ятьох білдерів ми порівнюємо в окремій статті, замість повторювати таблицю тут.

Автор

Vlad Tkachenko

Засновник Reeve

Я щодня дивлюся на застосунки, зібрані в Lovable, Bolt, v0, Cursor і Replit, і на короткий список помилок, які трапляються в них знову і знову.

Більше про автора

Читати далі

Усі статті

Не впевнені, як справи у вашому застосунку?

Запустіть безкоштовне сканування й отримайте зрозумілу оцінку від A до F приблизно за 20 секунд. Без облікового запису й без картки.

Сканувати безкоштовно

Автоматична зовнішня перевірка, а не повний аудит. Відсутність знахідок не є гарантією безпеки.