Valas
ENSLBGDE
WhatsApp →
Меню
Четиво · за основатели след Lovable, Bolt, Replit или Cursor

Чеклист за сигурност на vibe-coded приложения: 12 неща за проверка, преди да вземете пари

Построихте го за един уикенд, хората се регистрираха, някой иска да плати. Преди да го направи, отделете час за този списък. Нищо от него не изисква четене на код. Всичко от него е потопило реално приложение през последната година.

Първо една бележка: това не е аргумент срещу vibe coding-а. Използвахте най-бързия инструмент, който съществува, за да разберете дали на някого му пука, и разбрахте. „Работи“ и „сигурно е“ просто са различни свойства, а моделът, който е написал приложението ви, уверено ще ви каже, че то има и двете. Проверете.

Тайни

1
Има ли API ключове в браузъра?
Отворете работещото приложение, натиснете F12 и потърсете в Sources и Network низове, които започват със sk_, sk-, AIza или съдържат „secret“. Всичко, което намерите, е публично. Всеки може да надуе сметката ви в OpenAI или Stripe с него - хора са се събуждали с петцифрени фактури по този начин.
2
Публично ли е репото ви и качван ли е някога ключ?
Изтриването на ключ от файл не го изтрива от историята на git. Ако някога е бил качен, сменете го още днес.
3
Сервизният ключ на базата ви намира ли се някъде, до където потребител може да стигне?
Ключът service_role на Supabase и администраторските данни за Firebase заобикалят всяко правило. Мястото им е само на сървъра.

Кой чии данни може да вижда

4
Включена ли е сигурността на ниво ред за всяка таблица?
Създайте два тестови акаунта. Влезте с единия и опитайте да поискате данните на другия, като смените ID в URL-а или в заявката. Ако ги виждате, виждат ги всички. Това е най-честата находка във vibe-coded приложенията.
5
Администраторските страници защитени ли са на сървъра или само скрити?
Въведете администраторския URL, докато сте влезли като обикновен потребител. Маршрут, към който просто няма линк, не е защитен.
6
Как се съхраняват паролите?
Ако сте направили собствен вход, вместо да използвате автентикацията на платформата, помолете модела да ви покаже таблицата. Ако можете да прочетете парола, тя е в обикновен текст. Преминете към автентикацията на платформата или към подходяща библиотека, преди да се е регистрирал някой друг.

Пари

7
Може ли paywall-ът да се заобиколи от браузъра?
Отворете инструментите за разработчици, намерете елемента, който скрива премиум функцията, изтрийте го или сменете display:none. Ако функцията вече работи, проверката на абонамента ви живее във фронтенда. Реални приложения са били заобикаляни с два реда CSS. Проверката - „има ли този потребител активен абонамент?“ - трябва да става на сървъра, при всяка заявка.
8
Проверени ли са платежните webhook-ове?
Stripe, RevenueCat и магазините за приложения изпращат подпис с всяко събитие. Ако кодът ви не го проверява, всеки може да изпрати на сървъра ви фалшиво „плащането е успешно“.
9
Какво става при възстановяване, отказ или неуспешно подновяване?
Тествайте всяко. Щастливият път е генериран; нещастните пътища обикновено не са.

Работа в продукция

10
Разработката и продукцията делят ли една база данни?
Ако някога сте „тествали нещо“ и реални потребители са го видели - делят. Отделни проекти, отделни ключове и начин да върнете деплой назад.
11
Има ли някакво ограничаване на заявките?
Особено за всичко, което вика LLM или изпраща имейли. Без него един скрипт превръща сметката ви за токени в инцидент със сигурността.
12
Къде физически живеят личните данни на потребителите ви?
Регионите по подразбиране често са в САЩ. Аналитичните SDK-та и AI заявките изпращат данни на трети страни. Ако потребителите ви са в Европа, трябва да можете да отговорите на това с едно изречение - корпоративен клиент или регулатор ще попита.
Ако сте открили повече от две

Спрете да приемате нови плащания, докато не бъдат оправени, после нека опитен инженер прегледа всичко - повечето от тях се откриват за един следобед и се оправят за дни, без пренаписване. Ние правим този преглед за дни и записваме решението укрепване или изграждане наново, с причините.

Vibe-coded → продукция →

Какво не можете да проверите отвън

Горният списък хваща шумните проблеми. Тихите - схема на базата, която ще се срине при десет пъти повече редове, зависимост с известна уязвимост, фонова задача, която тихо се проваля, липсата на какъвто и да е тест, който да хване регресия преди потребителя - изискват някой да прочете кода. Това е преглед, не изграждане наново. Пазете се от всеки, чийто първи отговор е „започваме от нулата, шест месеца, шестцифрена сума“: това, което сте построили, е работеща спецификация, в която е кодирано всяко решение, взето в разговори с клиенти. Не плащайте два пъти за едно и също приложение.

Последните 20% не са още промптове

Всеки основател, който е направил продукт с vibe coding, познава стената: всяка поправка чупи нещо друго, приложението става по-бавно, а увереността на модела остава точно където си беше. Това не е проблем с промптовете. Това е точката, в която започва инженерството - тестове, структура, скучна надеждност. Пускаме собствените си продукти с Claude Code и знаем точно къде инструментите са брилянтни и къде тихо лъжат. Ако искате втори чифт очи, изпратете линк към репото и едното нещо, което ви тревожи най-много, в WhatsApp.

Vibe-coded → продукция → Следва: разработчиците ви спряха да отговарят → Valas →