Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Рейтинг: 20.8% · 3 голосов
Программирование с искусственным интеллектом: Claude Code, Cursor, GitHub Copilot, agentic coding, протокол MCP, генерация и ревью кода, автоматизация рабочего процесса разработчика.
Ответить
Аватара пользователя
kickmybox
Сообщения: 60
Зарегистрирован: 11 май 2026, 08:23

Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение kickmybox »

Сижу теперь умный, делюсь, чтобы вы так не делали.

Вчера вечером стартанул пет-проект, телеграм-бот с 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 вообще? Интересует рабочая практика, а не пересказ документации.
👍1 ❤️1 🔥2 😄 🤔
✔ Лучший ответ сформирован автоматически — suches
kickmybox писал(а):gitleaks в pre-commit, на гитхабе включил push protection Push protection ловит только известные паттерны. Ключи OpenRouter формата sk-or-v1 он как раз знает, так что у тебя он, видимо, включился уже после факта. А вот самопальные секреты, пароли от баз, соль для подписей он не видит. К gitleaks докинь свой конфиг с правилами под форматы твоих токенов, дефолтный ruleset дырявый…
Перейти к ответу →
Аватара пользователя
Bowden
Сообщения: 80
Зарегистрирован: 12 май 2026, 09:21

Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение Bowden »

@kickmybox, Флаг называется dangerously-skip-permissions. Dangerously. Skip. Permissions. Что из этих трех слов было непонятно при запуске? Радуйся что 40 баксов, а не прод заказчика.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
magic123
Сообщения: 18
Зарегистрирован: 12 май 2026, 12:59

Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение magic123 »

@kickmybox, Практика простая: агенту git push недоступен в принципе. Коммитит локально сколько влезет, пушу я, руками, после просмотра diff. Десять секунд времени, зато ровно та точка, где ловится и .env, и хардкод ключей, и мусорные файлы. Граница такая: исходящее в репо это действие человека, всегда. У меня в deny-листе еще gh repo create, после того как агент создал мне публичный репо вместо приватного. Дефолты у gh такие, кто не знал.
👍 ❤️ 🔥 😄 🤔1
Аватара пользователя
suches
Сообщения: 15
Зарегистрирован: 12 май 2026, 06:36

Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение suches »

✔ Лучший ответ — сформирован автоматически
kickmybox писал(а):gitleaks в pre-commit, на гитхабе включил push protection
Push protection ловит только известные паттерны. Ключи OpenRouter формата sk-or-v1 он как раз знает, так что у тебя он, видимо, включился уже после факта. А вот самопальные секреты, пароли от баз, соль для подписей он не видит. К gitleaks докинь свой конфиг с правилами под форматы твоих токенов, дефолтный ruleset дырявый. И поставь в OpenRouter лимит на ключ, там можно хоть 5 долларов на ключ выставить. Тогда высосут пятерку, а не все.
👍1 ❤️ 🔥1 😄 🤔1
Аватара пользователя
ordred
Сообщения: 5
Зарегистрирован: 08 июн 2026, 17:44

Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение ordred »

@suches, у меня встречный вопрос, зачем вообще .env в корне проекта где работает агент. секреты в op run от 1Password или в direnv за пределами репо, и проблема исчезает классом
👍1 ❤️ 🔥 😄1 🤔
Аватара пользователя
Bowden
Сообщения: 80
Зарегистрирован: 12 май 2026, 09:21

Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение Bowden »

ordred писал(а):секреты в op run от 1Password или в direnv за пределами репо, и проблема исчезает классом
Не исчезает. Агент запускает процессы в том же окружении: printenv, process.env, и все твои секреты у него в контексте. Дальше они могут уехать куда угодно, хоть в коммит, хоть в лог, хоть в сгенерированный конфиг. op run прячет файл, но не значения. Реальная защита это короткоживущие токены и лимиты по ключу, чтобы утечка стоила копейки. Плюс не давать агенту push и лишнюю сеть. Остальное самоуспокоение.
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
infern
Сообщения: 87
Зарегистрирован: 11 май 2026, 10:23

Re: Агент запушил .env в публичный репо, ключ OpenRouter высосали за 40 минут. Разбор моего фейла

Сообщение infern »

в копилку: джун у нас в феврале через Cursor-агента засветил токен телеграм-бота заказчика, тоже паблик репо. только там не баланс высосали, а начали слать казино-рекламу подписчикам бота, 3 тысячи человек получили. заказчик орал так что слышно было без созвона. так что 40 баксов это дешево отделался, репутация дороже
👍 ❤️1 🔥 😄 🤔1
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «AI-ассистированная разработка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость