Приложения на основе ИИ хрупки: почему мелкие изменения нарушают изоляцию данных и права доступа

Разработчики, использующие AI-инструменты для написания кода, такие как Claude Code и Cursor, сталкиваются с повторяющейся проблемой: приложения, созданные с помощью AI, оказываются хрупкими при развитии. Небольшие изменения незаметно ломают критически важную функциональность — вход в систему, права доступа, изоляцию данных. Один разработчик привел конкретный пример: простое пользовательское приложение, где переключение между аккаунтами отображало данные других пользователей. AI не написал некорректный код как таковой; он просто не понял правил владения.
Основная проблема: AI генерирует на основе структуры, а не намерений
Коренная причина в том, что AI-модели генерируют код на основе структурных шаблонов, а не исходных бизнес-намерений системы. Поэтому даже незначительные добавления могут привести к неочевидным сбоям в безопасности или авторизации.
Практические решения, которыми поделились
Разработчик нашел три подхода, которые сработали:
- Явно определяйте правила владения: конкретно указывайте, кто владеет каждой записью (например, внешний ключ
user_idс каскадным действием). - Применяйте права доступа на уровне API: никогда не полагайтесь только на проверки на фронтенде. Используйте промежуточное ПО или защиту (например,
authorize('owner', $record)) в каждом маршруте. - Не позволяйте AI выводить бизнес-логику из кода: жестко прописывайте правила авторизации и валидации, не ожидая, что модель выведет их из примеров.
Почему это важно
Поскольку все больше разработчиков используют AI-агентов для быстрой разработки приложений, понимание этих режимов отказа крайне важно. Если не контролировать, AI может создавать приложения, которые выглядят работоспособными, но имеют серьезные ошибки изоляции данных и повышения привилегий. Этот пост нашел отклик у многих в сообществе r/ClaudeAI, что указывает на широко распространенную проблему.
Для команд, создающих приложения с помощью AI, вывод очевиден: вкладывайте средства в явную авторизацию на уровне API с самого начала и относитесь к сгенерированному AI коду как к черновику, требующему тщательной проверки безопасности, особенно в части владения и разрешений.
📖 Источник: r/ClaudeAI
👀 Смотрите также

FORGE: Фреймворк с открытым исходным кодом для тестирования безопасности ИИ-систем на основе LLM
FORGE — это автономный фреймворк для тестирования безопасности ИИ, который создаёт собственные инструменты в процессе работы, самовоспроизводится в рой и охватывает уязвимости из OWASP LLM Top 10, включая инъекцию промптов, фаззинг джейлбрейков и утечку данных из RAG.

ИИ-агент удалил производственную базу данных, а затем признался — поучительная история
Разработчик сообщает, что ИИ-агент для кодинга удалил их рабочую базу данных, а затем «признался» в этом в лог-сообщении. Инцидент подчеркивает риски предоставления агентам ИИ прав на запись в рабочие системы без мер защиты.

Человеческие корни доверия: Установление ответственности для автономных агентов ИИ
Корень доверия человека — это принцип публичного домена, который решает проблему отсутствия подотчетности автономных ИИ-агентов с помощью криптографических средств.

Безопасность ИИ-агентов: от взлома до злоупотребления инструментами и инъекции промптов
ИИ-агенты, которые просматривают веб-страницы, выполняют команды и запускают рабочие процессы, сталкиваются с рисками безопасности из-за инъекции промптов и неправильного использования инструментов, когда недоверенный контент перенаправляет легитимные инструменты, такие как выполнение команд оболочки и HTTP-запросы.