Команда исследователей из Китайского университета Гонконга и университета Сунь Ятсена обнаружила , что инструменты автоматического завершения кода на базе искусственного интеллекта, такие как GitHub Copilot и Amazon CodeWhisperer, могут непреднамеренно раскрывать секретные данные пользователей. Эти данные могут включать в себя ключи API, токены доступа и другие чувствительные элементы.
Исследователи создали инструмент под названием Hardcoded Credential Revealer (HCR) для выявления таких данных. В рамках исследования было выявлено, что среди 8 127 предложений по завершению кода, сгенерированных Copilot, 2 702 оказались действительными секретами. У CodeWhisperer этот показатель составил 129 из 736.
Стоит отметить, что эти “секреты” изначально были случайно опубликованы и могли быть использованы или отозваны до того, как они попали в модели. Однако исследование подчёркивает риски, связанные с повторным использованием данных, изначально предназначенных для обучения.
Также было выявлено, что модели не только воспроизводят секретные ключи из своих тренировочных данных, но и предлагают новые, не содержащиеся в них. Это поднимает вопросы о том, какие другие данные могут быть потенциально раскрыты.
Исследование показало, что ежедневно на GitHub публикуется тысячи новых уникальных секретов из-за ошибок разработчиков или их равнодушия к практикам безопасности.
Со стороны этических соображений исследователи избегали проверки наличия ключей, которые могут представлять серьёзные риски для конфиденциальности, таких как ключи к платёжным API. Однако они проверили набор безвредных ключей и нашли два рабочих тестовых ключа Stripe, предложенных как Copilot, так и CodeWhisperer.
GitHub заявил в ответ на распространение информации о данной угрозе, что с марта 2023 года на платформе была запущена система предотвращения утечек на базе ИИ, которая блокирует небезопасные шаблоны кода в реальном времени.
В некоторых случаях модель может предлагать то, что кажется личными данными, но эти предложения являются фиктивной информацией, синтезированной из шаблонов в обучающих данных”, – заявили в компании.
В целом, даже если выводы исследователей верны лишь отчасти, прецедент имеется, поэтому технологическим компаниям, предлагающим подобные инструменты разработчикам, крайне важно внедрять дополнительные методы тестирования и проверки кода. Даже если этот код сгенерирован с помощью искусственного интеллекта. Ведь в современном мире ни в коем случае не допускать возможностей для утечки секретов и прочих конфиденциальных данных.