Схема API Пассворка включает сотни операций для работы с сейфами, записями, пользователями, настройками, каталогами и журналом событий. Раньше приходилось изучать её в виде объемного JSON-файла. Теперь в технической документации доступна интерактивная схема API Пассворка, которая показывает структуру запросов и ответов, историю изменений между версиями и автоматически генерирует примеры кода.
Главное
Полноценный справочник по API Пассворка. Инструмент поддерживает поиск, отображает дерево схем и сравнивает версии API.
Актуальные данные. Схема всегда содержит спецификации последних версий Пассворка с полным списком доступных путей и операций.
Сравнение версий. Схема показывает удалённые и добавленные эндпоинты, изменения в структуре запросов и правки в документации.
Каталог по разделам с поиском. Операции сгруппированы по частям API: сейфы, папки, записи, пользователи, LDAP и другие разделы.
Готовые примеры кода. Значения из формы ввода сразу появляются в примере кода.
История изменений по каждой операции. Вкладка История показывает, что менялось у выбранной параметра и пути между версиями API.
Экспорт схемы для ИИ. Всю схему можно скопировать в формате JSON целиком для передачи ИИ-агенту или инструменту генерации кода.
Кому это нужно и зачем
Интерактивная схема помогает быстро понять, какой метод использовать, какие поля передавать в запросе и в каком формате придут данные. Вы сразу видите, как сохранить совместимость скриптов при обновлении Пассворка и где взять машиночитаемую спецификацию для нейросетей.
0:00
/0:21
Интерактивная схема помогает быстро найти ответы на рабочие вопросы по API:
Какой метод и путь использовать для конкретной задачи.
Какие поля передавать в теле запроса и что вернется в ответе.
Как сохранить совместимость текущих скриптов при обновлении Пассворка.
Как сформировать готовый код запроса для cURL, Python или консольной утилиты.
В каком формате придут данные: строгая JSON-модель, XML-документ или бинарный файл.
Как развивался конкретный метод и какие новые пути появились в свежем релизе.
Где взять машиночитаемую спецификацию для передачи контекста нейросетям или генерации кода.
Инструмент решает эти задачи без разворачивания тестового стенда и копирования тысяч строк JSON в редактор кода.
Роль
Пример задачи
Разработчик интеграции
Найти эндпоинт и собрать первый пример на cURL или Python без чтения всей спецификации
Специалист DevOps
Заранее проверить, что изменится при переходе с одной версии Пассворка на другую
Технический писатель, аналитик
Сверить текстовое описание с реальным контрактом и получить JSON-модель для документации
Специалист по безопасности
Быстро оценить поверхность API без развёртывания отдельного тестового окружения
Возможности интерактивной схемы
Интерактивная схема объединяет документацию по операциям API, дерево структур данных и сравнение версий в одном интерфейсе. Ниже — описание каждого раздела: от поиска нужного эндпоинта до генерации готового кода.
Сравнение версий API Пассворка
Кнопка Сравнить схемы запускает анализ двух версий спецификации. Результаты сгруппированы по логике:
Секция
Значение
Удалено / Добавлено
Что было добавлено и удалено в версиях API
Изменения API
Что поменялось в параметре, структуре запроса или ответе
Документация
Что обновилось в текстовых описаниях
Пример использования: вы планируете обновить Пассворк с версии 7.5 на 7.7. В методе POST /v1/vaults/create изменилось обязательное поле. Без предварительного сравнения схем интеграция сломается, и запросы начнут возвращать ошибку 422. Функция сравнения покажет это изменение заранее, без отправки реальных запросов к серверу.
Каталог операций
Слева на странице схемы расположен список операций с группировкой по тегам и строкой поиска. Пути отображаются кратко — префикс /v1 скрыт для удобства чтения. В верхней панели доступно переключение версий спецификации от 7.3.0 до 7.7.0.
Для совместной работы предусмотрены прямые ссылки. При переходе по ссылке открывается конкретная операция в выбранной версии.
Описание операции
В центре экрана находится документация выбранной операции:
параметры пути, запроса и заголовков
раскрываемое дерево структуры данных для тела запроса и ответов
пример ответа
Для большинства операций доступна строгая JSON-схема. Исключение составляют методы, возвращающие файлы или XML — для них отображается соответствующий тип данных.
Готовые примеры кода
Справа расположена форма ввода параметров и панель генерации примеров для cURL, Python и CLI Пассворка.
В итоговый фрагмент кода попадают только заполненные значения. Тело запроса формируется при ручном вводе JSON. Адрес сервера и токен подставляются в примеры из настроек и не передаются за пределы браузера.
История версий
Вкладка История показывает изменения конкретной операции между версиями спецификации. Это помогает при восстановлении работы интеграции после обновления Пассворка. Вы сразу видите изменения в нужном запросе и не тратите время на чтение общего списка релизов.
Параметры для генерации примеров
В отдельном окне настроек можно задать общие значения, которые автоматически подставятся во все генерируемые примеры кода.
Экспорт спецификации
В верхней панели доступна ссылка на исходный JSON-файл и кнопка копирования спецификации. Это удобно для передачи контекста в нейросети или автоматической генерации API-клиентов.
Найдите нужную операцию через поиск или в списке тегов
Изучите структуру запроса и ответа на вкладке Описание
Заполните параметры в правой панели и скопируйте готовый пример кода
Перед обновлением Пассворка используйте функцию Сравнить схемы для проверки совместимости
Ограничения инструмента
Интерактивная схема работает как справочник и генератор примеров. Она не заменяет полноценный API-клиент.
Отсутствует отправка запросов. Выполнять запросы необходимо в терминале, скрипте или CI-системе с помощью скопированного примера.
Не заменяет текстовые руководства. Для изучения принципов аутентификации и работы с утилитой командной строки используйте соответствующие разделы документации.
Для проверки работы API создайте токен сервисной учетной записи и отправляйте запросы через свои рабочие инструменты. Интерактивная схема помогает сформировать правильный запрос до этого шага.
Интерактивная схема API: сравнение версий и готовые примеры кода
В документации Пассворка появилась интерактивная схема API. Она показывает структуру запросов, сравнивает версии спецификаций и генерирует готовый код. Инструмент помогает собрать нужный запрос и проверить совместимость скриптов без разворачивания тестового стенда.
28,65 миллиона секретов утекли в публичные репозитории GitHub за один год. API-ключи, токены доступа, пароли к базам данных — всё в открытом доступе. Рост на 34% год к году, но это лишь видимая часть проблемы.
64% секретов, обнаруженных в 2022 году, всё ещё действуют в 2026-м — спустя четыре года после утечки. Каждый день в публичные репозитории попадает 78 000 новых учётных данных. Большинство останутся действующими годами. Некоторые уже используются атакующими прямо сейчас.
GitGuardian просканировали 1,94 миллиарда коммитов и зафиксировал критическую закономерность: утечки растут быстрее числа участников/разработчиков (+152% против +98% с 2021 года), а новые векторы (ИИ-ассистенты, MCP-конфигурации, внутренние репозитории) генерируют уязвимости со скоростью, которую команды не успевают обрабатывать. Обнаружение перестало работать как мера защиты.
В этом материале — полный разбор отчёта The State of Secrets Sprawl 2026, статистика по типам утечек, реальные кейсы атак и пошаговая стратегия защиты.
Главное
28,65 млн новых утечек секретов за год — рост на 34%. Утечки растут быстрее числа разработчиков: +152% против +98% с 2021 года. 64% секретов 2022 года всё ещё действуют в 2026-м — спустя четыре года.
ИИ-инструменты ускоряют утечки в 5 раз. Утечки секретов ИИ-сервисов выросли на 81,5%. Коммиты с участием Claude Code содержали секреты в два раза чаще обычных (3,2% против 1,5%).
24 000 секретов в конфигурациях протокола контекста модели (MCP) — новый вектор утечек. 8,8% действующие. Большая часть официальных гайдов нормализует хардкод секретов в конфигурациях.
Внутренние репозитории — в 6 раз опаснее публичных. 32,2% внутренних репозиториев содержат секреты против 5,6% публичных. Приватность — не мера защиты.
28% утечек происходят вне кода — в Slack, Jira, Confluence. Они на 13% чаще критические (56,7% против 43,7%). Сканирование только репозиториев покрывает ~72% поверхности атаки.
80 000 секретов в открытых экземплярах GitLab и Docker, 10 000 действующих. Частота утечек из собственной инфраструктуры в 3–4 раза выше, чем из публичного GitHub.
Рабочие станции — хранилища секретов. На 6 943 скомпрометированных машинах найдено 33 185 уникальных секретов. Каждый действующий секрет копируется в среднем 8 раз.
46% критических секретов пропускаются при подходе «проверяем только то, что можем проверить». Универсальные секреты (пароли, ключи, токены) составляют 35% критических инцидентов, но игнорируются из-за невозможности автопроверки.
Устранение отстаёт от обнаружения. Секреты остаются действующими годами, потому что ротация — комплексный процесс, который большинство организаций не автоматизировали.
Что такое расползание секретов и почему это критично
Расползание секретов (распространение секретов, secrets sprawl) — неконтролируемое распространение учётных данных (секретов) в кодовой базе, конфигурационных файлах, чатах и других системах организации.
Секреты — это любые данные аутентификации, которые предоставляют доступ к системам, сервисам или данным: API-ключи, токены доступа, пароли, приватные криптографические ключи, сертификаты, строки подключения к базам данных.
Когда секрет встраивается непосредственно в код (хардкод), а затем фиксируется в системе контроля версий, он становится частью истории репозитория. Если репозиторий публичный или становится доступным злоумышленнику, секрет превращается в постоянный путь доступа к инфраструктуре — даже после удаления из текущей версии кода.
Масштаб проблемы: в 2025 году GitGuardian обнаружил 28,65 миллиона новых секретов в публичных коммитах GitHub — это утечки за один год, а не накопленный итог. С 2021 года объём вырос с 11 до 29 миллионов, увеличившись в 2,6 раза за пять лет. При этом число активных разработчиков за тот же период выросло лишь вдвое — утечки опережают рост экосистемы на 30%.
Об источнике данных:GitGuardian непрерывно сканирует публичные коммиты на GitHub с помощью собственного движка обнаружения секретов. Отчёт основан на анализе всех публичных репозиториев за 2025 год, дополненном данными из корпоративных развёртываний GitGuardian (GitLab, Bitbucket, внутренние инстансы) и анализом компрометированных машин в ходе атаки Shai-Hulud на цепочку поставок npm.
Секреты в публичных коммитах GitHub (2021–2025)
Год
Обнаружено секретов
Прирост к предыдущему году
2021
11 млн
—
2022
14 млн
+27%
2023
18 млн
+29%
2024
21 млн
+17%
2025
29 млн
+34%
Критичность распространения секретов определяется тремя факторами:
Скорость роста опережает рост числа участников. С 2021 года утечки секретов выросли на 152%, в то время как число разработчиков увеличилось на 98%. Проблема усугубляется непропорционально.
Секреты остаются рабочими годами. 64% секретов, обнаруженных и подтверждённых как валидные в 2022 году, всё ещё не отозваны в 2026-м — спустя четыре года после утечки.
Каждый секрет — потенциальная точка входа. Один утёкший API-ключ может предоставить доступ к продуктовой базе данных, CI/CD или облачной инфраструктуре. Для атакующего достаточно одного рабочего секрета.
Главные цифры 2025 года: масштаб проблемы
Данные отчёта GitGuardian за 2025 год показывают устойчивый рост по всем ключевым метрикам:
Метрика
2024
2025
Рост
Всего обнаруженных секретов
21 391 792
28 649 024
+33,9%
Секреты ИИ-сервисов
702 613
1 275 105
+81,5%
Публичные коммиты
1,36 млрд
1,94 млрд
+42,7%
Активные разработчики
17 108 640
22 790 156
+33,2%
Репозитории с секретами
2 867 503
4 012 054
+39,9%
Рост числа утечек (+33,9%) опережает рост числа разработчиков (+33,2%), но существенно отстаёт от роста объёма кода (+42,7%). Это указывает на то, что объём кода — главный драйвер утечек, а не просто увеличение числа людей, пишущих код.
Динамика роста: 2024 → 2025
Объём кода+42,7%
Число утечек+33,9%
Число разработчиков+33,2%
Ключевой вывод: объём кода — главный драйвер утечек. Рост числа утечек коррелирует с объёмом кода сильнее, чем с численностью разработчиков.
С 2019 года число активных участников на GitHub утроилось (с 7,6 млн до 22,8 млн), а объём публичных коммитов вырос почти в четыре раза (с 514 млн до 1,94 млрд). При этом количество обнаруженных секретов росло ещё быстрее: с 2021 по 2025 год утечки увеличились на 152%, в то время как активность — на 98%.
⚠️
Вывод: это означает, что проблема становится хуже не только в абсолютных, но и в относительных величинах. Каждый новый разработчик создаёт больше кода, интегрирует больше сервисов и, как следствие, генерирует больше потенциальных утечек.
Как ИИ ускоряет утечки секретов
2025 год стал переломным для индустрии: ИИ-инструменты для разработки перешли из категории экспериментов в повседневную практику. По данным GitHub Octoverse 2025, 80% новичков начинают использовать GitHub Copilot (ИИ-ассистент для написания кода) в первую же неделю. Это изменило не только скорость написания кода, но и природу утечек секретов.
ИИ-стек как новая поверхность атаки
По данным GitGuardian 1,275 миллиона секретов, связанных с ИИ-сервисами, было обнаружено в 2025 году — рост на 81,5% по сравнению с 2024-м. Это самый быстрорастущий сегмент среди всех типов утечек.
Восемь из десяти типов секретов с наибольшим годовым приростом утечек связаны с ИИ-сервисами:
Сервис
Рост
Категория
OpenRouter
×48
Агрегатор моделей
DeepSeek
×23
LLM-провайдер
Brave Search
×13,5
RAG / поиск
Firecrawl
×9
Извлечение данных для RAG
Perplexity
×7,6
Поисковый ИИ
Groq
×3,1
Inference-платформа
NVIDIA
×2,8
GPU-инфраструктура
Supabase
×10,9
База данных (часто для AI-проектов)
Критическая закономерность: инфраструктура вокруг больших языковых моделей LLM (системы контекстного поиска, управление запросами, векторные базы данных, мониторинг) «течёт» в пять раз быстрее, чем ключи от самих моделей (OpenAI, Anthropic, Google AI).
Это объясняется архитектурой современных ИИ-приложений. Одна интеграция с LLM быстро превращается в сеть из десятков сервисов:
Оркестрация для многошаговых ИИ-процессов (LangChain +108%)
Мониторинг и эксперименты (Weights & Biases +114%)
Векторизация и поиск (Jina +334%)
Базы данных для хранения векторов и состояний (Supabase +992%)
Каждый слой добавляет новые учётные данные. Каждый API-ключ — новый вектор утечки.
Пример: Supabase, популярная база данных для ИИ-проектов, показала рост утечек на 992% год к году и вошла в топ-20 самых «текущих» сервисов с 248 600+ обнаруженными секретами. В 2024 году рост составлял 97% — в 2025-м он ускорился в десять раз.
⚠️
Разработчики выбирают готовые управляемые сервисы (Supabase, Fastly +577%) вместо кастомной инфраструктуры, потому что это быстрее. Но скорость интеграции опережает зрелость практик безопасности.
Claude Code: кейс-стади ИИ-ассистента
Anthropic Claude Code — ИИ-ассистент, который может не только предлагать код, но и напрямую создавать коммиты с атрибуцией через механизм «Co-Authored-By». Это позволило GitGuardian впервые точно измерить влияние конкретного ИИ-инструмента на утечки секретов.
Ключевые данные:
Рост использования: с 22 коммитов в январе 2025 до 2,16 миллиона в декабре (×98 000)
Доля в общем объёме: 0,4% всех публичных коммитов
Доля в утечках:0,9% всех обнаруженных секретов
Частота утечек: коммиты с участием Claude Code содержали секрет в 3,2% случаев против 1,5% для обычных коммитов — в два раза чаще
Рост коммитов с участием Claude Code в 2025 году
22
Янв
2,6K
Фев
28K
Мар
23K
Апр
59K
Май
370K
Июн
732K
Июл
980K
Авг
940K
Сен
1,5M
Окт
1,7M
Ноя
2,2M
Дек
Ключевой вывод: взрывной рост начался в июне 2025 года. За полгода число коммитов с участием Claude Code выросло с 370 тысяч до 2,2 миллионов — в 6 раз. При этом коммиты с ИИ составили 0,9% от всех проверенных, но на них пришлось 0,5% всех утечек.
Динамика в течение года: первая половина 2025 года показала наиболее выраженный всплеск. В августе частота утечек достигла пика — 31 секрет на 1 000 коммитов, что в 2,4 раза выше базового уровня. После выхода Claude Sonnet 4.5 в конце сентября показатель начал снижаться и к декабрю достиг 13 секретов на 1 000 коммитов — практически сравнявшись с уровнем обычной разработки.
Это указывает на значительные улучшения в поведении модели или в процессе разработки, который производит коммиты с участием Claude Code.
Размер коммитов: с апреля 2025 года коммиты, созданные с помощью Claude Code, в среднем содержали в два раза больше строк кода, чем обычные коммиты. Большие коммиты означают больше возможностей для утечки секретов в одном review и одном merge. К концу года разница сгладилась, что также указывает на улучшение работы модели.
Среднее число строк кода на коммит: человек против Claude Code
Человек
Claude Code
Ключевой вывод: коммиты с участием Claude Code изначально содержали значительно меньше строк (79 в январе), но к апрелю 2025 года показатель вырос до 609–647 строк — в 2,5 раза. К концу года разрыв сократился до 542 против 269 строк, что указывает на улучшение модели и рабочих процессов.
Модели улучшаются, но ответственность остаётся на разработчике. ИИ-инструменты имеют возможность переопределять предложения, игнорировать предупреждения или явно запрашивать включение чувствительной информации. Утечки секретов в конечном счёте отражают человеческие решения — будь то из-за недосмотра, нехватки времени или намеренного обхода рекомендаций по безопасности.
По мере того как ИИ-модели становятся более безопасными, соответствующая эволюция практик безопасности разработчиков и организационных политик становится не менее критичной. Решение — не просто лучший ИИ, а лучшее взаимодействие человека и ИИ с надёжной культурой защиты на каждом этапе.
MCP-конфигурации: 24 000 секретов в первый год
В начале 2025 года Model Context Protocol (MCP) стал де-факто стандартом интеграции LLM с корпоративными системами. MCP — открытый протокол для подключения больших языковых моделей к внешним инструментам, базам данных и API. По мере того как сторонние сервисы спешили предоставить доступ через этот новый канал, конфигурационные файлы MCP быстро превратились в точку высокой концентрации захардкоженных секретов.
Масштаб проблемы:
24 008 уникальных секретов обнаружено в MCP-конфигурациях за 2025 год
2 117 из них (8,8%) оставались действующими на момент обнаружения
Пик утечек пришёлся на август 2025 — 4 209 секретов за месяц
Топ-5 типов валидных секретов в MCP-конфигурациях:
Тип секрета
Доля
API-ключи Google
19%
Строки подключения PostgreSQL
14%
API-ключи Firecrawl
12%
API-ключи Perplexity
11%
API-ключи Brave Search
11%
Официальные гайды — часть проблемы: документация популярных MCP-серверов часто нормализует размещение учётных данных непосредственно в конфигурационных файлах. Примеры из руководств по быстрому старту показывают API-ключи, передаваемые как аргументы командной строки внутри конфигурации MCP-сервера (например, --figma-api-key=YOUR-KEY), или хранящиеся в поле env внутри того же JSON-файла, который попадает в систему контроля версий.
Примеры с PostgreSQL включают полные строки подключения вида postgresql://username:password@... под ключом DATABASE_URI. Когда официальная документация трактует захардкоженные секреты как стандартный подход, их бесконтрольное распространение неизбежно.
Риски MCP-секретов:
Прямое раскрытие данных: секреты от баз данных предоставляют доступ на чтение и запись к производственным наборам данных, часто с избыточными привилегиями.
Злоупотребление платформами и API: утёкшие API-ключи могут быть монетизированы через мошенничество, исчерпание квот и компрометацию учётных записей.
Компрометация рабочих процессов: токены для сборки, развёртывания и служб мониторинга позволяют обеспечить постоянное присутствие в системе, подмену компонентов или скрытое извлечение данных непосредственно в конвейере разработки.
💡
Кейс: уязвимость Smithery.ai Команда безопасности GitGuardian обнаружила критическую уязвимость в Smithery.ai — одном из самых популярных реестров MCP-серверов. Ошибка обхода пути в процессе сборки Docker-образов платформы предоставила доступ к токену с избыточными привилегиями, который давал возможность выполнения произвольного кода на всех 3 000+ размещённых MCP-серверах и доступ к API-ключам и секретам тысяч клиентов сотен сервисов.
Это яркое напоминание: по мере созревания реестров MCP и платформ размещения они становятся приоритетными целями для атак. Скомпрометируйте один централизованный слой — и вы получаете каскадный доступ ко множеству интеграций.
Лучшие практики для MCP-конфигураций:
Никогда не храните секреты в конфигурационных файлах MCP. Используйте переменные окружения, управляемые через выделенный менеджер секретов, а не встроенные значения в JSON или аргументах командной строки.
Клиенты, а не серверы, должны владеть секретами. MCP-серверы должны запрашивать учётные данные у клиентов во время выполнения, а не встраивать их в серверную конфигурацию.
Исключите конфигурационные файлы из системы контроля версий. Добавьте директории с конфигурацией MCP в .gitignore и трактуйте их как конфиденциальные артефакты.
Используйте MCP-серверы только по защищённым каналам. Убедитесь, что удалённые серверы доступны через TLS.
Сканируйте перед отправкой в репозиторий. Инструменты вроде ggshield могут обнаруживать секреты в конфигурациях MCP до того, как они попадут в систему контроля версий.
Обязательное участие человека для критичных действий. Требуйте ручного подтверждения перед любым действием MCP, затрагивающим производственные системы, базы данных или конвейеры развёртывания.
Внутренние системы: слепая зона безопасности
Публично обнаруженные секреты — лишь половина истории. Данные GitGuardian показывают, что внутренние репозитории компаний в шесть раз чаще содержат захардкоженные секреты, чем публичные.
Внутренние репозитории: в 6 раз больше утечек, чем в публичных
32,2% внутренних репозиториев содержат хотя бы один захардкоженный секрет против 5,6% публичных.
Причина этого разрыва — команды разработки, намеренно или нет, менее осторожны внутри закрытого периметра. Они предполагают, что раскрытие секрета во внутреннем репозитории менее опасно, потому что он не подвержен публичной проверке. Однако такой подход означает тихое накопление захардкоженных секретов, которые планируется удалить «позже».
Один утёкший секрет может стать быстрым путём для горизонтального перемещения по инфраструктуре. Фокусировка контролей исключительно на обнаружении утечек в публичном коде упускает наиболее рискованную часть проблемы утечек организации.
Что хранится во внутренних репозиториях
Внутренние репозитории, как правило, содержат самые критичные учётные данные:
CI/CD-токены для интеграций и развёртывания
Ключи облачных платформ с широкими привилегиями
Учётные данные баз данных для продуктовых сред
Токены внутренних инструментов для мониторинга, журналирования, управления секретами
Это именно те активы, на которые рассчитывают атакующие после получения первоначальной точки входа.
⚠️
Правильная стратегия: относиться к внутренним репозиториям как к приоритетным источникам утечек. Предотвращать попадание секретов на этапе коммита, где это возможно; обнаруживать непрерывно на протяжении всего цикла разработки; замыкать цикл быстрыми процессами ротации и устранения, а не полагаться на приватность репозитория как на страховочную сетку.
Пассворк разворачивается на серверах компании — все данные остаются внутри вашей инфраструктуры. Детальный контроль доступа, ролевая модель и журнал всех действий с секретами дают ИТ-отделу полную видимость того, кто, когда и к чему обращался. Протестируйте Пассворк бесплатно
Утечки за пределами кода: Slack, Jira, Confluence
Секреты утекают не только из исходного кода. Учётные данные в открытом виде также появляются в инструментах для совместной работы и повышения продуктивности — Slack, Jira, Confluence. Эти платформы упрощают вставку ключей доступа, часто для ускорения устранения неполадок, реагирования на инциденты или просто повседневной координации.
28% инцидентов в 2025 году произошли полностью вне кода, в том, что GitGuardian называет «Other Data Sources» (другие источники данных, ODS). Большинство инцидентов (68%) по-прежнему приходится на код в системах контроля версий (таких как Git). Однако пересечение секретов, найденных и в системах контроля версий, и в других источниках данных, удивительно мало: всего 4%.
Это согласуется с более широкой закономерностью, которую GitGuardian выделял в предыдущих отчётах: секреты, обнаруженные в системах контроля версий и в инструментах совместной работы, как правило, в значительной степени не пересекаются. Это означает: компании часто используют менеджеры секретов и хранилища для защиты секретов от раскрытия в коде, но те же самые секреты небезопасно передаются и утекают через каналы совместной работы.
Сканирование только кода упустит значимую часть утечек. Секреты из других источников данных (ODS) опаснее: секреты, переданные через Slack, Jira, Confluence и подобные инструменты, чаще получают рейтинг критической или высокой опасности по сравнению с секретами, найденными только в коде.
Распределение по уровню опасности (2025):
Источник
Критический
Высокий
Средний
Низкий
Только системы контроля версий
43,7%
31,2%
18,5%
6,6%
Только другие источники данных
56,7%
27,1%
12,4%
3,8%
Системы контроля версий + другие источники данных
51,2%
29,3%
14,7%
4,8%
Секреты из ODS на 13 процентных пунктов чаще классифицируются как критические (56,7% против 43,7%).
Почему ODS-утечки опаснее: секреты, утёкшие из ODS, часто передаются во время срочного устранения неполадок или реагирования на инциденты. С другой стороны, в большинстве организаций почти весь исходный код проходит структурированные и многоуровневые проверки, включая процессы работы с Git и проверки при непрерывной интеграции, поэтому многие критичные утечки обнаруживаются раньше.
⚠️
Вывод: покрытие ODS критично для снижения риска по всей организации. Даже при использовании хранилищ секретов команды продолжают передавать секреты через чаты и заявки. Сканирование только репозиториев покрывает примерно три четверти поверхности атаки; четверть уязвимостей остаётся невидимой.
GitLab и Docker: 80 000 секретов в открытом доступе
Исследование GitGuardian в 2025 году выявило, что тысячи развёрнутых на собственной инфраструктуре экземпляров GitLab и реестров Docker оставались доступными в интернете без надлежащей аутентификации. Эти непреднамеренно публично открытые ресурсы были проанализированы на предмет секретов, что привело к обнаружению 80 000 учётных данных. 10 000 из них оказались действующими — то есть немедленно пригодными для использования злоумышленниками.
Распределение:
Источник
Всего секретов
Специфические
Общие
Валидные
% валидных
GitLab
57 000
20 000
37 000
~6 840
12%
Docker
23 000
9 000
14 000
~3 450
15%
GitLab-репозитории содержали больший общий объём секретов (57 000), но меньший процент валидных (12%). Напротив, Docker-образы содержали меньше секретов в абсолютных числах (23 000), но 15% из них оказались рабочими.
Находки в Docker особенно тревожны, поскольку, в отличие от экземпляров GitLab, образы Docker предназначены для распространения и обычно передаются между множеством кластеров и узлов, что усиливает опасность.
Близость к продуктовой среде = выше вероятность действующего секрета
Чем ближе актив к проду, тем выше вероятность обнаружить валидные учётные данные.
Примеры по типам секретов:
Тип секрета
GitLab (валидные)
Docker (валидные)
Учётные данные облачных платформ
47%
60%
Токены систем контроля версий
2%
40%
Учётные данные хранилищ данных
4%
32%
Разрыв особенно широк для секретов систем контроля версий: 40% действующих в контейнерах Docker против всего 2% в GitLab — и для учётных данных хранилищ данных: 32% против 4% соответственно.
Эффект вложенной экспозиции
Исследование подтверждает критическую закономерность распространения секретов: учётные данные из закрытых ресурсов попадают в образы Docker, которые впоследствии оказываются доступны публично. Возникает каскадный сценарий компрометации: публично открытые утечки содержат действующие секреты, открывающие доступ к закрытой инфраструктуре. Это, в свою очередь, обнажает дополнительные секреты и многократно усиливает масштаб первоначального инцидента.
Дополнительные находки
Помимо секретов, публично открытые данные также содержали сильные индикаторы приватных ресурсов, которые никогда не предназначались для публичного доступа:
Ссылки на внутренние узлы баз данных и закрытые инфраструктурные шаблоны
Уведомления о конфиденциальности и защите персональных данных внутри кода
Значительный объём персональных данных, включая более 300 000 адресов электронной почты, из которых 2 000 имели государственные домены (.gov)
Частота утечек
GitGuardian обнаружили секреты в 12% просканированных GitLab-репозиториев и 18% просканированных Docker-образов. Эти проценты отражают уровень экспозиции на уровне отдельных активов внутри уже обнаруженных экземпляров GitLab и реестров Docker, развёрнутых на собственной инфраструктуре.
Примерно 18% Docker-реестров стали недоступными всего через несколько недель после обнаружения сканированием. Однако в нескольких случаях учётные данные, которые были открыты, оставались валидными даже после того, как публичный доступ был отозван.
⚠️
Вывод: просто убрать секреты из публичного доступа без их ревокации бесполезно. Только правильная ревокация может обеспечить безопасность.
При объединении с другими находками это показывает, что частота утечек из Docker и GitLab, развёрнутых на собственной инфраструктуре, в 3–4 раза выше по сравнению с публичными хранилищами GitHub. Это означает: захардкоженные секреты в закрытых ресурсах — это недооценённый риск безопасности для слишком многих команд.
64% секретов 2022 года до сих пор действуют
Каждый год GitGuardian анализирует новые данные об утечках, но также повторно проверяет предыдущие находки, чтобы выявить закономерности во времени. В отчёте State of Secrets Sprawl 2025 было показано, что почти 70% учётных данных, подтверждённых как действующие в 2022 году, всё ещё оставались действующими по состоянию на январь 2025 года.
Когда тот же датасет был повторно протестирован в январе 2026 года, уровень валидности остался выше 64%. Это означает, что эти секреты могли быть использованы любым, кто их обнаружит, на протяжении четырёх лет.
Это подтверждает общую тенденцию, впервые замеченную в прошлом году: как только реальные учётные данные утекают в публичный коммит, они часто остаются пригодными для использования гораздо дольше, чем любая команда сочла бы приемлемым.
Почему секреты не ротируются
Корень проблемы: у большинства организаций нет процессов для быстрой и безопасной ротации секретов. Команды работают с долгоживущими учётными данными, которые изначально не проектировались для регулярной смены.
Отозвать и заменить такой секрет — значит обновить конфигурации во всех средах, перезапустить сервисы, синхронизировать изменения между командами и убедиться, что ничего не сломалось. Без автоматизации это превращается в многочасовую операцию с риском простоя. Поэтому организации выбирают путь наименьшего сопротивления: оставить всё как есть и надеяться, что секрет не найдут злоумышленники.
Результат: обнаружение утечки не решает проблему — оно лишь фиксирует её существование. Пока ротация требует ручной работы, секреты будут оставаться действующими годами.
⚠️
Вывод: обнаружение — только первый шаг. До тех пор пока отзыв и ротация не станут автоматизированными и встроенными в процессы, каждый утёкший секрет остаётся долговечным путём доступа, который может находиться на виду годами.
Пассворк автоматизирует ротацию секретов и даёт полный контроль над жизненным циклом учётных данных. Централизованное хранилище, журнал аудита и интеграция с Active Directory позволяют закрыть цикл «обнаружение → отзыв → ротация» без ручных операций. Протестируйте бесплатно в своей инфраструктуре
Инфраструктура разработки: новый вектор
Рабочие станции разработчиков всегда были частью поверхности атаки, но в 2025 году произошёл качественный сдвиг: атаки на цепочку поставок через npm стали целенаправленно собирать секреты с машин разработчиков в промышленных масштабах.
В августе 2025 года злоумышленники внедрили вредоносный код в популярные npm-пакеты. Код выполнялся автоматически при установке и систематически сканировал машины разработчиков:
Собирал файлы окружения (.env, .bashrc, .zshrc)
Извлекал конфигурационные файлы приложений
Сканировал кэши сред разработки и результаты сборок
Отправлял найденные секреты на управляющий сервер
GitGuardian проанализировал данные этой атаки, повторно просканировав их своим движком обнаружения. Результаты показывают реальную картину того, сколько секретов хранится на типичной рабочей станции разработчика.
Статистика компрометации
Показатель
Значение
Скомпрометированных машин
6 943
Всего вхождений секретов
294 842
Уникальных секретов
33 185
Действующих на момент анализа
3 760
Ключевой вывод: каждый действующий секрет в среднем встречался в восьми разных местах на одной машине — в конфигурационных файлах, профилях оболочки, результатах сборки, настройках IDE и кэшах инструментов. Каждая копия — независимый вектор для кражи.
Распределение секретов
44% скомпрометированных машин содержали более 10 секретов
5% машин несли более 100 секретов
Типы обнаруженных учётных данных
Токены GitHub доминировали в проверенном наборе:
581 персональный токен доступа
386 токен OAuth
104 детализированный токен доступа
101 токен GitLab
Каждый из этих токенов обеспечивает доступ к репозиториям, позволяет манипулировать CI/CD-процессами или открывает путь для бокового перемещения по цепочке поставок.
CI/CD-агенты как точка концентрации риска
59% скомпрометированных машин оказались CI/CD-агентами, а не личными рабочими станциями. Это означает, что атака затронула не только индивидуальных разработчиков, но и общую инфраструктуру сборки — узлы с повышенными привилегиями и доступом к продуктовым средам.
Реальная плотность секретов выше
Атаки выполнялись только там, где был установлен вредоносный пакет. Они не достигали папок памяти агентов, кешей сред разработки или растущей поверхности атаки артефактов, генерируемых искусственным интеллектом, которые теперь рутинно включают учётные данные. Реальная плотность секретов на машинах разработчиков почти наверняка выше.
⚠️
Вывод: это незащищённые хранилища секретов в открытом виде. Атаки на цепочку поставок через npm целенаправленно собирают учётные данные из файлов окружения, конфигураций и кэшей. Каждая копия секрета — независимый вектор для кражи.
Защита должна начинаться с конечной точки: сканирование рабочих станций, централизованное управление секретами и автоматизированная ротация — единственный способ закрыть этот вектор атак.
Что делать: от обнаружения секретов к управлению
Разработка с помощью искусственного интеллекта перешла от эксперимента к стандарту. С ней приходит всплеск секретов: служебные учётные записи, ключи интерфейсов, токены агентов, конфигурации протокола контекста модели — все аутентифицирующиеся, все действующие, все способные утечь.
Данные показывают, что разрыв расширяется:
Коммиты, созданные совместно с Claude Code, утекают в два раза чаще базового уровня
Утечки инфраструктуры больших языковых моделей растут в пять раз быстрее, чем у основных поставщиков
Только конфигурации протокола контекста модели обнажили более 24 000 секретов в первый год
Это больше не проблема обнаружения. Это проблема управления. И управление начинается с трёх вопросов, на которые каждая организация должна ответить:
Какие секреты существуют в вашей среде?
Кто ими владеет?
К чему они имеют доступ?
Если вы не можете ответить на все три, ваше внедрение искусственного интеллекта опережает вашу позицию безопасности.
Путь от распространения секретов к контролю:
Централизовать хранение секретов. Единый источник правды. Исключить «самодельные» хранения. Когда команды могут надёжно извлекать секреты из одного источника, они перестают изобретать собственные фрагментированные стратегии хранения — основной драйвер распространения секретов.
Автоматизировать ротацию. Сократить окно эксплуатации. Если секрет должен существовать, он не должен жить вечно. Регулярная замена действующих секретов сокращает окно атаки и заставляет команды трактовать учётные данные как актив с жизненным циклом, а не как разовую настройку.
Сделать безопасный путь удобнее захардкоженных ключей. Устранить файлы окружения и скопированные токены. Разработчики будут продолжать встраивать секреты в код, потому что это работает и позволяет выпустить функциональность. Единственный устойчивый подход — сделать создание, хранение и вызов действующих секретов проще и привлекательнее, чем захардкодить ключи.
Сканировать на рабочей станции (до коммита). Инструменты вроде ggshield и расширения для сред разработки не допускают секрет до репозитория. Раннее сканирование предотвращает инциденты. Современные инструменты помогают командам остановить утечку до того, как секрет попадёт в репозиторий навсегда.
Распространить мониторинг за пределы кода. Slack, Jira, Confluence, реестры Docker. 28% инцидентов происходят вне кода, и они на 13% чаще критические. Сканирование только репозиториев покрывает ~72% поверхности.
Внедрить приоритизацию на основе рисков. Обогащение контекстом и оценка рисков вместо подхода «только проверка». 46% критических секретов пропускаются при подходе «только проверка». Необходимо понимать, что каждый секрет разблокирует, оценивать привилегии и область действия, обрабатывать длинный хвост и приоритизировать на основе фактического влияния на бизнес.
Первый шаг к управлению секретами — централизованное хранилище с контролем доступа и автоматической ротацией. Пассворк закрывает этот критический пробел: локальное развёртывание, интеграция с LDAP/AD, API для автоматизации и полный журнал аудита. Протестируйте бесплатно — узнайте, как корпоративный менеджер паролей превращает обнаружение в управление.
Ключевые выводы
2025 год стал переломным для разработки ПО. ИИ-ассистенты превратили разработку из узкопрофессионального занятия в массовую практику менее чем за 12 месяцев. Стек инструментов ИИ с десятками новых сервисов и токенов стал нормой. Это привело к рекордному числу утечек секретов — 28,65 миллиона на одном только публичном GitHub, рост на 34% год к году.
Пять главных выводов
ИИ ускоряет расползание секретов. Рост утечек секретов ИИ на 81,5%, коммиты Claude Code с удвоенной частотой утечек, более 24 000 секретов в конфигурациях — всё это симптомы одной проблемы: команды создают новые токены, ключи и учётные записи сервисов быстрее, чем успевают выстроить процессы управления ими. Модели улучшаются, но ответственность за безопасность остаётся на разработчике и организационных процессах.
Внутренние системы — главная зона риска. Внутренние репозитории в шесть раз чаще содержат секреты, чем публичные. 28% инцидентов происходят вне кода и они на 13% чаще критические. Собственные экземпляры GitLab и Docker показывают частоту утечек в 3–4 раза выше, чем публичный GitHub. Приватность — не мера защиты.
Устранение отстаёт от обнаружения. 64% секретов 2022 года всё ещё действуют в 2026-м. Обнаружение бесполезно без замкнутого цикла отзыва и ротации. Секреты встроены в системы сборки, переменные непрерывной интеграции, контейнеры. Их ротация — комплексный процесс, который большинство организаций не автоматизировали.
Подход «только проверка» — ложная безопасность. 46% критических секретов пропускаются при подходе «только проверка». Универсальные секреты (пароли, приватные ключи, пользовательские токены) составляют 35% критических инцидентов, но массово игнорируются. Необходим переход к приоритизации на основе рисков: обогащение контекстом, оценка рисков и полное покрытие.
Переход к управлению машинными идентичностями — стратегическая необходимость. Цель — не только находить утёкшие строки, но непрерывно доказывать, какие машинные идентичности существуют, кто ими владеет и к чему они имеют доступ. Это начинается с централизации секретов, автоматизации ротации, улучшения опыта разработчиков.
Расползание секретов — это проблема управления. Недостаточно найти утёкший токен — нужно его отозвать, ротировать и предотвратить повторную утечку. Организации, которые выстроят процессы централизованного хранения, автоматической ротации и контроля доступа, смогут масштабировать защиту. Те, кто продолжат только искать утечки, не закрывая их системно, останутся уязвимы к самым критичным атакам.
Пассворк помогает организациям сделать первый и фундаментальный шаг: централизовать хранение секретов, контролировать доступ и автоматизировать ротацию.Попробуйте Пассворк бесплатно и узнайте, как корпоративный менеджер паролей и секретов закрывает критический пробел между обнаружением и управлением.
Часто задаваемые вопросы
Что такое захардкоженные секреты и почему они опасны?
Захардкоженные секреты — это учётные данные (API-ключи, токены, пароли, приватные ключи), встроенные непосредственно в исходный код или конфигурационные файлы. Когда такой код попадает в систему контроля версий, секрет становится частью истории репозитория навсегда — даже после удаления из текущей версии. Один утёкший секрет может открыть доступ к продуктовой базе данных, облачной инфраструктуре или CI/CD.
Почему утечки секретов растут быстрее числа разработчиков?
С 2021 года утечки секретов выросли на 152%, в то время как число разработчиков увеличилось на 98%. Главный драйвер — рост объёма кода (+42,7% за год) и количества интегрируемых сервисов. ИИ-инструменты ускоряют разработку, но каждый новый сервис требует новых токенов и ключей. Команды создают учётные данные быстрее, чем успевают выстроить процессы управления ими.
Как ИИ-ассистенты влияют на утечки секретов?
Коммиты с участием Claude Code содержали секреты в 3,2% случаев против 1,5% для обычных коммитов — в два раза чаще. Утечки секретов ИИ-сервисов выросли на 81,5% за год. Инфраструктура вокруг больших языковых моделей (системы поиска, векторные базы, оркестрация) «течёт» в пять раз быстрее, чем ключи от самих моделей. Проблема не в моделях, а в скорости создания новых интеграций без зрелых практик безопасности.
Почему внутренние репозитории опаснее публичных?
32,2% внутренних репозиториев содержат захардкоженные секреты против 5,6% публичных — в шесть раз больше. Команды менее осторожны внутри закрытого периметра, предполагая, что приватность защищает. Но внутренние репозитории содержат самые критичные учётные данные: CI/CD-токены, ключи облачных платформ с широкими привилегиями, доступы к базам данных. Один утёкший секрет становится быстрым путём для горизонтального перемещения по инфраструктуре.
Почему секреты остаются действующими годами после обнаружения?
64% секретов, обнаруженных в 2022 году, всё ещё действуют в 2026-м — спустя четыре года. Ротация — не одна кнопка, а комплексный процесс: секреты встроены в системы сборки, скопированы в несколько хранилищ, запечены в образы контейнеров, указаны в переменных непрерывной интеграции, распределены между командами. Большинство организаций не автоматизировали этот процесс. Обнаружение бесполезно без замкнутого цикла отзыва и ротации.
Что такое подход «только проверка» и почему он не работает?
Многие команды сканируют только те секреты, которые можно автоматически проверить на валидность. Но 46% критических секретов невозможно проверить автоматически — это пароли к базам данных, приватные ключи, внутренние токены. Они составляют 35% критических инцидентов, но массово игнорируются. Правильный подход — оценивать каждый секрет по контексту: к чему он даёт доступ, какие привилегии открывает, насколько критична система.
Где ещё утекают секреты, кроме кода?
28% инцидентов в 2025 году произошли вне кода — в Slack, Jira, Confluence. Секреты из этих источников на 13% чаще получают рейтинг критической опасности (56,7% против 43,7% для кода). Учётные данные передаются в чатах во время срочного устранения неполадок или реагирования на инциденты. Сканирование только репозиториев покрывает ~72% поверхности атаки — четверть уязвимостей остаётся невидимой.
Что такое управление машинными идентичностями (NHI)?
Машинные идентичности (Non-Human Identities, NHI) — это любые механизмы аутентификации для автоматических систем: API-токены, ключи доступа, учётные записи сервисов, сертификаты. С развитием ИИ-разработки их количество взрывообразно растёт. Управление NHI означает непрерывно доказывать, какие машинные идентичности существуют, кто ими владеет и к чему они имеют доступ. Это начинается с централизации секретов, автоматизации ротации и постепенного перехода к краткосрочным учётным данным на основе идентичности.
Как защитить конфигурации протокола контекста модели (MCP)?
За 2025 год в MCP-конфигурациях обнаружено 24 008 секретов, 8,8% действующих. Лучшие практики: никогда не храните секреты в конфигурационных файлах — используйте переменные окружения через менеджер секретов; клиенты, а не серверы, должны владеть секретами; исключите конфигурационные файлы из системы контроля версий; сканируйте перед отправкой в репозиторий; требуйте ручного подтверждения перед действиями MCP, затрагивающими продуктовые системы.
С чего начать защиту от утечек секретов?
Первый шаг — централизовать хранение секретов в едином защищённом хранилище. Это исключает «самодельные» стратегии хранения — основной драйвер распространения секретов. Затем: автоматизируйте ротацию критичных учётных данных; внедрите сканирование на рабочих станциях до коммита; распространите мониторинг на Slack, Jira, Confluence, Docker-реестры; перейдите от подхода «только проверка» к приоритизации на основе рисков; начните миграцию на аутентификацию на основе идентичности для машинных идентичностей.
28 миллионов утечек секретов за год: отчёт GitGuardian, статистика и примеры атак 2026
28,65 млн новых утечек секретов в 2025 году — рост на 34%. Разбор отчёта GitGuardian: как ИИ ускоряет утечки в 5 раз, почему 64% секретов остаются действующими годами и что делать. Реальные примеры атак и стратегия защиты.
Новая версия Python-коннектора 0.1.5 расширяет возможности CLI-утилиты. Мы добавили команды, которые решают ключевые задачи DevOps-инженеров и разработчиков — безопасное получение и обновление секретов в автоматизированных пайплайнах.
Почему это важно
Секреты, API-ключи, токены и пароли баз данных нельзя хранить в коде — это риск утечки. Ручное обновление замедляет процессы и провоцирует ошибки. Новые команды get и update в passwork-cli полностью автоматизируют управление секретами. Пассворк становится единым источником истины (SSOT): секреты не попадают в небезопасные места, жизненный цикл полностью автоматизирован.
Как работают команды:
get — получает данные из Пассворка
update — обновляет данные в Пассворке
Команды работают с любыми полями: паролями, токенами, API-ключами и пользовательскими полями.
Get: получение данных из записи
Команда get извлекает значение любого поля из записи и подходит для скриптов автоматизации.
Получение конкретного поля
Используйте флаг --field для извлечения логина, URL или значения из любого пользовательского поля.
# Получаем токен для доступа к API из пользовательского поля 'API_TOKEN'
export API_TOKEN=$(passwork-cli get --password-id "..." --field API_TOKEN)
Генерация TOTP-кодов
Если в Пассворке хранятся секреты для двухфакторной аутентификации, passwork-cli генерирует актуальный код прямо в терминале. Используйте флаг --totp-code.
# Получаем TOTP-код для подключения к VPN
VPN_TOTP=$(passwork-cli get --password-id "..." --totp-code "VPN_SECRET")
Update: обновление секретов
Команда update изменяет данные в Пассворке и автоматизирует ротацию секретов.
Обновление пользовательских полей
Флаг --custom-<field_name> обновляет значения в пользовательских полях.
# Обновляем API-ключ в записи
passwork-cli update --password-id "..." --custom-API_KEY "new-generated-key"
Массовое обновление
Теперь можно изменять несколько полей одной командой.
# Одновременно обновляем пароль и теги
passwork-cli update \
--password-id "..." \
--password "NewComplexP@ssw0rd" \
--tags "production,rotated,automated"
Поддержка клиентского шифрования
Команды get и update полностью поддерживают режим клиентского шифрования в Пассворке. При использовании get все зашифрованные поля автоматически расшифровываются с помощью мастер-ключа. При выполнении update данные сначала шифруются на вашей стороне и только после этого отправляются на сервер.
Для современной ИТ-инфраструктуры централизованное управление секретами — необходимость. HashiCorp Vault долгое время считался стандартом для DevOps и корпоративного сегмента. Но его внедрение требует серьёзных ресурсов: высокие расходы, сложная архитектура, необходимость в узкой экспертизе.
Пассворк предлагает альтернативный подход: решение, которое закрывает требования большинства компаний с минимальными затратами времени и финансов на внедрение и поддержку.
В этой статье разберём, чем Пассворк отличается от HashiCorp Vault, какие задачи решает и в каких сценариях оправдан выбор каждого из инструментов.
Пассворк: позиционирование и принципы
В ответ на сложности и высокую стоимость существующих решений, Пассворк предлагает иной подход к управлению секретами, основанный на трёх ключевых принципах: простота внедрения, универсальность применения и безопасность по умолчанию.
С релизом 7-й версии Пассворк эволюционировал из менеджера паролей в полноценную систему управления секретами и значительно расширил возможности. Основа этой трансформации — открытый REST API и набор нативных DevOps-инструментов.
Менеджер паролей — удобный пользовательский интерфейс для безопасного хранения и совместного использования учётных данных внутри команды. Быстрый старт без необходимости обучения.
Система управления секретами — программный доступ для разработчиков и администраторов через REST API, Python-коннектор, CLI и Docker-образ. Автоматизация ротации секретов, интеграция с CI/CD, управление доступом на уровне приложений.
Пассворк объединяет все секреты (пароли, API-ключи, сертификаты) в единой экосистеме. Внедрение занимает минимум времени благодаря готовым инструментам и интуитивно понятному интерфейсу.
API-first архитектура
Пассворк построен по принципу API-first: каждая функция интерфейса доступна программно через REST API. Это фундамент для глубокой интеграции с ИТ-инфраструктурой.
Более 300 API-эндпоинтов — полнофункциональное управление паролями, пользователями, сейфами, группами, ролями и системными настройками.
Готовые инструменты для разработчиков:
Python-коннектор — нативная интеграция с приложениями на Python
Passwork CLI — управление секретами из терминала и shell-скриптов
Docker-образ — встраивание в контейнеризованные окружения и CI/CD-пайплайны
Принцип Zero knowledge в действии
Мастер-ключ никогда не покидает устройство пользователя. Вместо передачи пароля на сервер, система использует сложную криптографическую цепочку:
Мастер-ключ формируется из мастер-пароля через алгоритм PBKDF2 с использованием случайной соли и большого числа итераций (защита от атак перебором).
RSA-ключи пользователя (RSA-2048): Для каждого пользователя генерируется уникальная пара асимметричных ключей. Закрытый ключ шифруется мастер-ключом и хранится на сервере только в зашифрованном виде.
Многоуровневая иерархия: Каждая запись пароля шифруется собственным AES-256-ключом, который в свою очередь шифруется ключом сейфа, а ключ сейфа — RSA-ключами пользователей с доступом.
Что это означает на практике
Сервер хранит только шифртекст — даже администраторы системы или потенциальные злоумышленники, получившие полный доступ к серверу и базе данных, не смогут прочитать содержимое секретов без знания мастер-паролей пользователей.
Полная совместимость — клиентское шифрование поддерживается во всех официальных клиентах: веб-интерфейсе, браузерных расширениях, мобильных приложениях и Python-коннекторе для серверных интеграций.
Преимущества
Пассворк значительно снижает общую стоимость владения системой управления секретами. Это достигается благодаря нескольким принципиальным преимуществам:
Быстрое внедрение. Развёртывание и интеграция занимают дни, а не месяцы. Готовые инструменты, документация, техподдержка на всех этапах и интуитивно понятный интерфейс.
Прозрачное ценообразование. Пассворк предлагает простую и предсказуемую модель лицензирования. Фиксированная стоимость за пользователя без скрытых платежей за API-вызовы, хранилища или дополнительные модули.
Единое решение. Пароли сотрудников, SSH-ключи, API-токены, сертификаты, конфигурации — всё в одной системе.
DevOps-ready из коробки. Мощный CLI, Python-коннектор и Docker-образы позволяют быстро интегрировать Пассворк в CI/CD-процессы и автоматизировать рутинные задачи.
Оперативная техподдержка. Профессиональная русскоязычная техническая поддержка на всех этапах — от внедрения до эксплуатации. Быстрые ответы, понятные решения, без языкового барьера.
Результат: экономия на лицензиях и внедрении, DevOps-команды перестают тратить время на поддержку избыточно сложной инфраструктуры.
HashiCorp Vault
Vault — один из самых известных инструментов для управления секретами в корпоративной среде. Он подходит крупным компаниям с высокими требованиями к безопасности и сложной инфраструктурой. Несмотря на свою мощь и популярность, HashiCorp Vault не является универсальным решением. У него есть специфические нюансы, которые важно учитывать при выборе — особенно если ваша компания стремится к оптимизации ресурсов.
Ценообразование. Hashicorp Vault не публикует открытый прайс-лист. Стоимость Vault Enterprise определяется индивидуально — после консультации с отделом продаж. Это нужно учитывать при планировании бюджета, чтобы избежать неожиданных расходов.
Экспертиза. Решение требует глубоких знаний для настройки и поддержки. Развертывание отказоустойчивых кластеров, управление политиками доступа и интеграция с различными системами — задачи, которые под силу опытным DevOps-инженерам, знакомым с архитектурой Vault. Найти таких специалистов может быть сложнее, чем администраторов типовых систем управления секретами.
Функции. Vault предлагает большой набор возможностей: от базового хранения секретов до динамической генерации учётных данных и шифрования как услуги. Часть функций доступна только в Enterprise-версии — это стоит учитывать, если вам нужны конкретные возможности с самого начала.
Иностранное решение. HashiCorp Vault — продукт американской компании. В России нет официальных лицензий, решение отсутствует в Реестре Минцифры. Это ограничивает его использование в госсекторе и компаниях с требованиями к импортозамещению.
Сравнение Hashicorp Vault и Пассворка
При выборе системы управления секретами важно понимать не только общую философию продукта, но и конкретные технические возможности.
Архитектура
Пассворк построен на принципах Zero knowledge. Это означает, что сервер физически не может расшифровать секреты без мастер-ключа пользователя. Такая архитектура определяет, как строятся интеграции.
Как работает Hashicorp Vault: сервер может расшифровывать секреты и выполнять операции с ними напрямую. Это позволяет создавать встроенные движки (Database Secrets Engine, PKI Engine и др.), которые работают на стороне сервера.
Как работает Пассворк: сервер не может расшифровать секреты без мастер-ключа пользователя. Все интеграции строятся как внешние клиентские решения: Python-скрипты, CLI-утилиты или приложения. Они работают по следующей схеме:
Обращаются к Пассворку с токеном доступа и мастер-ключом
Расшифровывают секреты на стороне клиента
Выполняют действия по интеграции со сторонними системами
Записывают или обновляют данные в Пассворке
В чём разница: Vault доверяет серверу и полагается на его защищённость. Пассворк не доверяет никому, кроме конечного пользователя.
Преимущества подхода Пассворка
Защита при компрометации сервера — даже при полном взломе сервера секреты остаются зашифрованными.
Гибкость интеграций — любая логика реализуется в клиентском коде без ограничений серверной архитектуры.
Прозрачность — вся логика работы с секретами находится в открытом коде интеграций.
Управление секретами
Оба решения обеспечивают надёжное хранение секретов, но отличаются подходом к динамике и удобству использования.
Статические секреты Пассворк предлагает более понятный интерфейс для управления статическими секретами, что важно для компаний, которым нужен быстрый доступ и внедрение без долгого изучения документации.
Пассворк: хранение паролей, ключей и файлов с кастомными полями и удобным интерфейсом.
Динамические секреты Vault — технологический лидер в этой области. Но на практике 90% потребностей в ротации покрывают простые скрипты, интегрированные с Пассворком.
HashiCorp Vault: встроенные движки генерируют временные учётные данные для баз данных, облаков (AWS, Azure, GCP) и других систем.
Пассворк: через внешние агенты — Пассворк не имеет встроенного механизма, но позволяет реализовать ротацию через API и скрипты.
Lease management Lease Management в Vault — это механизм «аренды» секретов. Секрет автоматически истекает по TTL, его можно продлить или принудительно отозвать.
HashiCorp Vault: автоматическое управление жизненным циклом (TTL, продление, отзыв) для динамических секретов.
Пассворк: нет встроенного механизма — жизненный цикл управляется внешними системами (например, cron-заданиями).
API-доступ API Пассворка часто отмечают как более простой, предсказуемый, и оптимизированный под разработку интеграций.
Оба решения: REST API с полным программным доступом ко всем функциям.
Криптография и PKI
Возможность шифрования «на лету» и управления инфраструктурой открытых ключей (PKI) — сильная сторона Vault. Эти инструменты часто оказываются избыточными для типовых сценариев, но незаменимы при сложных требованиях к безопасности.
PKI/CI
HashiCorp Vault: встроенный PKI движок — может выступать в роли корневого или промежуточного центра сертификации.
Пассворк: нет встроенного движка — Пассворк предназначен для безопасного хранения сертификатов и ключей, сгенерированных внешними CA.
Transit Crypto-as-a-service У Vault это встроенный полнофункциональный движок. Transit — мощная, но нишевая функция. Пассворк фокусируется на своей основной задаче — безопасном хранении секретов.
HashiCorp Vault: встроенный движок позволяет шифровать и подписывать данные без их хранения в Vault, используя централизованно управляемые ключи.
Пассворк: нет встроенного движка — данная функция не реализована. Для подобных задач рекомендуется использовать специализированные криптографические сервисы.
Шифрование данных Подход Пассворка обеспечивает более высокий уровень конфиденциальности, так как сервер никогда не видит данные в открытом виде.
HashiCorp Vault: разнообразные алгоритмы — AES-GCM, ChaCha20, RSA, ECDSA и др. Шифрование на стороне сервера.
Пассворк: Zero knoweldge и серверное шифрование (OpenSSL) — все данные шифруются на стороне клиента по принципу Zero knowledge.
Интеграция с DevOps-инструментами
Простота и скорость интеграции в существующие процессы — ключевой фактор для DevOps-команд.
CI/CD интеграция Оба решения эффективно интегрируются с CI/CD. Vault предлагает готовые плагины для популярных систем, Пассворк — универсальный подход через CLI и Docker.
HashiCorp Vault: множество плагинов для большинства популярных CI/CD-систем (Jenkins, GitLab CI, GitHub Actions).
Пассворк: CLI и Docker-образы — универсальный подход, который работает с любой CI/CD-системой без необходимости в плагинах.
Python SDK hvac — зрелая и функциональная библиотека. Коннектор Пассворка проще в освоении и автоматизирует типовые операции.
HashiCorp Vault: hvac library — популярная и мощная библиотека для взаимодействия с Vault.
Пассворк: официальный коннектор — простой в использовании SDK, который берёт на себя рутинные задачи, например, автоматическое обновление токенов.
CLI-инструменты Passwork-cli прост в освоении, имеет понятный синтаксис и удобный режим exec для передачи секретов.
HashiCorp Vault: Vault CLI — большое количество команд и опций.
Пассворк: Passwork CLI —утилита с интуитивно понятным синтаксисом и удобным режимом exec, который позволяет передавать секреты в дочерние процессы.
Интеграция с Kubernetes У Vault есть нативная автоматизация через Injector/CSI, у Пассворка — более простой init/sidecar-паттерн. Итог (секреты на лету) достигается в обоих подходах — различается сложность и глубина автоматизации.
HashiCorp Vault: Agent Injector + CSI — глубокая и нативная интеграция с Kubernetes через sidecar-контейнеры и CSI-драйвер с аннотациями на Pod-спецификации.
Пассворк: Init-контейнеры/sidecar — интеграция возможна через стандартные механизмы Kubernetes с использованием CLI, но требует больше ручной настройки.
Корпоративные функции
Управление доступом, аудит и интеграция со службой каталогов — обязательные требования для корпоративных решений.
Управление доступом на основе ролей (RBAC) Пассворк предлагает более простую и быструю в настройке модель RBAC, которая покрывает большинство корпоративных потребностей.
HashiCorp Vault: Policies + Roles — гибкая система управления доступом на основе политик.
Пассворк: Роли + Группы — простая и понятная ролевая модель, знакомая большинству администраторов.
Интеграция с AD/LDAP Оба решения поддерживают AD/LDAP-интеграцию. В Vault это один из множества методов аутентификации, в Пассворке — встроенная функция с простой настройкой.
HashiCorp Vault: Auth methods — поддерживается как один из множества методов аутентификации.
Пассворк: встроенная поддержка — интуитивная и быстрая интеграция с Active Directory и другими LDAP-каталогами.
Технология единого входа (SSO) Оба решения предлагают сопоставимые возможности по SSO.
HashiCorp Vault: OIDC, SAML — поддержка стандартных протоколов для интеграции с провайдерами идентификации.
Пассворк: интеграция с популярными SSO-провайдерами.
Аудит Оба решения предоставляют исчерпывающую информацию для аудита безопасности.
HashiCorp Vault: возможность логировать каждое действие с секретами.
Пассворк: детальный журнал всех действий пользователей и API-клиентов.
Пользовательский интерфейс Удобный интерфейс Пассворка является ключевым преимуществом, так как позволяет использовать систему не только техническим специалистам, но и обычным сотрудникам.
HashiCorp Vault: интерфейс ориентирован на администраторов и DevOps-инженеров.
Пассворк: современный и интуитивно понятный интерфейс, рассчитанный на широкий круг пользователей.
Практические сценарии использования
Рассмотрим, как Пассворк и Vault решают типичные DevOps-задачи.
Интеграция в CI/CD
Задача: безопасно передать пароль от базы данных в скрипт развертывания deploy.sh в рамках CI/CD-пайплайна.
Решение HashiCorp Vault: интеграция требует нескольких шагов — настройки аутентификации для CI/CD (например, через JWT или AppRole), создания политик доступа и получения секрета.
deploy:
script:
# 1. Аутентификация в Vault
- export VAULT_TOKEN=$(vault write -field=token auth/jwt/login role=myproject jwt=$CI_JOB_JWT)
# 2. Чтение секрета (путь и поле зависят от вашей схемы ключей в KV)
- export DB_PASSWORD=$(vault kv get -field=password secret/myapp/db)
# 3. Запуск скрипта
- ./deploy.sh
Решение Пассворка: Пассворк CLI предлагает режим exec, который получает секрет и передает его в дочерний процесс через переменные окружения. Имя переменной формируется из названия кастомного поля записи.
deploy:
image: passwork/passwork-cli:latest
variables:
# Рекомендуется задать эти значения как Masked/Protected переменные
# в Settings > CI/CD > Variables
PASSWORK_HOST: "https://passwork.example.com"
PASSWORK_TOKEN: "${PW_TOKEN}"
PASSWORK_MASTER_KEY: "${PW_MASTER_KEY}"
script:
# Запуск скрипта с автоматическим получением секрета
# Секреты будут доступны в ENV только дочернему процессу
- passwork-cli exec --password-id "ITEM_ID" -- ./deploy.sh
Примечание:deploy.sh использует $DB_PASSWORD из кастомного поля записи в Пассворке.
Управление секретами в Kubernetes
Задача: обеспечить под приложения в Kubernetes доступом к секретам.
Решение HashiCorp Vault: Vault предлагает нативные механизмы: Agent Injector или CSI Provider. Требуется развертывание дополнительных компонентов в кластере и глубокая настройка с аннотациями на Pod-спецификации.
Решение Пассворка: подход Пассворка проще и не требует установки дополнительных операторов в кластер. Используется стандартный паттерн init-контейнера, который с помощью passwork-cli получает секреты и записывает их в общую для пода emptyDir-директорию.
Вывод: хотя решение Vault более нативное, подход Пассворка использует стандартные механизмы Kubernetes — не требует дополнительной инфраструктуры и проще в отладке.
Ротация паролей
Задача: регулярно менять пароль для сервисного аккаунта базы данных.
Решение HashiCorp Vault: используется Database Secrets Engine, который автоматически генерирует временные учетные данные с заданным TTL.
Решение Пассворка: задача решается простым скриптом, запускаемым по расписанию (например, в cron или CI/CD), который выполняет три действия:
Генерирует новый пароль
Применяет его в целевой системе (например, ALTER USER в СУБД)
Обновляет пароль в Пассворке через API
#!/usr/bin/env bash
set -Eeuo pipefail
NEW_PASSWORD="$(openssl rand -base64 24)"
# 1) Ротация в БД
PGPASSWORD="$OLD_PASSWORD" psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" \
-c "ALTER USER \"$DB_USER\" WITH PASSWORD '$NEW_PASSWORD';"
# 2) Обновление в Пассворке (CSE на клиенте)
python - <<'PY'
import os
from passwork_api import Passwork
pw = Passwork(
host=os.environ["PASSWORK_HOST"],
token=os.environ["PASSWORK_TOKEN"],
master_key=os.environ["PASSWORK_MASTER_KEY"],
)
pw.update_item(item_id=os.environ["PW_ITEM_ID"],
password=os.environ["NEW_PASSWORD"])
PY
Вывод: для большинства сценариев ротации секретов не требуется сложный механизм динамических секретов. Простой скрипт и API Пассворка обеспечивают достаточный уровень автоматизации и безопасности.
Архитектурные сценарии внедрения
Выбор между Пассворком и Vault не всегда означает полную замену одного на другое. В зависимости от зрелости компании, требований к безопасности и существующей инфраструктуры возможны различные стратегии.
Чистый Пассворк
Этот сценарий предполагает использование Пассворка как единственного инструмента для управления всеми типами секретов.
Для кого: стартапы, средний, малый бизнес и даже крупные компании, которые начинают выстраивать процессы управления секретами с нуля или ищут простую замену разрозненным инструментам.
Преимущества: Максимальная простота, низкая стоимость, быстрое внедрение. Покрывает большинство потребностей в управлении статическими секретами и их интеграции в CI/CD.
Реализация: локальная установка на серверы компании, интеграция в DevOps-процессы через CLI и API.
Гибридный подход
Этот сценарий признает сильные стороны обоих продуктов и использует их для решения конкретных задач.
Vault используется для нишевых, высокоспециализированных задач:
PKI Engine — управление собственной инфраструктурой открытых ключей и массовый выпуск короткоживущих сертификатов.
Transit Engine — централизованный сервис для криптографических операций (шифрование как сервис).
Простая интеграция в CI/CD для большинства приложений
Преимущества: позволяет использовать мощные функции Vault там, где они действительно необходимы, избегая при этом его высокой стоимости и сложности для решения повседневных задач.
Миграционный подход
Для компаний, которые уже используют HashiCorp Vault, но он обходится слишком дорого или требует много усилий на поддержку, — можно плавно перейти на Пассворк.
Аудит и идентификация — проанализировать текущее использование Vault. Выделить сценарии, где его функциональность избыточна (например, хранение простых статических ключей).
Пилотный проект — внедрить Пассворк для одного или нескольких некритичных проектов. Перенести секреты из Vault в Пассворк и перенастроить CI/CD-пайплайны.
Поэтапная миграция — после успешного пилота постепенно переводить другие команды и проекты на Пассворк.
Оценка и решение — по итогам миграции принять решение: полностью отказаться от Vault в пользу Пассворка или перейти к гибридной модели, оставив Vault для специфических задач.
Этот подход позволяет минимизировать риски, распределить нагрузку по миграции и на практике оценить преимущества Пассворка в реальных условиях.
Заключение: когда выбирать Пассворк?
Выбор инструмента для управления секретами — стратегическое решение, которое влияет на безопасность, операционную эффективность и бюджет компании. HashiCorp Vault, без сомнения, мощное и функциональное решение, но его сложность и стоимость делают его оправданным лишь в узком круге сценариев.
Пассворк — оптимальный выбор для большинства компаний, которые ищут экономически эффективное и простое в использовании решение.
Выбирайте Пассворк, если:
Цените быструю окупаемость (ROI): Пассворк позволяет получить 90% необходимой функциональности за 20% от стоимости и сложности Vault.
Стремитесь к универсальности: вам нужен единый инструмент для управления паролями сотрудников и секретами для DevOps, с удобным интерфейсом для всех.
Предпочитаете простоту и предсказуемость: вы хотите избежать сложных настроек, длительного внедрения и непрозрачного ценообразования.
Ваша команда DevOps перегружена: вы хотите высвободить ресурсы инженеров от поддержки сложной инфраструктуры и направить их на решение бизнес-задач.
Безопасность для вас приоритет: архитектура Zero knowledge с клиентским шифрованием в Пассворке обеспечивает высочайший уровень защиты данных.
В то время как HashiCorp Vault остается решением для узкоспециализированных задач, таких как управление собственной PKI-инфраструктурой, Пассворк — стратегическая альтернатива для современного бизнеса, предлагающая идеальный баланс между функциональностью, стоимостью и простотой использования. Это решение, которое позволяет повысить безопасность и эффективность без лишних затрат.
Готовы проверить Пассворк на реальных задачах? Протестируйте Пассворк бесплатно с полным доступом ко всем функциям.
Управление секретами (secrets management) — это процесс централизованного хранения, управления и ротации конфиденциальных данных, которые приложения и сервисы используют для доступа к критически важным ресурсам. К таким секретам относятся пароли, SSH-ключи, API-ключи и ключи шифрования, токены доступа, сертификаты и любые другие параметры, обеспечивающие безопасность вашей инфраструктуры.
Почему это важно для бизнеса?
Безопасное централизованное хранение секретов. Все конфиденциальные данные хранятся в едином защищённом репозитории, что исключает риск их размещения в открытых файлах, скриптах или исходном коде и минимизирует вероятность несанкционированного доступа и утечек.
Гибкое управление доступом и делегирование прав. Система позволяет детально настраивать права доступа к каждому секрету на уровне пользователей, групп или сервисных аккаунтов, обеспечивая принцип минимальных привилегий (least privilege) и сокращая поверхность атаки за счёт ограничения доступа.
Аудит и мониторинг обращений к секретам. Все операции с секретами фиксируются: кто, когда и к чему обращался, какие изменения были внесены. Это облегчает соответствие требованиям регуляторов и прозрачность процессов безопасности.
Автоматизация ротации и обновления секретов. Регулярная автоматическая смена паролей, ключей и других секретов по заданному расписанию или при возникновении событий (например, компрометации) экономит время ИТ-специалистов.
Интеграция с DevOps-процессами и инфраструктурными компонентами. Секреты доступны через API, CLI, SDK и плагины, что позволяет интегрировать систему управления секретами с CI/CD пайплайнами, облачными сервисами, контейнерными платформами и базами данных.
Снижение рисков утечки и компрометации данных. Централизованный контроль и автоматизация процессов позволяют оперативно реагировать на инциденты, быстро отзывать и обновлять уязвимые секреты, предотвращая распространение угроз внутри корпоративной среды.
Без централизованного управления секреты часто оказываются в коде или файлах конфигураций, что резко повышает риск утечек и усложняет их ротацию. Корпоративные менеджеры паролей решают эту проблему, но не все из них поддерживают автоматизацию и программный доступ, необходимый для современных DevOps-процессов.
Пассворк: больше, чем менеджер паролей
Пассворк давно зарекомендовал себя как корпоративный менеджер паролей, но с выходом 7-й версии его возможности значительно расширились и вышли за рамки привычного «хранения паролей». Благодаря открытому API, Пассворк трансформировался в полноценную систему управления секретами.
Интерфейс API Пассворка обеспечивает программный доступ ко всем функциям веб-платформы: управлению паролями, сейфами, папками, пользователями и ролями, ярлыками, вложенными файлами, а также журналом событий. С помощью API можно автоматизировать процессы выдачи и отзыва прав доступа, обновления паролей, интеграции с CI/CD-процессами, а также экспортировать логи.
Другими словами, Пассворк теперь сочетает в себе два полноценных продукта и направления:
Менеджер паролей — удобный пользовательский интерфейс для безопасного хранения и совместного использования учётных данных внутри команды.
Система управления секретами — программный доступ для разработчиков и администраторов через REST-API, Python-коннектор, CLI и Docker-контейнер, позволяющие автоматизировать работу с секретами в скриптах, сервисах и DevOps-процессах.
Появление полноценного API выводит Пассворк на уровень специализированных систем управления секретами, таких как HashiCorp Vault. Теперь администраторы и разработчики могут использовать единое решение для хранения и управления паролями и секретами — нет необходимости поддерживать два разных продукта (отдельный менеджер паролей и отдельный Vault). При этом остаются привычные интерфейсы Пассворка: веб-клиент, мобильные приложения и браузерные расширения для пользователей, и мощный API — для разработчиков.
API как основа интеграции
API позволяет интегрировать Пассворк с внутренними системами компании, обеспечивая полный доступ ко всем функциям платформы. Всё, что можно выполнить через веб-интерфейс, доступно программно: создание, получение и обновление секретов, управление хранилищами, настройка пользователей и групп, работа с вложениями и просмотр журналов событий.
Для разработчиков и администраторов это означает максимальную гибкость: можно автоматически создавать сейфы для новых сотрудников, выполнять запланированную ротацию паролей сервисных учётных записей или интегрировать Пассворк с сервис-деском для выдачи временных доступов.
Инструменты для разработчиков и DevOps
Python-коннектор
Официальный Python-коннектор Пассворка избавляет разработчиков от необходимости погружаться в детали низкоуровневого взаимодействия с API и криптографией.
Ключевые преимущества:
Простота интеграции. Все базовые операции сведены к методам вроде create_item, get_item, create_vault, что избавляет от ручной работы с HTTP-запросами.
Безопасность на клиенте. Шифрование, расшифровка и работа с мастер-ключом выполняются в библиотеке, секреты защищены даже при работе с открытым API.
Управление сессиями. Коннектор автоматически сохраняет и восстанавливает токены, а также обновляет истекший accessToken через refreshToken.
Гибкость. Универсальный метод call() позволяет обращаться к любым эндпоинтам, даже если они не покрыты стандартными методами коннектора.
Для работы достаточно указать адрес сервера, установить токены и мастер-ключ, после чего можно создавать и получать секреты.
from passwork_client import PassworkClient
client = PassworkClient(host="https://passwork.example.com")
client.set_tokens("ACCESS_TOKEN", "REFRESH_TOKEN") # передаём токены
client.set_master_key("MASTER_KEY") # мастер-ключ для расшифровки
# создание хранилища и пароля
vault_id = client.create_vault(vault_name="DevOps", type_id="vault_id_type")
password_data = {
"Name": "Database PROD",
"vaultId": vault_id,
"title": "DB prod",
"login": "admin",
"password": "secure-password",
"url": "https://db.example.com"
}
password_id = client.create_item(password_data)
# получение и использование пароля
secret = client.get_item(password_id)
print(secret['password'])
Все криптографические операции выполняются локально, а мастер-ключ никогда не покидает вашу среду.
CLI-утилита
Passwork CLI — командная утилита для получения секретов и работы с API из shell-скриптов и CI/CD.
Режимы работы:
exec — извлекает секреты, создаёт для них переменные окружения и запускает указанный процесс. Пароли нигде не сохраняются и доступны только во время выполнения.
api — выполняет произвольные методы API и выводит ответ в JSON.
Полезно для:
Безопасного подключения к базам данных и сервисам — пароль подставляется через переменные окружения и не хранится на диске.
Автоматизации развёртывания и CI/CD — секреты автоматически подгружаются в пайплайне;
Администрирования серверов — временные переменные позволяют выполнять задачи от имени сервисных учётных записей;
Интеграции с DevOps-инструментами — легко сочетается с Ansible, Terraform и другими решениями.
Для аутентификации можно использовать флаги (--host, --token, --master-key) либо переменные окружения PASSWORK_HOST, PASSWORK_TOKEN и PASSWORK_MASTER_KEY.
Пример exec Резервное копирование PostgreSQL. CLI создаст переменную окружения PGPASSWORD и запустит pg_dump:
passwork-cli api --method GET --endpoint "v1/vaults"
CLI поддерживает фильтрацию по тегам и папкам, работу с пользовательскими полями, обновление токенов, временную деактивацию SSL-проверки (только для тестовой среды с флагом --no-ssl-verify).
Docker-контейнер
Для CI/CD подготовлен Docker-образ passwork/passwork-cli. Он содержит предустановленный CLI и запускается от непривилегированного пользователя.
Образ удобен в пайплайнах Bitbucket или GitLab — достаточно указать переменные окружения и выполнить команду passwork-cli exec. Можно использовать docker-compose и пробрасывать секреты другим контейнерам.
Использование секретов в приложениях
CLI передаёт секреты через переменные окружения. Это упрощает интеграцию: веб-приложение на Node.js получает пароль к базе данных без необходимости хранить его в коде или конфигурационных файлах.
CLI создаёт переменную DB_PASSWORD и запускает node server.js. Приложение читает пароль из process.env.DB_PASSWORD.
Аналогично можно передавать несколько секретов. Переменные окружения существуют только внутри процесса — после завершения они исчезают.
Автоматизация ротации паролей
Регулярная смена паролей снижает риск компрометации. Сценарий автоматизации с Python-коннектором:
Получить текущий пароль из Пассворка (get_item)
Сгенерировать новый пароль
Изменить пароль в базе данных (ALTER USER)
Обновить запись в Пассворке (update_item)
Уведомить команду о завершении
Псевдокод:
from passwork_client import PassworkClient
import secrets
import psycopg2
def rotate_db_password(passwork_host, accessToken, refreshToken, master_key, password_id, db_params):
client = PassworkClient(passwork_host)
client.set_tokens(accessToken, refreshToken)
client.set_master_key(master_key)
secret = client.get_item(password_id)
current_password = secret['password']
new_password = secrets.token_urlsafe(32)
conn = psycopg2.connect(
dbname=db_params['db'],
user=db_params['user'],
password=current_password,
host=db_params['host']
)
with conn.cursor() as cur:
cur.execute(f"ALTER USER {db_params['user']} WITH PASSWORD '{new_password}'")
conn.commit()
client.update_item(password_id, {"password": new_password})
print("Пароль успешно ротирован и обновлён в Пассворке")
Шифрование и модель Zero Knowledge
Пассворк реализует схему шифрования, соответствующую принципу Zero Knowledge: сервер никогда не видит секреты в открытом виде. Существует два уровня защиты:
Серверное шифрование — всё содержимое баз данных шифруется на сервере и защищено даже от администраторов.
Клиентское шифрование (client-side encryption, CSE) — можно включить для критичных данных: секреты шифруются на стороне клиента библиотеке клиента, на сервер отправляется только шифротекст. При включённом CSE пользователь вводит мастер-пароль, из него генерируется мастер-ключ, которым расшифровываются ключи сейфов и отдельных записей; благодаря этому даже компрометация сервера не раскрывает содержимое сейфов.
Если Пассворк развёрнут в изолированной сети, можно оставить лишь серверное шифрование. Важно помнить, что CSE стоит включать, если вы размещаете Пассворк в облаке или должны соответствовать строгим стандартам безопасности.
Авторизация и токены
API использует пару токенов — accessToken и refreshToken. Access-токен действует ограниченное время, refresh-токен позволяет получить новый access-токен без повторной аутентификации — Python-коннектор делает это автоматически.
Для безопасности рекомендуется:
Создавать отдельных пользователей для интеграций API и выдавать им только необходимые права (минимальные привилегии)
Назначать сервисным учёткам роль с доступом только к нужным сейфам и папкам
Регулярно ротировать токены и ограничивать срок их действия
Хранить токены в переменных окружения или секрет-хранилищах
Использовать HTTPS для всех запросов
Бизнес-кейсы
Сценарий
Цель/выгода
CI/CD и DevOps
Автоматическая подстановка секретов в пайплайны GitLab/Bitbucket/Jenkins. Нет секретов в репозиториях, централизованная ротация.
Онбординг/оффбординг
Создание сейфов и выдача временного доступа новым сотрудникам; отзыв прав и смена паролей при увольнении.
Микросервисы и контейнеры
Каждый сервис получает только нужные ему секреты через отдельную учётку. Масштабирование без копирования паролей.
Базы данных
Периодическая ротация паролей и ключей доступа; исключение статических паролей из конфигов.
Серверное администрирование
Скрипты Ansible или Terraform получают временные пароли через CLI, выполняют настройку и не сохраняют секреты.
Сервис-деск и временный доступ
API создаёт временные ссылки на пароли для подрядчиков; доступ автоматически отзывается.
Итоги
Пассворк эволюционировал из менеджера паролей в платформу управления секретами. Открытый API и сопровождающие инструменты (Python-коннектор, CLI и Docker-образ) позволяют получить программный доступ ко всем функциям и строить гибкую инфраструктуру, где секреты хранятся централизованно и выдаются по принципу минимальных привилегий.
Для администраторов — это удобное хранилище и инструмент автоматизации. Для разработчиков и DevOps — API и готовые решения для безопасной работы с конфиденциальными данными.
Пассворк может заменить отдельную систему Vault: теперь все пароли и сервисные секреты хранятся в одной системе с единым интерфейсом. Это снижает издержки на сопровождение, упрощает ротацию и делает безопасность понятной для IT-администраторов и разработчиков. Используя Пассворк в качестве менеджера секретов, компании получают простую и безопасную основу для своих приложений и сервисов.
Готовы попробовать и убедиться, насколько просто и безопасно можно управлять секретами?Протестируйте Пассворк бесплатно — оцените удобство контроля доступов и автоматизации работы с конфиденциальными данными.