Кейсы · Проверка приложения
Проверка доступа и оплат в живом приложении на 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."ИСПРАВЛЕНО
- ТЕСТ
- Чужой аккаунт запрашивает заказ гостя. До исправления тест падал, после проходит.
Услуга
Такая же проверка для вашего приложения
Вы присылаете код или приглашаете меня с доступом только на чтение, а не пароли. Каждая находка — с тем, что произошло, что должно было произойти и где это в коде.