Комментарии 42
Подтверждаю, токен действительно легко сливается. Я свой случайно запушил на гитхаб. И вроде даже следил, чтобы так не сделать, как мне казалось брал его только из файлика, который в .gitignore, но в одном месте все же зевнул.
что подтверждаете, что невнимательный человек сливает что угодно?) git diff --cached
в помощь
Ну знаете. Как правило я свои проекты пилю по вечерам, после рабочего дня, уже будучи довольно уставшим. А внимательность, она знаете ли не бесконечная. За день запас внимательности истрачивается, под вечер уже зачастую никакой гит дифф не поможет.
Любой человек. Называется "человеческий фактор".
"Абсолютно внимательный человек" не существует, тупо по своей биологической природе.
как можно из .env его слить ?
Ну, добавить по ошибке .env в репо. :)
Ну у меня это так было. Делаю одно приложение пустышку по-быстрому, как proof of concept. В нем токен просто хардкодится. Разумеется приложение ни в какой репозиторий не выкладывается. А потом через пару недель делается другой проект, я вспомнил, что у меня был модуль, который делает очень похожую вещь, копирую этот модуль, модифицирую в нём некоторые функци, а некоторые даже не трогаю, ведь они же и так прекрасно работают. И вот в одной из них то и затесался захардкоженый токен.
Техника безопасности здесь такова, что токен никогда не должен попадать в папку с проектом.
Я всегда очень педантично отношусь к коммитам. Буквально высматриваю каждую измененную строку => у меня никогда конфиденциальная информация не попадет в репу
Hidden text
Довольно забавно, что при этом OpenAI даже в списке партнеров по поиску секретов на гитхабе.
https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#supported-secrets
Но злобного буратинства в отношении выкладывания ключей в бинарях или коде веб-приложений, конечно, никто не отменял
Он считает это не кражей токенов, а «просто заимствованием».
От создателей "Не угнал автомобиль, а взял покататься".
На самом деле имеет.
Если к примеру человек записал данные своей кредитки в текстовый файлик, чтоб каждый раз вручную не вводить, а потом случайно продолбал этот файлик на Github, я не думаю, что каждый нашедший имеет право невозбранно снимать с этой карточки деньги.
Наверное есть разница, сделать форк и запустить. Или писать скрипты, которые ищут случайно слитые токены, потом собирать эти токены и использовать в своем проекте.
Герои поста точно проверяют лицензию репозитория прежде чем утянуть ключ? Если нет, то рассуждения теряют смысл.
Вы цепляетесь за букву, игнорируя дух.
Да, возможно по закону всё в порядке. Но задача закона не в том, чтобы весь мир жил по закону, это не самоцель. Задача закона чтобы весь мир жил в согласии. И очевидно, что ваша логика за пределами нормальной жизни людей.
Если человек потерял в общедоступном месте ключ от квартиры с брелоком где написан адрес - то можно ли в этой квартире переночевать? воспользоватся душем и содержимым холодильника?
а потом к халявщикам придёт ФБР с иском в суд, или в США коммунизм наступил?
Наконец-то проблемы хранения ключей/токенов привлекла внимание.
Идея хранить токен в коде так себе. Даже если файл в gitignore.
Надо хранить ключи за пределами папки репозитарий.
Переменные среды - наше всё!
Токен в переменных среды - тоже такое себе. Хотя, конечно, зависит от того, как и когда он там появляется. Вообще, переменные среды не доля токенов, конечно
Как удобно делать это локально?
Можно хранить и файлик, но держать его не в репоризтории, а на директорию выше.
Если есть приступ паранойи, то можно при старте проекта запускать батник, записывающий ключ и переменные и удаляющий его оттуда после выключения, но звучит дико и ненадежно.
Или вообще вести отладку в докере с его обособленными переменными. И система чистая, и ключи куда надо закинул.
Сделайте символическую ссылку на файл, вместо самого файла с токеном в конце концов)) Если она попадёт в репозиторий, ничего особенного не случится.
Переменные среды на однопользовательской однозадачной системе идеальное место - а сейчас облачные инстансы или там докер это и обеспечивают. Это на мэйнфрейме другие пользователи в списке процессов могут лишнее увидеть и тому подобное.
Видимо, всех это устраивает, как и неблокировка пиратских виндоусов
А какой статус и происхождение ключей которые раздают тут? https://github.com/PawanOsman/ChatGPT#use-our-hosted-api-reverse-proxy
Легальный. Автор саи платит за запросы и сам контролирует ключи и лимиты запросов, про лимиты подробнее написано у него в дискорде (довольно щедрые там лимиты, хватит на использование для какого-нибудь приложения/сервиса для друзей)
Судя по ответу автора в дискорде, там не всё так честно
https://discord.com/channels/1055397662976905229/1106944669474099294
Скорее всего, он использует сайты, как gpt4free, только мимикрирует как реверс прокси и из за этого его можно спокойно использовать во многих программах и плагинах.
До чего людей облака доводят! Сидели бы все на дедиках с вайтлистом по ip, и горя не знали бы (sarcasm)
Да тут даже проблема не с открытыми репами, а то что токен используется на клиенте. Посмотрите на всякие онлайн карты, там повсеместно с каждым запросом тайла уходит токен автора, чтобы с его акка деньги списывать. И никакой защиты кроме привязки к referer сайта нету.
Жаль, что аккаунт автора всей этой движухи забанили. (u/Discodtehe на реддите). На самом деле, вот такие сливы/сборы ключей AP
Аутентификация по ASN, или хотя бы ip решат такую проблему раз и навсегда.
Пользователи стали массово делиться украденными токенами API OpenAI для бесплатного и неограниченного доступа к ChatGPT