Кібербезпека

«Vibe Coded» Додатки Масово Витікають Дані Користувачів: Чому Швидкість Перемагає Безпеку

A

Adam Conway

5 хв читання

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

Зниження Бар'єру для Розробки та Зростання Ризиків

Бар'єр для випуску програмного забезпечення ніколи не був таким низьким. Завдяки інструментам штучного інтелекту, ідея може бути перетворена на робочий прототип за один день та розгорнута до вечора. Хоча результати можуть бути вражаючими, Адам Конвей, провідний технічний редактор XDA, зазначає, що він постійно натрапляє на так звані «vibe coded» додатки, які витікають дані користувачів. Ці проблеми виникають знову і знову, і вони стосуються базових аспектів безпеки, які мали б бути вирішені ще на етапі розробки.

Ця тенденція не є новою і існувала задовго до появи великих мовних моделей (LLM), коли розробники залишали відкритими S3-бакети або надмірно довіряли фронтенду. Однак, що змінилося, так це обсяг таких помилок. Швидкість розробки скоротилася з тижнів до годин, але масштаби помилок також зросли.

Поширені Випадки Витоків Даних

Автор наводить кілька прикладів витоків даних, з якими він стикався:

  • Ігровий сайт: Нещодавно Конвей виявив ігровий сайт для популярного змагального шутера, який за допомогою однієї кінцевої точки повертав усю базу даних користувачів, включаючи імена, вподобання, електронні адреси та ігровий ранг. Інша кінцева точка повертала приватні розмови між двома іншими користувачами. Сайт завантажував дані всіх зареєстрованих користувачів, а фільтрація відбувалася на стороні клієнта, що означало, що дані вже були на машині користувача.
  • Контент-платформа: На іншій платформі, створеній за допомогою ШІ, автор виявив, що JSON-об'єкт, який надсилався сервером, містив не лише опубліковані дописи, а й чернетки, заплановані та тестові статті з повним текстом. Фронтенд приховував їх, але дані були доступні через вкладку «Мережа» в консолі розробника.

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

Гучні Випадки Витоків

Проблема витоків даних проявляється і в більш масштабних проєктах:

  • Платформа для анонімних доносів: Один сайт, який обіцяв анонімність користувачам, що надсилали інформацію про інших, виявив електронні адреси та номери телефонів самих донощиків через власний інтерфейс. Сайт було закрито, але дані вже були скомпрометовані.
  • Додаток спільноти з ідентифікацією: Інший додаток, що вимагав завантаження селфі та посвідчення особи при реєстрації, зберігав ці файли у хмарному сховищі, налаштованому на анонімне читання. Це призвело до витоку понад 70 тисяч зображень, включаючи 13 тисяч водійських посвідчень та паспортів, а також понад мільйон приватних повідомлень.
  • Huntarr – інструмент автоматизації: У випадку з Huntarr, самостійно розміщеним інструментом автоматизації, публічний аудит безпеки виявив 21 вразливість, включаючи неаутентифіковану кінцеву точку, що повертала паролі та API-ключі у відкритому тексті. Замість виправлення, розробник видалив проєкт та заблокував користувачів, які піднімали ці питання.

Корінь Проблеми: Неправильне Розуміння Авторизації

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

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

Багато популярних ШІ-конструкторів додатків генерують фронтенд, який безпосередньо взаємодіє з хостинговими бекенд-сервісами, такими як Firebase або Supabase, використовуючи API-ключ, вбудований у клієнт. Проблема полягає в тому, що правила безпеки (наприклад, правила безпеки у Firebase або row-level security у Supabase) часто залишаються незміненими або неправильно налаштованими.

Масштаб Проблеми та Економічні Стимули

Дослідження, проведене Меттом Палмером та Коді Лоу, показало масштаб проблеми. Вони виявили, що генератор профілів LinkedIn, створений за допомогою Lovable (одного з відомих ШІ-конструкторів додатків), витікав усю базу даних користувачів. Після цього вони протестували 1645 додатків, представлених на маркетплейсі Lovable, і виявили, що 170 з них (приблизно кожен десятий) витікали дані користувачів через ту саму вразливість. Ця вразливість отримала ідентифікатор CVE-2025-48757, а її корінь полягав у тому, що додатки Lovable підключалися до Supabase без налаштованих політик безпеки на рівні рядків.

Економіка «vibe coding» винагороджує швидкість понад усе. Можна швидко створити невеликий SaaS-інструмент, поставити його за логін-стіну та почати стягувати плату. Якщо найгірше, що станеться, це те, що кілька ранніх користувачів помітять щось дивне і підуть, то «vibe coded» додаток може досягти прибутковості ще до того, як пройде справжній аудит безпеки.

Рекомендації для Розробників

