Кейси · Перевірка застосунку
Перевірка доступу й оплат у живому застосунку на Supabase і Stripe
Справжній живий застосунок, не зразок. Усе спершу пішло власникам приватно, і поки знахідки відкриті, сторінка не називає ні застосунок, ні жодної окремої знахідки.
Жовтень 2026: надіслано власникам. Патчі запропоновано, ще не застосовано.
Про кейс
Що перевірено
Живий вебзастосунок на Supabase і Stripe. Перевірка охопила, хто що може читати й змінювати в базі, сховищі файлів і серверних функціях; купівлю й повернення; і пов'язані з ними екрани.
У чому складність
У застосунку вже є правила, хто що може читати й змінювати, і вони мають триматися для кожної ролі й на кожному шляху, а не лише на звичайному: частину вирішують екрани, частину база, частину серверні функції.
Як перевірено
Кожну знахідку відтворено на поточному коді власників, а кожну знахідку з патчем перевірено знову з ним. Кілька знахідок і виправлень перевірено лише за кодом, і звіт так їх і позначає. У кожній знахідці сказано, що сталося, що мало статися і звідки це очікування: власні екрани, тексти, код і документація застосунку або звичайна практика.
Результат
63 знахідки: 1 критична, 9 високих, 16 середніх, 37 низьких. 58 запропонованих патчів виправляють 49 повністю й 8 частково, а тести самих власників дають ті самі результати до й після, крім тестів, які два патчі оновлюють під нові правила. П'ять знахідок лишено власникам, бо їхнє виправлення потребує рішення, яке можуть ухвалити лише вони; одну свідомо лишено без змін, із поясненням. Власникам повідомлено приватно у жовтні 2026 року. Якщо власники погодяться, коли виправлення вийдуть, сторінка назве проєкт і опише виправлені знахідки.
Знахідки за сферами
| Сфера | Критичні | Високі | Середні | Низькі | Разом |
|---|---|---|---|---|---|
| Оплати | 1 | 3 | 4 | 6 | 14 |
| Приватні дані й файли | — | 3 | 4 | 7 | 14 |
| Ролі й доступ | — | 3 | 2 | 12 | 17 |
| Інші бізнес-правила | — | — | 5 | 9 | 14 |
| Екрани | — | — | 1 | 3 | 4 |
| Разом | 1 | 9 | 16 | 37 | 63 |
Серйозність визначається наслідками та їхньою ймовірністю. «Варто виправити» тут означає критичні, високі або середні: у відшліфованому застосунку зі справжніми користувачами середня знахідка теж може до них дійти.
Які це дефекти
Більшість знахідок зводяться до кількох шаблонів, звичних для таких застосунків:
- Стан оплати, що псується
- Прогалини в тому, хто що може змінювати
- Бізнес-правила, яких не дотримано
- Приватні файли, відкриті надто широко
- Особисті дані, відкриті ширше, ніж показують екрани
- Функції, що мовчки нічого не роблять
Що отримали власники
- Звіт з усіма знахідками: що сталося, що мало статися і чому, і де це в коді.
- 58 патчів поверх їхнього поточного коміту, з порядком і залежностями між ними.
- 15 запитань про те, що можуть вирішити лише власники: їхні живі дані, налаштування, продуктові рішення.
- П'ять відомих обмежень самих патчів. Усі виникають лише в рідкісних умовах, і через жодне не втрачаються гроші.
- Чого перевірка не охопила: сторінку оплати на боці платіжного сервісу і доставку листів, спори щодо платежів, частину шляхів і частину екранів.
Не замовлення: застосунок перевірено з власної ініціативи за його публічним кодом, без перевірок на живому сайті.
Як виглядає знахідка
Знахідки цього застосунку лишаються приватними, поки вони відкриті. Це той самий формат зі звіту про демонстраційний магазин.
Відкрити зразок звіту (PDF, англійською)Будь-який акаунт після входу може відкрити замовлення будь-якого гостя за номером
- ЯК ЗДАНО
- Сторінка замовлення відкривається: ім'я, вулиця, місто, пошта, телефон, що куплено.
- ПІСЛЯ ВИПРАВЛЕННЯ
- "We couldn't open this order."ВИПРАВЛЕНО
- ТЕСТ
- Чужий акаунт запитує замовлення гостя. До виправлення тест падав, після проходить.
Послуга
Така сама перевірка для вашого застосунку
Ви надсилаєте код або запрошуєте мене з доступом лише на читання, а не паролі. Кожна знахідка — з тим, що сталося, що мало статися і де це в коді.