Программирование Vibe помогает людям быстро воплощать идеи в жизнь. Это дает им смелость творить, когда приходит вдохновение, особенно когда они не знают, с чего начать. Возможность за несколько дней перенести концепцию из первой строки кода в полноценное приложение, находящееся в производстве, является мощной силой для разработчиков. Но в спешке воплотить идею в жизнь безопасность может потеряться в суматохе.
Ранее я исследовал, почему код, созданный ИИ, по своей сути небезопасен и как его включение в проекты может привести к множеству проблем с безопасностью. Мой главный вывод заключался в том, что плохо написанный и уязвимый код требует проверки и исправления человеком, прежде чем его можно будет отправить в производство.
Учитывая это понимание, как могут организации или отдельные лица, работающие с кодом, сгенерированным ИИ, систематически выявлять и снижать риски безопасности, прежде чем они приведут к взлому? Применяя модели угроз, такие как STRIDE, и контрольные списки, такие как OWASP Top 10 для приложений LLM, программисты, разработчики и специалисты по сопровождению Vibe могут продолжать пользоваться преимуществами кода, сгенерированного ИИ, без ущерба для безопасности.
Я думаю об этом как о «Звездном пути: Следующее поколение». В одном из эпизодов автопилот «Энтерпрайза» не смог ориентироваться в особенно перегруженном астероидном поле. Капитан Пикард был вынужден взять на себя ручное управление, чтобы спасти корабль и его команду. Код, сгенерированный ИИ, подобен нашему автопилоту. Это ускоряет прогресс, но когда возникают проблемы с безопасностью, люди должны взять на себя управление.
Анализ кода, сгенерированного ИИ, сквозь призму угроз
Модель угроз STRIDE, разработанная Microsoft и обозначающая подделку, подделку, отказ, раскрытие информации и отказ в обслуживании, представляет собой структуру кибербезопасности для упреждающего выявления потенциальных угроз безопасности. Он представляет собой структурированное руководство по оценке и картированию угроз, уникальных для кода, созданного ИИ, некоторые из которых я изложил ниже:
- Подмена
- Код, сгенерированный ИИ, может быть отправлен под украденными или поддельными (поддельными) идентификационными данными, что затрудняет установление авторства и подотчетность.
- Логика аутентификации может быть слабой или вообще отсутствовать в коде, сгенерированном ИИ, как это видно на примере Bitchat Джека Дорси.
- Вмешательство
- Код, сгенерированный ИИ, может содержать небезопасные конфигурации по умолчанию.
- Код, сгенерированный ИИ, может представлять собой небезопасные первоначальные векторы доступа, которыми могут воспользоваться злоумышленники, например, непреднамеренные неправильные настройки, внесенные ничего не подозревающими участниками.
- Отказ
- Отсутствие происхождения кода или подписи кода создает пробелы в подотчетности. Например, кто несет ответственность за недостатки, допущенные в коде, созданном ИИ?
- Раскрытие информации
- Код, сгенерированный ИИ, может непреднамеренно включать в свои выходные данные секреты, API или учетные данные из подсказок или наборов данных, что приводит к утечке конфиденциальной информации.
- Отказ в обслуживании
- Длинный код или чрезмерное количество кода могут перегрузить и перегрузить сопровождающих, по сути создавая «проверку DoS».
- Длинный код также может перегружать контекстные окна инструментов проверки кода или IDE, позволяя рискам ускользнуть от процесса проверки.
- Повышение привилегий
- Подобно отсутствию аутентификации, код, сгенерированный ИИ, часто пропускает надлежащие проверки авторизации, что позволяет злоумышленникам повышать привилегии с минимальными барьерами.
- Логические ошибки в коде, сгенерированном ИИ, могут позволить злоумышленникам повысить привилегии в приложениях.
Сопоставляя проблемы безопасности с реальными сценариями кодирования, STRIDE может помочь пользователям найти обоснованную и практичную защиту при использовании кода, сгенерированного ИИ.
Знания – сила, усердие – ключ к успеху
Проект OWASP GenAI Security Project предлагает список 10 основных рисков LLM и GenAI для систем на основе LLM. Однако многие риски напрямую связаны с проблемами, связанными с использованием кода, созданного ИИ.
Ниже приведены некоторые ожидаемые риски, связанные с выводом кода, сгенерированного искусственным интеллектом, на основе рейтинга OWASP Top 10 для LLM:
Использование этого списка в качестве помощника по проверке кода может помочь разработчикам выявить наиболее частые и опасные сбои кода, создаваемые ИИ.
В эпоху искусственного интеллекта все еще нужен человек в курсе событий
Защита приложений с кодированием Vibe подобна танцу танго: это динамичный процесс, требующий как точности, так и контроля. Он требует баланса между скоростью и безопасностью и начинается с того, как вы просматриваете и поддерживаете код. Применяйте моделирование угроз, такое как STRIDE, на ранних этапах разработки идей, создания или первоначальной проверки, а не после отправки кода. Цель состоит в том, чтобы выявить риски до того, как они станут уязвимостями. Однако нет необходимости превращать моделирование угроз в сложный цикл, поскольку даже быстрая проверка может выявить явные риски.
Помимо моделирования угроз, вы можете автоматизировать защитные ограждения, встраивая сканеры зависимостей и проверки безопасности конвейера CI/CD в свои рабочие процессы и блокируя жестко закодированные секреты с помощью перехватчиков перед фиксацией.
Кроме того, прежде чем какой-либо новый код попадет в производство, вам следует использовать ИИ для проверки ИИ. Хотя это может показаться ироничным, линтеры или инструменты проверки кода на базе искусственного интеллекта могут выявить типичные ошибки кодирования с использованием искусственного интеллекта, особенно в сочетании с традиционными инструментами статического анализа и сканерами кода. Однако даже после завершения автоматического сканирования человек должен выступать в роли главного привратника, позволяющего принимать обоснованные решения и обеспечивать окончательное одобрение.
Вот самая трудная таблетка: безопасность не прекращается даже после того, как код проверен, одобрен и зафиксирован. Вы должны обеспечить подотчетность и происхождение, сохраняя метаданные для вкладов с помощью ИИ, когда это возможно, для поддержки будущих аудитов. Включите четкие комментарии, обозначающие, что было написано ИИ, какие модели использовались и когда был сгенерирован код.
Наконец, поговорите об этом. Ничто из этого не работает без осознания. Новым программистам может не хватать формального обучения по безопасности, а опытным разработчикам следует выступать за обучение безопасному кодированию ИИ. Очень важно подчеркнуть не только ценность кодирования вибрации, но и то, где оно может оказаться недостаточным. Как и большинство вещей в жизни, знание – это сила.
Обеспечение новой эры кодирования
ИИ не уходит. Возможность быстро перейти от идеи к запуску кода за считанные дни меняет ситуацию. Но без структурированного анализа, моделирования угроз и защитных ограждений кодирование Vibe может так же легко ускорить как компромисс, так и инновации.
Мой девиз? «Используйте инструмент, доверяйте человеку». Используя системы безопасности и контрольные списки, такие как STRIDE и OWASP, и адаптируя наши методы проверки к меняющимся потребностям, мы можем гарантировать, что кодирование на основе искусственного интеллекта останется катализатором творчества, а не обузой для безопасности.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Кристал Морин — старший стратег по кибербезопасности в Sysdig. Она превращает сложные концепции безопасности и передовые исследования в четкие и практические рекомендации как для руководителей, так и для практиков, помогая организациям защищаться от современных угроз. Ранее Кристал работала лингвистом и разведчиком… Подробнее от Кристал Морен