Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
teller — Gerenciamento de segredos nativo da nuvem para desenvolvedores — nunca saia da sua linha de comando para lidar com segredos. | Kitploit
Ferramentas/GitHubGitHub/tellerops/teller
Segurança de Infraestrutura em NuvemAnálise de CódigoSegurança na NuvemDevSecOpsDetecção de Segredos
GitHubtellerops/teller

teller

Gerenciamento de segredos nativo da nuvem para desenvolvedores — nunca saia da sua linha de comando para lidar com segredos.

Ver Repositório
3.2k201há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar






:computer: Nunca saia do seu terminal para usar segredos
:pager: Crie fluxos de trabalho fáceis e limpos para trabalhar com ambientes de nuvem
:mag_right: Digitalize em busca de segredos e combata a proliferação de segredos


Teller - o gerenciador universal de segredos de código aberto para desenvolvedores

Nunca saia do seu terminal para usar segredos ao desenvolver, testar e compilar seus aplicativos.

Em vez de scripts personalizados, tokens nos seus arquivos .zshrc, EXPORTs visíveis no seu histórico do bash, arquivos .env.production fora do lugar e mais coisas pela sua estação de trabalho -- basta usar o teller e conectá-lo a qualquer cofre, armazenamento de chaves ou serviço de nuvem que você quiser (o Teller suporta Hashicorp Vault, AWS Secrets Manager, Google Secret Manager e muitos outros).

Você pode usar o Teller para organizar seu próprio ambiente ou, para sua equipe, como um processo e uma melhor prática.

Início Rápido com teller

Baixe um binário Pegue um binário nas releases

Compile a partir do código-fonte Usar este método permitirá que você examine o código-fonte, revise-o e compile uma cópia você mesmo.

Isso instalará o binário localmente na sua máquina:

root@kitploit:~
$ cd teller-cli
$ cargo install --path .

Crie uma nova configuração

root@kitploit:~
$ teller new
? Select your secret providers ›
⬚ hashicorp_consul
⬚ aws_secretsmanager
⬚ ssm
⬚ dotenv
⬚ hashicorp
⬚ google_secretmanager

Em seguida, edite o .teller.yml recém-criado para definir os mapas e as chaves de que você precisa para seus provedores.

Uma olhada no teller.yml

O YAML do teller descreve seus provedores e, dentro de cada provedor, um map que descreve:

  • Qual é o caminho raiz de onde buscar pares de chave-valor
  • Para cada um desses mapas, seu id exclusivo, que servirá para operações futuras
  • Para cada mapa, um mapeamento opcional de nomes de chaves específicos - você pode renomear chaves que serão buscadas no provedor de origem

Aqui está um exemplo de arquivo de configuração. Observe que ele também inclui construções de templating -- como buscar variáveis de ambiente ao carregar a configuração:

root@kitploit:~
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") }}

Agora você pode se referir a esses provedores como hashi_1 ou dot_1. O Teller busca os dados especificados de todos os provedores por padrão.

Funcionalidades

🏃 Executando subprocessos

Exportar e configurar manualmente variáveis de ambiente para executar um processo com uma configuração semelhante a demo / produção?

Já foi prejudicado por usar .env.production e expô-lo no próprio projeto local?

Usando o teller e um arquivo .teller.yml que não expõe nada a olhos curiosos, você pode trabalhar com fluidez e sem interrupções, com zero risco e sem precisar de aspas:

root@kitploit:~
$ teller run --reset --shell -- node index.js

🔎 Inspecionando variáveis

Isso exibirá as variáveis atuais que o teller capta. Apenas as 2 primeiras letras de cada uma serão mostradas, é claro.

root@kitploit:~
$ teller show

📺 Preenchimento do shell local

Cansado de codificar segredos diretamente nos seus scripts de shell e dotfiles?

Em alguns casos, faz sentido usar eval para carregar variáveis no shell atual. Por exemplo, no seu .zshrc faz muito mais sentido usar o teller do que codificar todas essas variáveis diretamente no próprio arquivo .zshrc.

Nesse caso, é isto que você deve adicionar:

root@kitploit:~
eval "$(teller sh)"

🐳 Ambiente Docker fácil

Cansado de coletar todos os tipos de variáveis, configurá-las e ainda preocupado com elas aparecerem no seu histórico do shell?

Use este comando de uma linha a partir de agora:

root@kitploit:~
$ docker run --rm -it --env-file <(teller env) alpine sh

⚠️ Digitalize em busca de segredos

O Teller pode ajudar você a combater a proliferação de segredos e segredos codificados, além de ser a melhor ferramenta de produtividade para trabalhar com seu cofre.

Ele também pode ser integrado ao seu CI e servir como uma ferramenta de segurança shift-left para seu pipeline de DevSecOps.

Procure por segredos guardados no seu cofre dentro do seu código executando:

root@kitploit:~
$ teller scan

Você pode executá-lo como um linter no seu CI da seguinte forma:

root@kitploit:~
run: teller scan --error-if-found

Ele interromperá seu build se encontrar algo (retorna o código de saída 1).

Você também pode exportar resultados como JSON com --json e verificar arquivos binários com -b.

