Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
teller — Облачное управление секретами для разработчиков — никогда не покидайте командную строку ради секретов. | Kitploit
Инструменты/GitHubGitHub/tellerops/teller
Безопасность облачной инфраструктурыАнализ КодаБезопасность облачных средDevSecOpsОбнаружение СекретовТоп в Обнаружение Секретов №8
GitHubtellerops/teller

teller

Облачное управление секретами для разработчиков — никогда не покидайте командную строку ради секретов.

Репозиторий
3.2k202408 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться






:computer: Never leave your terminal for secrets
:pager: Create easy and clean workflows for working with cloud environments
:mag_right: Scan for secrets and fight secret sprawl


Teller — универсальный менеджер секретов с открытым исходным кодом для разработчиков

Никогда не покидайте свой терминал, чтобы использовать секреты при разработке, тестировании и сборке приложений.

Вместо собственных скриптов, токенов в файлах .zshrc, видимых EXPORT в вашей истории bash, неуместных файлов .env.production и прочего на вашей рабочей станции — просто используйте teller и подключите его к любому хранилищу секретов, ключей или облачному сервису, который вам нравится (Teller поддерживает Hashicorp Vault, AWS Secrets Manager, Google Secret Manager и многие другие).

Вы можете использовать Teller, чтобы привести в порядок собственное окружение или внедрить его в команде как процесс и лучшую практику.

Быстрый старт с teller

Скачать бинарный файл Скачайте бинарный файл из релизов

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

Это установит бинарный файл локально на вашей машине:

$ cd teller-cli
$ cargo install --path .

Создание новой конфигурации

$ teller new
? Select your secret providers ›
⬚ hashicorp_consul
⬚ aws_secretsmanager
⬚ ssm
⬚ dotenv
⬚ hashicorp
⬚ google_secretmanager

Затем отредактируйте вновь созданный .teller.yml, чтобы задать карты (maps) и ключи, необходимые для ваших провайдеров.

Знакомство с teller.yml

Файл YAML Teller описывает ваши провайдеры, и внутри каждого провайдера находится map, который описывает:

  • Каков корневой путь для получения пар ключ-значение
  • Для каждой такой карты — её уникальный id, который пригодится вам для операций в дальнейшем
  • Для каждой карты — необязательное сопоставление конкретных имён ключей; вы можете переименовывать ключи, получаемые от исходного провайдера

Вот пример файла конфигурации. Обратите внимание, что он также включает шаблонные конструкции — например, получение переменных окружения при загрузке конфигурации:

providers:
  hashi_1:
    kind: hashicorp
    maps:
      - id: test-load
        path: /{{ get_env(name="TEST_LOAD_1", default="test") }}/users/user1
        # if empty, map everything
        # == means map to same key name
        # otherwise key on left becomes right
        # in the future: key_transform: camelize, snake_case for automapping the keys
        keys:
          GITHUB_TOKEN: ==
          mg: FOO_BAR
  dot_1:
    kind: dotenv
    maps:
      - id: stg
        path: VAR_{{ get_env(name="STAGE", default="development") }}

Теперь вы можете обращаться к этим провайдерам как к hashi_1 или dot_1. По умолчанию Teller получает указанные данные от всех провайдеров.

Возможности

🏃 Запуск подпроцессов

Вручную экспортируете и настраиваете переменные окружения для запуска процесса с демонстрационной или боевой конфигурацией?

Обжигались на использовании .env.production и его раскрытии прямо в локальном проекте?

Используя teller и файл .teller.yml, который ничего не раскрывает чужим глазам, вы можете работать легко и бесшовно, без какого-либо риска и без необходимости в кавычках:

$ teller run --reset --shell -- node index.js

🔎 Просмотр переменных

Эта команда выведет текущие переменные, которые подхватывает teller. Разумеется, от каждой переменной будут показаны только первые 2 буквы.

$ teller show

📺 Наполнение локальной оболочки

Зашифровываете секреты прямо в скриптах оболочки и dot-файлах?

В некоторых случаях имеет смысл выполнять eval переменных в текущей оболочке. Например, в вашем .zshrc гораздо разумнее использовать teller, а не хардкодить всё это прямо в сам файл .zshrc.

В этом случае вам нужно добавить следующее:

eval "$(teller sh)"

🐳 Простое окружение Docker

Устали собирать всевозможные переменные, настраивать их и переживать, что они также появятся в истории вашей оболочки?

Используйте эту однострочную команду отныне:

$ docker run --rm -it --env-file <(teller env) alpine sh

⚠️ Поиск секретов

Teller может помочь вам бороться с расползанием секретов и захардкоженными секретами, а также стать лучшим инструментом продуктивности для работы с вашим хранилищем.

Он также может интегрироваться в ваш CI и служить инструментом безопасности shift-left для вашего пайплайна DevSecOps.

Ищите секреты, хранящиеся в вашем хранилище, в своём коде с помощью команды:

$ teller scan

Вы можете запускать его как линтер в вашем CI следующим образом:

run: teller scan --error-if-found

Он прервёт вашу сборку, если что-то найдёт (возвращает код выхода 1).

Вы также можете экспортировать результаты в JSON с помощью --json и сканировать бинарные файлы с помощью -b.

♻️ Затирание секретов в выводе процессов, логах и файлах

Вы можете использовать teller как инструмент редактирования/затирания по всей вашей инфраструктуре, запускать процессы с затиранием их вывода, а также очищать логи и живые хвосты логов.

Направьте вывод любого процесса, tail или логи в teller, чтобы затирать их в реальном времени:

$ cat some.log | teller redact

Это также должно работать с tail -f:

$ tail -f /var/log/apache.log | teller redact

Наконец, если у вас есть файлы, которые нужно затереть, вы можете сделать и это:

$ teller redact --in dirty.csv --out clean.csv

Если опустить --in, Teller будет читать из stdin, а если опустить --out, Teller выведет результат в stdout.

📜 Заполнение шаблонов

Вы можете заполнять собственные шаблоны:

$ teller template --in config-templ.t

Формат шаблонов — Tera, который очень похож на Liquid или Handlebars.

Вот пример шаблона:

production_var: {{ key(name="PRINT_NAME")}}
production_mood: {{ key(name="PRINT_MOOD")}}

🔄 Копирование/синхронизация данных между провайдерами

В тех случаях, когда вы хотите выполнить синхронизацию между провайдерами, вы можете сделать это с помощью teller copy.

Синхронизация по конкретному ключу карты

Вы можете использовать формат <имя провайдера>/<идентификатор карты>, чтобы скопировать карту от одного провайдера к другому:

$ teller copy --from source/dev --to target/prod,<...>

В этом упрощённом примере мы используем следующий файл конфигурации

providers:
  dot1:
    kind: dotenv
    maps:
      - id: one
        path: one.env
  dot2:
    kind: dotenv
    maps:
      - id: two
        path: two.env

Это позволит:

  1. Забрать все сопоставленные значения из исходной карты
  2. Для каждого целевого провайдера найти соответствующую карту и скопировать в неё значения из исходной

По умолчанию копирование обновляет целевую карту (выполняет upsert); если вы хотите заменить значения, используйте --replace.

🚲 Запись и множественная запись в провайдеры

Провайдеры Teller поддерживают сценарии записи, позволяющие записывать значения в провайдеры.

Помните, что эта возможность по-прежнему опирается на определения в вашем файле teller.yml:

Скачать инструмент