Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
Рейтинг: 20.8% · 3 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
Сижу теперь умный, делюсь, чтобы вы так не делали.
Вчера вечером стартанул пет-проект, телеграм-бот с LLM-обвязкой. Поднял Claude Code с --dangerously-skip-permissions, ну пет-проект же, чего бояться. Накидали код, говорю: сделай init коммит и запушь в новый публичный репо. Он и сделал. Только .gitignore создать не успел, а .env с ключами уже лежал в корне. Ключ OpenRouter с балансом 40 долларов и токен бота уехали в паблик.
GitHub прислал письмо про secret scanning через пару минут, но я уже ушел ужинать. Вернулся через час: баланс OpenRouter ноль, в логах генерации на Opus с незнакомых айпи. 40 минут, Карл. Боты, которые парсят гитхаб на свежие ключи, работают лучше чем мой мониторинг.
Что сделал: ключи отозвал, gitleaks в pre-commit, на гитхабе включил push protection. Вопрос к залу: как вы ограждаете агента от секретов? Хук на git push? Не давать push вообще? Интересует рабочая практика, а не пересказ документации.
Вчера вечером стартанул пет-проект, телеграм-бот с LLM-обвязкой. Поднял Claude Code с --dangerously-skip-permissions, ну пет-проект же, чего бояться. Накидали код, говорю: сделай init коммит и запушь в новый публичный репо. Он и сделал. Только .gitignore создать не успел, а .env с ключами уже лежал в корне. Ключ OpenRouter с балансом 40 долларов и токен бота уехали в паблик.
GitHub прислал письмо про secret scanning через пару минут, но я уже ушел ужинать. Вернулся через час: баланс OpenRouter ноль, в логах генерации на Opus с незнакомых айпи. 40 минут, Карл. Боты, которые парсят гитхаб на свежие ключи, работают лучше чем мой мониторинг.
Что сделал: ключи отозвал, gitleaks в pre-commit, на гитхабе включил push protection. Вопрос к залу: как вы ограждаете агента от секретов? Хук на git push? Не давать push вообще? Интересует рабочая практика, а не пересказ документации.
✔ Лучший ответ сформирован автоматически — suches
kickmybox писал(а):gitleaks в pre-commit, на гитхабе включил push protection Push protection ловит только известные паттерны. Ключи OpenRouter формата sk-or-v1 он как раз знает, так что у тебя он, видимо, включился уже после факта. А вот самопальные секреты, пароли от баз, соль для подписей он не видит. К gitleaks докинь свой конфиг с правилами под форматы твоих токенов, дефолтный ruleset дырявый…
Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
@kickmybox, Флаг называется dangerously-skip-permissions. Dangerously. Skip. Permissions. Что из этих трех слов было непонятно при запуске? Радуйся что 40 баксов, а не прод заказчика.
Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
@kickmybox, Практика простая: агенту git push недоступен в принципе. Коммитит локально сколько влезет, пушу я, руками, после просмотра diff. Десять секунд времени, зато ровно та точка, где ловится и .env, и хардкод ключей, и мусорные файлы. Граница такая: исходящее в репо это действие человека, всегда. У меня в deny-листе еще gh repo create, после того как агент создал мне публичный репо вместо приватного. Дефолты у gh такие, кто не знал.
Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
✔ Лучший ответ — сформирован автоматически
Push protection ловит только известные паттерны. Ключи OpenRouter формата sk-or-v1 он как раз знает, так что у тебя он, видимо, включился уже после факта. А вот самопальные секреты, пароли от баз, соль для подписей он не видит. К gitleaks докинь свой конфиг с правилами под форматы твоих токенов, дефолтный ruleset дырявый. И поставь в OpenRouter лимит на ключ, там можно хоть 5 долларов на ключ выставить. Тогда высосут пятерку, а не все.kickmybox писал(а):gitleaks в pre-commit, на гитхабе включил push protection
Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
Не исчезает. Агент запускает процессы в том же окружении: printenv, process.env, и все твои секреты у него в контексте. Дальше они могут уехать куда угодно, хоть в коммит, хоть в лог, хоть в сгенерированный конфиг. op run прячет файл, но не значения. Реальная защита это короткоживущие токены и лимиты по ключу, чтобы утечка стоила копейки. Плюс не давать агенту push и лишнюю сеть. Остальное самоуспокоение.ordred писал(а):секреты в op run от 1Password или в direnv за пределами репо, и проблема исчезает классом
Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла
в копилку: джун у нас в феврале через Cursor-агента засветил токен телеграм-бота заказчика, тоже паблик репо. только там не баланс высосали, а начали слать казино-рекламу подписчикам бота, 3 тысячи человек получили. заказчик орал так что слышно было без созвона. так что 40 баксов это дешево отделался, репутация дороже
Поделиться темой:
✈ Telegram
VK
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей