Утечки секретов в Railway и Zeabur: урок про переменные окружения

В октябре 2026 года сразу две облачные платформы для размещения приложений сообщили об утечке переменных окружения — тех самых, где хранятся ключи к базам, платёжным сервисам и внешним API. 22 октября Railway предупредила пользователей срочно сменить секреты, а Zeabur после второй утечки за два месяца объявила о закрытии. Обе истории — повод поговорить о том, как хранить секреты и что делать, если платформа их потеряла.
Что произошло
Railway обнаружила подозрительную активность в системах, где хранятся переменные окружения клиентов. По предварительным данным, посторонний мог получить доступ к зашифрованным переменным, а для части — к расшифрованному содержимому. Платформа приостановила выкладку приложений и попросила всех пользователей срочно сменить секреты.
Zeabur пострадала серьёзнее. По данным разбора, в октябре злоумышленник использовал утёкшие внутренние учётные данные, хранившиеся в открытом виде, и прочитал базу платформы: затронуто около 3,2 млн записей переменных окружения и 321 810 аккаунтов. Причины — пароли в открытом виде, административные токены, которые никогда не истекали и не менялись с 2024 года, и доступ к панелям из интернета. После этого платформа объявила о закрытии.
| Платформа | Что утекло | Итог |
|---|---|---|
| Railway | Зашифрованные переменные, часть — расшифрованные | Приостановка выкладки, просьба сменить секреты |
| Zeabur | 3,2 млн записей переменных, 321 810 аккаунтов | Закрытие платформы к концу 2026 года |
Почему переменные окружения — лакомая цель
Переменные окружения — стандартный способ передать приложению секреты: ключ базы данных, токен платёжного сервиса, пароль к внешнему API. Это правильнее, чем хранить их в коде. Но если платформа, где они лежат, скомпрометирована, злоумышленник получает сразу все ключи ко всем подключённым сервисам.
Урок не в том, что переменные окружения плохи, а в том, что доверие к платформе — это тоже риск, которым нужно управлять.

Что делать, если платформа потеряла секреты
- Смените все секреты немедленно. Ключи баз, токены API, пароли, учётные данные приватных реестров. Считайте скомпрометированным всё, что хранилось у платформы.
- Отзовите активные сессии и токены везде, где это возможно.
- Проверьте журналы сервисов, ключи к которым могли утечь: не было ли необычной активности.
- Если секрет открывал доступ к данным клиентов, оцените, не произошла ли утечка персональных данных, и выполните обязанности по уведомлению.
- Не ждите подтверждения, что пострадали именно вы: при такой утечке безопаснее сменить секреты превентивно.
Как хранить секреты правильно
Эти истории — повод проверить свой подход.
- Не держите секреты в коде и в репозитории. Даже приватный репозиторий может утечь.
- Используйте короткоживущие секреты, чтобы украденный токен быстро протух.
- Разделяйте окружения: ключи боевого сервера не должны совпадать с тестовыми и лежать на машине разработчика.
- Регулярно меняйте секреты и ведите учёт, когда что менялось.
- Ограничивайте права: токен для одной задачи не должен открывать доступ ко всему.
Калькулятор проверки сроков смены секретов есть в нашем материале про изменения npm — он поможет понять, что пора менять.
Наше мнение
Облачные платформы удобны: выложил приложение за минуты, не думая о сервере. Но удобство означает, что ваши секреты лежат у кого-то ещё. Истории Railway и Zeabur показывают разные исходы одной проблемы: Railway отреагировала открыто и быстро, Zeabur накопила базовые ошибки (пароли в открытом виде, вечные токены) и в итоге закрылась.
Мы советуем выбирать платформу не только по удобству, но и по тому, как она относится к безопасности: шифрует ли секреты, как быстро сообщает об инцидентах, есть ли история проблем. И в любом случае держать секреты короткоживущими и готовыми к быстрой смене. Тогда утечка у платформы станет неприятностью на час, а не катастрофой.
Что спросить у своей платформы
Если вы используете облачную платформу для размещения, задайте себе и ей несколько вопросов. Шифруются ли переменные окружения в хранилище. Как платформа уведомляет об инцидентах и как быстро. Есть ли у неё публичная история безопасности. Можете ли вы быстро сменить все секреты одним действием. Ответы помогут понять, насколько вы зависите от чужой дисциплины, и подготовиться к худшему сценарию заранее.
Почему Zeabur закрылась, а Railway нет
Сравнение двух платформ поучительно. Zeabur накопила базовые ошибки, которые считаются грубыми: пароли в открытом виде, административные токены без срока действия, не менявшиеся с 2024 года, панели управления, доступные из интернета. Эти токены пропустили даже при смене паролей после первой утечки — и через два месяца случилась вторая. Railway, судя по реакции, таких системных провалов не допустила: быстро приостановила выкладку, честно сообщила о возможном масштабе и попросила сменить секреты.
Для пользователя это разница между «платформа ошиблась, но держит удар» и «платформа накопила долг и рухнула». Выбирая, кому доверить размещение, стоит смотреть именно на зрелость процессов безопасности, а не только на цену и удобство.
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
Вопросы и ответы
Что такое переменные окружения?
Это способ передать приложению настройки и секреты (ключи, пароли) без записи их в код. Приложение читает их при запуске. Это правильнее, чем хранить секреты в коде, но зависит от того, как их хранит платформа.
Моя платформа сообщила об утечке. Что делать первым?
Сменить все секреты, которые там хранились: ключи баз, токены API, пароли. Не ждите подтверждения, что пострадали именно вы, — безопаснее сменить превентивно.
Как сделать секреты короткоживущими?
Там, где возможно, используйте токены с коротким сроком действия и автоматическим обновлением. Тогда украденный токен быстро перестанет работать. Для остальных секретов настройте регулярную смену.
Безопасны ли облачные платформы в принципе?
Удобны и обычно безопаснее самостоятельной настройки, но ваши секреты лежат у них. Выбирайте платформу по отношению к безопасности и держите секреты готовыми к быстрой смене.
Где нельзя хранить секреты?
В коде, в репозитории (даже приватном), в открытом виде в настройках, в переписке и задачах. Для секретов есть специальные хранилища и механизм переменных окружения.
Zeabur закрывается. Что делать её пользователям?
Срочно сменить все секреты, перенести приложения на другую платформу или свой сервер до объявленных дат отключения и проверить журналы сервисов, ключи к которым могли утечь. Не откладывайте: после отключения доступ к данным платформы пропадёт.