Путь 01Тема 1 / 6

Vibe coding: возможности и ограничения

Помогайте людям изучать идеи с ИИ. На примере банковского прототипа разберитесь, почему реальные данные и разрешения API требуют подтверждения безопасности.

Основы11 минПроверено

Издатель Как мы пишем

Проверьте пониманиеБанковская панель работает с вымышленными транзакциями. Коллега предлагает подключить реальный счёт с доступом только на чтение. Что следует сделать?Выполните упражнение
Банковская панель работает с вымышленными транзакциями. Коллега предлагает подключить реальный счёт с доступом только на чтение. Что следует сделать?

Чему вы научитесь

  • Отличать исследование идеи от решения о выпуске.
  • Находить обязанности, которые убедительная демонстрация не покрывает.
  • Выбирать безопасные границы первого эксперимента.

Дайте людям возможность создавать

CTO крупной организации может помочь большему числу людей превратить свои знания в идеи для ПО. Пригласите сотрудников финансов, эксплуатации, продаж и разработки. Предоставьте время, синтетические данные, sandbox API и поддержку.

Разрешите использовать разные инструменты для исследования идей, установив ясные границы для установки, аккаунтов и допустимых входных данных. Конструктор в браузере, ассистент программирования или локальный агент помогут проверить идею. Выбор инструмента не разрешает загружать информацию компании или подключать реальную систему.

Опубликуйте простой порядок передачи полезного прототипа команде разработки или платформы. Автор приносит описание проблемы, пример рабочего процесса и наблюдаемую пользу. Ему не нужно становиться командой безопасности и эксплуатации сервиса.

Определите, что нужно выяснить

Vibe coding обычно начинается с описания желаемого ПО. Вы принимаете сгенерированный код и по видимому результату задаёте следующее изменение. У термина есть разные значения. В этом руководстве человек, который направляет работу, не обязательно понимает каждое решение, принятое при реализации.

Такой метод может помочь в обучении. Простой интерфейс способен показать, что в процессе согласования слишком много шагов. Временный скрипт поможет оценить формат файла. Прототип даёт конкретный вариант для обсуждения. Эти знания можно сохранить, даже если код будет удалён.

Сначала сформулируйте вопрос с наблюдаемым ответом. Например: «Понятен ли руководителю команды этот процесс согласования?» У такого вопроса ясные рамки. Запрос на систему учёта расходов дополнительно включает защиту данных, управление доступом, эксплуатацию и распределение ответственности.

Банковский прототип во вторник

Рассмотрим вымышленный пример. Во вторник коллега из финансов использует Lovable, чтобы создать панель с выдуманными банковскими транзакциями. Она группирует расходы и показывает неоплаченные счета. Теперь команда может обсуждать полезный рабочий процесс.

Кто-то предлагает подключить банковский счёт компании. Последствия меняются, даже если приложение по-прежнему называют прототипом.

В зависимости от API доступ на чтение может раскрыть остатки, историю транзакций, имена клиентов или референсы платежей. Если подключение также разрешает платежи, ошибки могут привести к переводу реальных денег. Уточните фактический объём разрешений: подключение банка не всегда даёт доступ к платежам.

Демонстрация не доказывает, что пользователь видит только разрешённые ему счета. Скрытая кнопка не обеспечивает соблюдение разрешений. OWASP описывает, как отсутствие проверок счёта или записи может раскрыть данные другого пользователя.

Что может пойти не так?Почему это важноПодтверждения до реального доступа
Секретные учётные данные API попадают в код браузера или логиДругая сторона может воспользоваться их разрешениямиИзучите обработку секретов и проверьте отзыв доступа
Backend принимает ID счёта без проверки прав вызывающей стороныПользователь может прочитать другой счётПроверьте отказ для запросов к другим пользователям и счетам
Истекает время ожидания платёжного запроса, и приложение отправляет его повторноПовтор может создать второй платёжПроверьте обработку повторов и сверьте результат с провайдером
Приложение отправляет сведения о транзакциях неодобренному сервису ИИКонфиденциальная информация выходит за разрешённые границыПроследите запросы, логи, получателей и сроки хранения
После запуска обнаруживается уязвимость зависимостиНеизменённому приложению всё равно может потребоваться исправление безопасностиНазначьте ответственных за непрерывное сканирование, устранение уязвимостей и проверку развёртывания

Для платёжных API идемпотентность означает, что повторный запрос не повторяет предусмотренный эффект. Stripe описывает одну реализацию. Проверьте поведение, ограничения и правила повторов фактического провайдера. Откат приложения не отменит платёж, который банк уже обработал.

Этот пример не доказывает наличие дефекта Lovable. Собственные рекомендации Lovable по безопасности требуют защиты секретов, серверных проверок, протестированных правил доступа к данным и регулярного review. Применяйте одинаковые требования к подтверждениям для любого конструктора, агента или приложения, написанного вручную.

Проверьте доступ до подключения реальных систем

Продолжайте проверять процесс на синтетических данных и sandbox-аккаунтах. До предоставления реального доступа попросите ответственных за сервис, безопасность и платформу проверить приложение и его эксплуатационное окружение.

Используйте одобренный банком или провайдером порядок подключения. Разрешайте только необходимые счета и действия. Держите секретные учётные данные в одобренном хранилище секретов, вне промптов и кода браузера. Если нужны платежи, определите их согласование и лимиты. Проверьте, как отозвать доступ, расследовать сбои и реагировать на подозрительную активность.

Эти решения нужны до попадания в систему конфиденциальной информации или реальных учётных данных. Ждать формального production-выпуска может быть поздно. Продолжите уроками о границах данных и корпоративной инфраструктуре.

Определите обязанности до расширения использования

Эксперимент с вымышленными данными может быть недолгим и предназначаться для нескольких человек. Когда от приложения начинают зависеть другие люди, определите обязанности по его использованию.

  1. Назначьте ответственного.
  2. Определите разрешённых пользователей и данные.
  3. Задайте порядок действий при сбое.
  4. Храните исходный код и конфигурацию в репозитории.
  5. Убедитесь, что другой человек сможет изучить и воспроизвести систему.

Не каждому скрипту нужна корпоративная платформа. Личному форматтеру без конфиденциальных данных требуется меньше мер контроля, чем приложению согласования платежей. Оцените последствия ошибки. Проверьте, сможете ли вы обнаружить её и обратить последствия.

Перед расширением прототипа отделите знания о проблеме от подтверждений качества реализации. Можно сохранить интерфейс и заменить внутренний код. Можно ограничить предполагаемое использование. Можно оставить прототип временным экспериментом.

Учитывайте уязвимости после демонстрации

Успешная демонстрация может скрывать серьёзный пробел в сопровождении. Новое сообщение об уязвимости зависимости может появиться без изменения вашего кода. Сканирование при выпуске описывает состояние на определённый момент времени.

Если приложение остаётся в использовании, кто-то должен продолжать находить, оценивать и устранять уязвимости. Исправление должно попасть в production и пройти проверку. Сканер без такого процесса реагирования оставляет риск неустранённым.

Выясните, что предоставляют ваш инструмент и его фактическая конфигурация. Далее урок о непрерывном управлении уязвимостями объясняет весь процесс, включая сбои сканирования и развёрнутые версии.

Упростите review следующего изменения

Дайте агенту одно небольшое изменение с явными критериями приёмки. Укажите разрешённые действия. Изучите итоговый diff. Выполните проверки, способные выявить неверную реализацию. Пока обязанности по выпуску не определены, сохраняйте развёртывание отдельным решением.

NIST Secure Software Development Framework описывает более широкий набор практик безопасной разработки. Используйте его при оценке недостающих мер контроля. Не нужно заучивать framework. Нужно выявить недостающие подтверждения до того, как ПО повлияет на других людей.

Выполните упражнение

Выберите функцию из недавней демонстрации. 1. Запишите один результат, который демонстрация подтвердила. 2. Запишите три вопроса, которые остаются открытыми. 3. Назначьте ответственного за каждый вопрос. 4. Укажите конкретную проверку, способную обнаружить каждый возможный сбой. Не заменяйте конкретную проверку требованием «сделать безопасно».

Скачать рабочий лист (Markdown)
Проверьте понимание ↑

Продолжить обучение

Источники и дополнительные материалы

Связанные материалы Taiga