Бесплатно Экспресс-аудит сайта:

21.09.2023

Скрытая угроза: помощники в написании кода знают больше, чем кажется

Команда исследователей из Китайского университета Гонконга и университета Сунь Ятсена обнаружила , что инструменты автоматического завершения кода на базе искусственного интеллекта, такие как GitHub Copilot и Amazon CodeWhisperer , могут непреднамеренно раскрывать секретные данные пользователей. Эти данные могут включать в себя ключи API , токены доступа и другие чувствительные элементы.

Исследователи создали инструмент под названием Hardcoded Credential Revealer (HCR) для выявления таких данных. В рамках исследования было выявлено, что среди 8 127 предложений по завершению кода, сгенерированных Copilot, 2 702 оказались действительными секретами. У CodeWhisperer этот показатель составил 129 из 736.

Стоит отметить, что эти «секреты» изначально были случайно опубликованы и могли быть использованы или отозваны до того, как они попали в модели. Однако исследование подчёркивает риски, связанные с повторным использованием данных, изначально предназначенных для обучения.

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

Исследование показало, что ежедневно на GitHub публикуется тысячи новых уникальных секретов из-за ошибок разработчиков или их равнодушия к практикам безопасности.

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

GitHub заявил в ответ на распространение информации о данной угрозе, что с марта 2023 года на платформе была запущена ИИ-система предотвращения утечек, которая блокирует небезопасные шаблоны кода в реальном времени.

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

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