Специалист Mozilla 0Din (0Day Investigative Network) Марко Фигероа (Marco Figueroa) сумел получить широкий доступ к песочнице ChatGPT, включая возможность загрузки и выполнения Python-скриптов, а также скачал плейбук (playbook) LLM.
Песочница ChatGPT представляет собой изолированную среду, которая позволяет пользователям безопасно взаимодействовать с ней, будучи изолированной от других пользователей и хост-серверов. Песочница ограничивает доступ к важным файлам и папкам, блокирует доступ в интернет и старается ограничить потенциально вредоносные команды, которые могут использоваться для эксплуатации уязвимостей или попытки побега.
Информации о доступе к песочнице ChatGPT ранее уже публиковалась другими исследователями, которые находили разные способы ее изучения. Однако Марко Фигероа зашел дальше своих предшественников.
В своем отчете он демонстрирует сразу пять проблем, о которых он уже уведомил разработчиков OpenAI. Однако, по словам исследователя, компания проявила интерес только к одной из них и не сообщила ничего о своих планах по исправлению других.
Все началось с того, что во время работы над неким Python-проектом в ChatGPT Фигероа получил ошибку «каталог не найден» (directory not found). После этого он начал разбираться в том, как пользователь ChatGPT может взаимодействовать с песочницей.
Выяснилось, что среда предоставляет возможность загрузки и скачивания файлов, составления списков файлов и папок, загрузки программы и их запуска, выполнения Linux-команд и извлечения файлов, хранящихся в песочнице.
Используя такие команды как ls и list files, исследователь сумел составить список всех каталогов основной файловой системы песочницы, включая /home/sandbox/.openai_internal/, который содержал информацию о конфигурации и настройках. Стоит отметить, что сейчас нельзя получить доступ к некоторым важным папкам и файлам (например, /root и различным файлам вроде /etc/shadow).
После этого Фигероа перешел к экспериментам по управлению файлами, обнаружив, что может загружать файлы в папку /mnt/data, а также скачивать файлы из любой доступной директории.
Также специалист выяснил, что может загружать в песочницу кастомные Python-скрипты и выполнять их. Например, он загрузил простой скрипт, отображающий текст «Hello, World!», и выполнил его, после чего результат отобразился на экране.
Исследователь объясняет, что по юридическим причинам не пытался использовать откровенно вредоносные скрипты, которые могли бы использоваться для побега из песочницы и выполнения более опасных действий. При этом подчеркивается, что все описанные действия были ограничены рамками песочницы, а среда казалась должным образом изолированной. То есть в целом, по мнению Фигероа, песочница OpenAI выглядит защищенной.
Журналисты издания Bleeping Computer рассказывают, что тоже протестировали загрузку Python-скриптов и успешно запустили скприт, который рекурсивно искал все текстовые файлы в песочнице.
Помимо прочего Фигероа обнаружил, что с помощью промпт-инжиниринга можно найти и скачать плейбук ChatGPT, в котором описано, как чат-бот должен вести себя и отвечать на вопросы в целом, а также в рамках созданных пользователем апплетов.
По его словам, с одной стороны доступ к плейбуку обеспечивает прозрачность и по идее должен укреплять доверие пользователей, поскольку объясняет, как именно формируются ответы. Но с другой стороны эта информация может использоваться для раскрытия данных, позволяющих обойти защиту.
«Хотя прозрачность в вопросах инструкций полезна, она также может раскрывать структуру ответов модели, что в теории позволяет пользователям произвести реверс-инжиниринг защиты и внедрять вредоносные промпты, — объясняет Фигероа. — Модели, в которых используются конфиденциальные инструкции или конфиденциальные данные, могут подвергаться риску, если пользователи используют доступ для сбора проприетарных конфигураций и данных».
Хотя возможность взаимодействия с песочницей может быть осознанным шагом, который предусмотрели разработчики OpenAI, исследователь сомневается, что это было сделано намеренно. Дело в том, что такое взаимодействие может привести к функциональным проблемам для пользователей, так как перемещение файлов может повлечь за собой сбой.
Кроме того, доступ к подробной информации о конфигурации может помочь злоумышленникам лучше понять, как работает ИИ-инструмент и как обойти его защиту, вынудив генерировать вредоносный контент.
Однако в bug bounty программе OpenAI выполнение кода в песочнице (даже если это позволяет извлекать конфигурации или манипулировать внутренними инструкциями) не считается проблемой и не подходит для выплаты вознаграждения. Согласно рекомендациям компании, любое выполнение Python-кода, которое происходит в пределах песочницы, считается намеренным и находится в пределах конструктивных параметров модели. То есть в компании уверены, что пользователи, взаимодействующие с этой Python-средой, будут воспринимать ее как замкнутое, безопасное пространство, которое не влияет на ИИ-систему за пределами установленных рамок.
Представители OpenAI никак не прокомментировали публикацию исследователя, но сообщили журналистам, что изучают поднятые Фигероа вопросы.