Автор не виступає проти «vibe coding» як такого, але закликає до покращення рефлексів щодо довіри на стороні сервера. Він пропонує розробникам, які використовують ШІ-помічників:

  • Ставитися до кожної кінцевої точки так, ніби атакуючий збирається її викликати.
  • Просити модель пояснити логіку авторизації.
  • Вимикати JavaScript і перевіряти, як працює сайт.
  • Відкривати вкладку «Мережа» у власному додатку, перш ніж це зробить хтось інший.

Ці методи не є складними, але їх постійно пропускають. Проблеми авторизації є базовими та вважаються вирішеними в інженерії програмного забезпечення. ШІ-помічники повинні бути здатні виявляти їх. Доки цього не станеться, люди продовжуватимуть випадково знаходити ці вразливості. Якщо ви створюєте щось, що збирає повідомлення, особисту інформацію або приватні чернетки, переконайтеся, що саме сервер виконує функцію контролю доступу. Користувачі довірили вам свої дані, і їхнє безконтрольне повернення – це вражаючий спосіб порушити цю довіру.

Що це означає для розробників

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

Ключові факти

  • Бар'єр для випуску програмного забезпечення значно знизився завдяки ШІ, що дозволяє створювати прототипи та розгортати їх за лічені години.

  • Автор постійно виявляє «vibe coded» додатки, які витікають дані користувачів через небезпечне зберігання даних та неправильну авторизацію.

  • Приклади витоків включають повні бази даних користувачів, приватні розмови, чернетки статей, електронні адреси, номери телефонів, а також фотографії посвідчень особи та приватні повідомлення.

  • Корінь проблеми полягає в тому, що розробники (або ШІ-моделі) розглядають фронтенд як авторитет для авторизації, тоді як бекенд повертає всі дані.

  • ШІ-інструменти оптимізують додатки для функціональності («працює»), а не для безпеки («безпечно»), часто залишаючи правила безпеки (наприклад, row-level security у Supabase) неконфігурованими.

Джерела

Джерело

XDAAdam Conway

I keep finding vibe coded apps that leak user data, and I'm not even looking for it

19 квітня 2026 · оновлено 19 квітня 2026

Оригінал

Попередні статті

Ілюстрація, що показує оптимізаційну модель, оточену елементами невизначеності, що символізують випадкові дані, та чітке рішення в центрі.
21 травня 2026Розробка ПЗ

Стохастичне програмування: Як оптимізувати рішення в умовах невизначеності

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

Ілюстрація, що зображує людину, яка аналізує дані на екрані без коду, з елементами, що символізують психологію, інженерію та бізнес.
21 травня 2026Дані та аналітика

Нова програма UTC відкриває шлях до аналітики даних без кодування

Університет Теннессі в Чаттанузі запустив програму Engineering Analytics, що дозволяє студентам вивчати аналітику даних без необхідності кодування, зосереджуючись на практичному застосуванні та міждисциплінарному підході.

Інженер даних працює з візуалізованими потоками даних та елементами штучного інтелекту на екрані, що символізує автоматизацію та ефективність.
21 травня 2026Дані та аналітика

Наступне Покоління Інженерії Даних: Динамічні Таблиці та Ще 5 Функцій, Що Змінять Ваш Підхід до Розробки

Snowflake представляє шість нових функцій, які трансформують інженерію даних, переходячи до декларативного програмування та автоматизуючи складні робочі процеси. Ці інструменти, від Cortex Code до Динамічних Таблиць, покликані скоротити час розробки з днів до хвилин та розширити можливості інженерів.

Наступні статті

Ілюстрація, що зображує Ісаю Ванга, який працює з технологіями, що поєднують морські дослідження та комп'ютерні науки, з елементами океану та даних.
21 травня 2026Штучний інтелект

Ісая Ванг: Поєднання Комп'ютерних Наук та Морських Досліджень

Випускник Ісая Ванг успішно поєднав комп'ютерні та морські науки в Університеті Маямі, зосередившись на використанні даних, програмування та машинного навчання для вирішення океанічних викликів та розвитку морської робототехніки.

Розробник сидить за столом, дивлячись на екран з кодом, виглядаючи розгубленим, тоді як поруч з ним світиться абстрактне зображення ШІ, що генерує код.
21 травня 2026Штучний інтелект

Кодування з ШІ: Неймовірна швидкість та ціна розуміння

Автор ділиться досвідом створення складної системи за 25 годин за допомогою ШІ-інструментів, але згодом виявляє, що не розуміє власного коду. Це піднімає питання про швидкість розробки проти глибокого розуміння та нову роль розробника.

Розробник сидить за столом, дивлячись на екран з кодом та вікном чату AI-асистента, що світиться збоку, виглядаючи задумливим або розгубленим.
21 травня 2026Штучний інтелект

Новий досвід кодування зі штучним інтелектом: функціональність, реакції та етичні дилеми

Інтеграція LLM-асистентів змінює розробку ПЗ. Розглянуто їхні можливості, різні реакції розробників та етичні виклики, що постають перед індустрією.