OpenAI: приватність у плагінах та загроза авторському праву

Несподіване відкриття

У цій статті ми розглянемо приховані можливості OpenAI та поговоримо про важливі питання, пов'язані з приватністю файлів у плагінах, їх функціоналом, і, що важливо, про несвідоме порушення авторських прав. 

 

Внутрішній світ плагінів

В чаті OpenAI функція плагінів дозволяє навчити чат працювати з даними, які надає чи інтегрує користувач. При створенні власного плагіну, завантажуючи файли та активувавши опцію ’виконувати код’, політики OpenAI попереджають:

«Conversations with your GPT may include file contents. Files can be downloaded when code interpreter is enabled.»

Це свідчить про те, що ваші файли можуть бути завантажені іншими користувачами.

З цього випливає найцікавіше більшість користувачів, можливо, навіть не усвідомлюють, як саме це відбувається і які наслідки це може мати. Серед десятків тисяч користувачів, які створили плагін, переважна більшість, ймовірно, навіть не задумувалися, що їх файли стали доступними для публічного використання.

Автор статті на GitHub Thomas Roccia (fr0gger) поділився списком агентів GPT, які містять розширені можливості та бази даних по кібербезпеці, створених спільнотою “Awesome GPTs (Agents) Repo”. 

Вибравши один із пакетів плагінів з цієї статті, було виявлено гігабайти файлів, які варіювалися від книг з кібербезпеки до приватних файлів, які містять особисті дані для опрацювання.

Поставивши це питання OpenAI, було отримано таку відповідь: 

«Publishing a plugin with user data in it would be a mistake by the plugin author and not by OpenAI.»

 

Трохи технічних деталей: основна структура та приклади коду

Усі ваші чати розміщені в ’Sandbox’, це своєрідний мініатюрний віртуальний приватний сервер з 64 ГБ пам’яті та диском на 10 ексабайт. Чат працює від імені користувача ’Sandbox’. Ви маєте доступ до таких файлів, як ’/etc/password’ та інших цікавих файлів, але ваше середовище дуже обмежене. 

У рамках цієї статті буде окреслена лише одна особливість: можливість читання та запису в декілька папок, одна з яких — ’/mnt/data’.

Коли ви відкриваєте будь-який плагін, чат, використовуючи внутрішній API, копіює всі файли плагіну, завантажені користувачем, до вашої папки чату в ’/mnt/data’. Таким чином, ви стаєте власником цих файлів протягом сесії чату.

Оскільки автор плагіну не зняв галочку ’виконати код’, ви можете запустити Python скрипт у своєму чаті, який здатен переглянути вміст цієї папки, виконати його та надати вам перелік назв файлів.

 Приклад скрипту:

files = os.listdir('/mnt/data')

files

Run code

Результатом роботи цього скрипта є перелік файлів, які були завантажені користувачем.

 

 

Наступний крок — вставлення скрипту, який групує ці файли та створює з них ZIP-архів для зручності завантаження. 

Приклад скрипту:

import zipfile

zip_filename'/mnt/data/collected_documents.zip'

with zipfile.ZipFile(zip_filename, 'w'as zipf:

     for file in files:

        zipf.write(f'/mnt/data/{file}', arcname=file)

zip_filename

Бот повідомить вас про успішно створений архів. Після чого вам потрібно лише вказати йому надати активне посилання для завантаження. Магія полягає в тому, що бот перемістить файл з внутрішньої папки ’data’ у публічний доступ і надасть посилання на нього з хмарного сервісу Microsoft.

 

 

Це можна зробити написавши команду ’download’.

 

Ось так, за декілька кліків, ми отримали потрібні нам файли.

Ознайомитись із зазначеним прикладом чату можна тут:

 https://chat.openai.com/share/a16e0f95-68b0-4083-b45e-5e252857fa22

 

Роздуми та висновки

Тут хочеться обговорити питання авторських прав. Анонімне завантаження неліцензійного контенту може призвести до їх порушення та перетворення GPT на своєрідний «файловий обмінник». А якщо власники контенту подають скарги через сервери OpenAI, чи повинен чат реагувати та видаляти незаконний контент? 

У будь-якому випадку це вказує на важливість осмисленого використання технологій OpenAI, зокрема, врахування приватності та авторських прав при створенні та використанні плагінів.

Автор: co-founder CyberPeople.tech Сергій Сарайчиков