♻️ Oculte segredos de saídas de processos, logs e arquivos

Você pode usar o teller como uma ferramenta de ocultação de dados (redaction) em toda a sua infraestrutura, executar processos enquanto oculta suas saídas e também limpar logs e acompanhamentos de logs em tempo real (tails).

Envie via pipe qualquer saída de processo, tail ou logs para o teller para ocultá-los ao vivo:

root@kitploit:~
$ cat some.log | teller redact

Também deve funcionar com tail -f:

root@kitploit:~
$ tail -f /var/log/apache.log | teller redact

Por fim, se você tiver alguns arquivos que deseja ocultar, também pode fazer isso:

root@kitploit:~
$ teller redact --in dirty.csv --out clean.csv

Se você omitir --in, o Teller usará stdin; e se omitir --out, o Teller enviará a saída para stdout.

📜 Preencher modelos

Você pode preencher modelos personalizados:

root@kitploit:~
$ teller template --in config-templ.t

O formato do modelo é Tera, que é muito semelhante a Liquid ou Handlebars.

Aqui está um exemplo de modelo:

root@kitploit:~
production_var: {{ key(name="PRINT_NAME")}}
production_mood: {{ key(name="PRINT_MOOD")}}

🔄 Copiar/sincronizar dados entre provedores

Nos casos em que você quiser sincronizar entre provedores, pode fazer isso com teller copy.

Sincronização específica de mapeamento de chaves

Você pode usar o formato <provider name>/<map id> para copiar um mapeamento de um provedor para outro:

root@kitploit:~
$ teller copy --from source/dev --to target/prod,<...>

Neste exemplo simplista, usamos o seguinte arquivo de configuração

root@kitploit:~
providers:
  dot1:
    kind: dotenv
    maps:
      - id: one
        path: one.env
  dot2:
    kind: dotenv
    maps:
      - id: two
        path: two.env

Isso irá:

  1. Obter todos os valores mapeados do mapeamento de origem
  2. Para cada provedor de destino, encontrar o mapeamento correspondente e copiar os valores da origem para ele

Por padrão, a cópia atualiza o mapeamento de destino (faz upsert dos dados); se você quiser substituir, use --replace.

🚲 Escrever e multi-escrever em provedores

Os provedores do Teller suportam casos de uso de escrita, que permitem gravar valores em provedores.

Lembre-se de que esse recurso ainda gira em torno das definições no seu arquivo teller.yml:

root@kitploit:~
$ teller put --providers new --map-id one NEW_VAR=s33kret

Neste exemplo, esta configuração está sendo usada:

root@kitploit:~
providers:
  new:
    kind: dotenv
    maps:
      - id: one
        path: new.env

Algumas observações:

  • Valores são pares chave-valor no formato: key=value e você pode especificar vários pares de uma vez
  • Ao especificar um valor sensível literal, certifique-se de usar uma variável de ambiente (ENV) para que nada sensível seja registrado no seu histórico
  • A flag --providers permite que você envie para um ou mais provedores de uma só vez

❌ Excluir e multi-excluir de provedores

Os provedores do Teller suportam a exclusão de valores de provedores.

root@kitploit:~
$ teller delete --providers new --map-id one DELETE_ME

Algumas observações:

  • Você pode especificar várias chaves para excluir, por exemplo:
  • A flag --providers permite que você envie para um ou mais provedores de uma só vez

YAML Exportar no formato YAML

XXX TODO: reescrever como funciona a exportação do comando

Você pode exportar em um formato YAML, adequado para o GCloud:

root@kitploit:~
$ teller export yaml

Formato de exemplo:

root@kitploit:~
FOO: "1"
KEY: VALUE

JSON Exportar no formato JSON

Você pode exportar em um formato JSON, adequado para usar com jq via pipe ou outros fluxos de trabalho:

root@kitploit:~
$ teller export json

Formato de exemplo:

root@kitploit:~
{
  "FOO": "1"
}

Provedores

Você pode obter uma lista dos provedores e seus valores de configuração descritos na documentação.

Lista de verificação de testes:

  • docker no windows: se você tiver um teste baseado em contêiner que use Docker, certifique-se de excluí-lo no Windows usando #[cfg(not(windows))]

  • semântica de recursos: ao construir provedores, alinhe-se com a semântica de vazio e não encontrado como duas semânticas diferentes: se um provedor suportar uma semântica explícita de "não encontrado" (404, NotFound, etc.), use Error::NotFound. Caso contrário, quando um provedor sinalizar uma semântica de "não encontrado" como um conjunto de dados vazio, retorne um KV[] vazio (ou seja, não traduza uma semântica de "vazio" para "não encontrado").

Testes

Os testes são feitos com:

root@kitploit:~
$ cargo test --all --all-features

E requer Docker (ou equivalente) na sua máquina.

Agradecimentos:

A todos os Contribuidores - vocês fazem isso acontecer, obrigado!

Código de conduta

O Teller segue o Código de Conduta do CNCF

Direitos autorais

Copyright (c) 2024 @jondot. Consulte o LICENSE para obter mais detalhes.

Baixar ferramenta