Разработчики критикуют GitHub Copilot: ИИ генерирует цитаты из проектов с открытым исходным кодом и выдает ключи API

81bavoapj9i4bpwpmies9b7gw3c.png

Разработчики жалуются, что нейросетевой помощник программиста Copilot от GitHub порой слишком увлекается и начинает вместо нескольких строк нужного кода генерировать десятки строк, включая прямые цитаты и комментарии из проектов с открытым исходным кодом. Фактически он занимается «отмыванием» GPL от кода, который теперь можно использовать, не подчиняясь первоначальной лицензии, так как новый код получается под лицензией Copyleft.
Пример многострочной, якобы, генерации кода, где ИИ использовал код функции быстрого вычисления обратного квадратного корня из Quake III Arena с копирайтом автора под GNU GPL 2.0 license.

Позиция GitHub по этому вопросу — модель машинного обучения Copilot создает производные работы из ранее полученнызх входных данных, что может считаться производным продуктом программного обеспечения фактически под лицензией Copyleft или AGPL. Также GitHub уточнил, что «Copilot обычно не воспроизводит точные фрагменты кода», но как часто ИИ делает обратное, компания не пояснила, хотя раскрыла, что таких случаев было мало — 0,1%.

Примечательно, что GitHub в своей документации упомянул, что во время внутреннего тестирования Copilot почти 300 сотрудников несколько месяцев использовали сервис в своей повседневной работе. Технически это означает, что в итоге ИИ «второго пилота» создал часть текущих сервисов и это может дать всем пользователям GitHub право на получение копии исходного кода GitHub в соответствии с условиями AGPL, так как фактически GitHub частично стал проектом с открытым исходным кодом. Конечно, Microsoft и GitHub на это не пойдут, но прецедент все же был создан.

Другая проблема, с которой столкнулись сторонние разработчики, участвующие сейчас в программе тестирования GitHub Copilot — пробелы в безопасности при работе алгоритма ИИ «второго пилота» — он раскрывает секреты, которые находит и знает. Сервис «второго пилота» передает и выдает валидные и рабочие ключи API (SendGrid API Keys) репозиториев с открытым исходным кодом. Единственный вариант для владельцев этих проектов — не коммитить ключи API внутри репозиториев. Причем генеральный директор GitHub Нат Фридман в курсе проблемы, но компания не останавливает закрытое тестирование сервиса.

29 июня 2021 года Microsoft и GitHub представили нейросетевого помощника программиста Copilot («второй пилот») на базе технологий компании Open AI, занимающейся исследованиями в области искусственного интеллекта. Система GitHub Copilot обучена работать с различными фреймворками и языками программирования. Текущая техническая предварительная версия сервиса больше всего заточена для работы с Python, JavaScript, TypeScript, Ruby и Go.

GitHub Copilot работает на базе OpenAI Codex, новой системе искусственного интеллекта, созданной OpenAI. Решение OpenAI Codex обладает обширными знаниями о том, как разработчики используют код, и значительно более эффективен, чем GPT-3, в генерации кода, отчасти потому, что он был обучен на наборе данных, хранящемся в общедоступных репозиториях, включая терабайты общедоступного кода.

Первоначально этот инструмент стал доступен в качестве плагина к редактору Microsoft Visual Studio Code, также можно будет использовать прямо в браузере через GitHub Codespaces после регистрации в программе тестирования техночесго превью сервиса.

© Habrahabr.ru