Илья Шкура
EN UK RU

Кейсы · Проверка приложения

Интернет-магазин, собранный ИИ: проверен и исправлен

Образец заказа: магазин вымышленный, данные тестовые. Он собран в Claude Code для этого кейса; каждая находка, тест и исправление — настоящий прогон.

26проблем найдено в магазине, который ИИ сдал как готовый; 3 касались денег или данных покупателей, 22 исправлены

Цель

Приложения, собранные описанием для ИИ, выглядят готовыми задолго до того, как им можно доверить деньги. Вопрос: что найдёт проверка в магазине, который нормально проходит обычный просмотр и который ИИ сдал как готовый?

Сложность

Там, куда обычно смотрят, магазин был в порядке: цены, остатки и суммы сходились, чужие данные снаружи прочитать было нельзя. В ответах ИИ, который его собирал, стояло: «Orders can't be placed twice». Ошибки проявлялись только при обрыве связи, при лишней цифре в сумме или когда два действия совпадали по времени.

Решение

Копия магазина работала локально на тестовых данных; оплата картой — через заглушку Stripe и один раз через Stripe в тестовом режиме. Сначала автоматическая проверка правил доступа, потом четыре независимых ревью в отдельных сессиях, не видевших работу друг друга: снаружи с публичным ключом, код и база, владелец и покупатели в браузере, установленное приложение без сети. Каждая находка стала тестом, который падает на магазине в том виде, как он сдан; каждое исправление потом проверяли сессии, которые его не писали.

Результат

26 находок: 3 высоких, 9 средних, 14 низких. После обрыва связи следующему покупателю на том же устройстве показывался чужой заказ с адресом; владелец мог записать возврат €500 по заказу на €29,99; покупатель мог заплатить картой €27,99 за уже отменённый заказ и не получить деньги назад. На магазине в том виде, как он сдан, падало 40 тестов из 48, после исправлений — ни одного. 22 находки исправлены; 4 низких оставлены владельцу, с причинами. Ревью исправлений нашли ещё проблемы, часть внесли сами исправления; эти круги в цифры не входят. Один магазин, собранный один раз: цифры описывают этот магазин, а не долю для таких приложений.

Услуга

Такая же проверка для вашего приложения

Вы присылаете код, а не пароли. Каждая найденная проблема становится тестом, а каждое исправление проверяется на то, что оно сломало.