Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
teller — Gestione dei segreti cloud native per sviluppatori - non lasciare mai la tua riga di comando per i segreti. | Kitploit
Strumenti/GitHubGitHub/tellerops/teller
Sicurezza dell'Infrastruttura CloudAnalisi del CodiceSicurezza CloudDevSecOpsRilevamento Segreti
GitHubtellerops/teller

teller

Gestione dei segreti cloud native per sviluppatori - non lasciare mai la tua riga di comando per i segreti.

Vedi Repository
3.2k2016 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi






:computer: Non lasciare mai il tuo terminale per i segreti
:pager: Crea flussi di lavoro semplici e puliti per lavorare con ambienti cloud
:mag_right: Scansiona i segreti e combatti la proliferazione dei segreti


Teller - il gestore universale di segreti open-source per sviluppatori

Non lasciare mai il tuo terminale per usare segreti mentre sviluppi, testi e compili le tue app.

Invece di script personalizzati, token nei file .zshrc, EXPORT visibili nella cronologia di bash, file .env.production fuori posto e altro sparsi per la tua workstation — usa semplicemente teller e collegalo a qualsiasi vault, key store o servizio cloud desideri (Teller supporta Hashicorp Vault, AWS Secrets Manager, Google Secret Manager e molti altri).

Puoi usare Teller per riordinare il tuo ambiente personale o per il tuo team come processo e buona pratica.

Avvio rapido con teller

Scarica un binario Scarica un binario dalle release

Compilare dal sorgente Questo metodo ti permetterà di dare un'occhiata al codice sorgente, revisionarlo e compilarne una copia tu stesso.

Questo installerà il binario localmente sulla tua macchina:

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

Crea una nuova configurazione

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

Quindi, modifica il file .teller.yml appena creato per impostare le mappe e le chiavi che ti servono per i tuoi provider.

Uno sguardo a teller.yml

Il file YAML di teller descrive i tuoi provider e, all'interno di ogni provider, una map che descrive:

  • Qual è il percorso radice da cui recuperare le coppie chiave-valore
  • Per ciascuna di queste mappe, il suo id univoco che ti servirà per le operazioni successive
  • Per ogni mappa, una mappatura opzionale specifica del nome della chiave: puoi rinominare le chiavi che recupererai dal provider di origine

Ecco un esempio di file di configurazione. Nota che include anche costrutti di templating, come il recupero di variabili d'ambiente durante il caricamento della configurazione:

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") }}

Ora puoi riferirti a questi provider come hashi_1 o dot_1. Teller recupera i dati specificati da tutti i provider per impostazione predefinita.

Funzionalità

🏃 Esecuzione di sottoprocessi

Stufo di esportare e impostare manualmente le variabili d'ambiente per eseguire un processo con una configurazione simile a demo/produzione?

Sei stato scottato dall'usare .env.production e dall'esporlo nel progetto locale stesso?

Usando teller e un file .teller.yml che non espone nulla a occhi indiscreti, puoi lavorare in modo fluido e senza interruzioni con zero rischi, e senza bisogno di virgolette:

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

🔎 Ispezione delle variabili

Questo mostrerà le variabili correnti che teller rileva. Ovviamente, di ciascuna verranno mostrate solo le prime 2 lettere.

root@kitploit:~
$ teller show

📺 Popolamento della shell locale

Stanco di hardcodare segreti nei tuoi script di shell e dotfile?

In alcuni casi ha senso valutare le variabili nella shell corrente. Ad esempio nel tuo .zshrc ha molto più senso usare teller piuttosto che hardcodarle tutte nel file .zshrc stesso.

In questo caso, ecco cosa dovresti aggiungere:

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

🐳 Ambiente Docker semplice

Stanco di recuperare tutti i tipi di variabili, configurarle e preoccuparti che finiscano anche nella cronologia della tua shell?

Usa questa one-liner d'ora in poi:

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

⚠️ Scansione dei segreti

Teller può aiutarti a combattere la proliferazione dei segreti e i segreti hardcoded, oltre a essere il miglior strumento di produttività per lavorare con il tuo vault.

Può anche integrarsi nella tua CI e fungere da strumento di sicurezza shift-left per la tua pipeline DevSecOps.

Cerca i segreti conservati nel vault all'interno del tuo codice eseguendo:

root@kitploit:~
$ teller scan

Puoi eseguirlo come linter nella tua CI in questo modo:

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

Interromperà la build se trova qualcosa (restituisce il codice di uscita 1).

Puoi anche esportare i risultati come JSON con --json e scansionare file binari con -b.

♻️ Oscuramento dei segreti da output di processi, log e file

Puoi usare teller come strumento di oscuramento nella tua infrastruttura, eseguire processi oscurando il loro output e anche ripulire log e tail live dei log.

Inoltra tramite pipe qualsiasi output di processo, tail o log a teller per oscurarli in tempo reale:

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

Dovrebbe funzionare anche con tail -f:

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

Infine, se hai dei file da oscurare, puoi farlo anche con:

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

Se ometti --in, Teller userà stdin, e se ometti --out, Teller invierà l'output a stdout.

📜 Popolamento dei template

Puoi popolare template personalizzati:

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

Il formato dei template è Tera, molto simile a Liquid o Handlebars.

Ecco un esempio di template:

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

🔄 Copia/sincronizza i dati tra provider

Nei casi in cui vuoi sincronizzare tra provider, puoi farlo con teller copy.

Sincronizzazione di chiavi di una mappatura specifica

Puoi usare il formato <provider name>/<map id> per copiare una mappatura da un provider a un altro:

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

In questo semplice esempio, usiamo il seguente file di configurazione

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

Questo:

  1. Recupera tutti i valori mappati dalla mappatura sorgente
  2. Per ogni provider di destinazione, trova la mappatura corrispondente e copia i valori dalla sorgente al suo interno

Per impostazione predefinita, la copia aggiorna la mappatura di destinazione (upsert dei dati); se vuoi sostituire, puoi usare --replace.

🚲 Scrittura e multi-scrittura sui provider

I provider di Teller supportano casi d'uso di scrittura che consentono di scrivere valori nei provider.

Ricorda, questa funzionalità ruota comunque attorno alle definizioni nel tuo file teller.yml:

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

In questo esempio viene utilizzata questa configurazione:

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

Alcune note:

  • I valori sono coppie chiave-valore nel formato: key=value e puoi specificare più coppie contemporaneamente
  • Quando specifichi un valore sensibile letterale, assicurati di usare una variabile ENV così che nulla di sensibile venga registrato nella tua cronologia
  • Il flag --providers ti consente di inviare a uno o più provider contemporaneamente

❌ Eliminazione e multi-eliminazione dai provider

I provider di Teller supportano l'eliminazione di valori dai provider.

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

Alcune note:

  • Puoi specificare più chiavi da eliminare, ad esempio:
  • Il flag --providers ti consente di inviare a uno o più provider contemporaneamente

YAML Esportazione in formato YAML

XXX TODO: riscrivere come funziona il comando export

Puoi esportare in un formato YAML, adatto a GCloud:

root@kitploit:~
$ teller export yaml

Formato di esempio:

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

JSON Esportazione in formato JSON

Puoi esportare in un formato JSON, adatto per essere passato tramite pipe a jq o ad altri workflow:

root@kitploit:~
$ teller export json

Formato di esempio:

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

Provider

Puoi ottenere un elenco dei provider e dei relativi valori di configurazione descritti nella documentazione.

Checklist di test:

  • docker su Windows: se hai un test basato su container che usa Docker, assicurati di escluderlo su Windows usando #[cfg(not(windows))]

  • semantica delle risorse: durante la creazione dei provider, allineati alla semantica di empty e not found come due semantiche distinte: se un provider supporta una semantica esplicita di "not found" (404, NotFound, ecc.), usa Error::NotFound. Altrimenti, quando un provider segnala una semantica "not found" come un insieme di dati vuoto, restituisci un KV[] vuoto (cioè non tradurre una semantica di "empty" in "not found").

Testing

I test vengono eseguiti con:

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

E richiede Docker (o equivalente) sulla tua macchina.

Ringraziamenti:

A tutti i Contributori - siete voi a rendere tutto questo possibile, grazie!

Codice di condotta

Teller segue il Codice di condotta CNCF

Copyright

Copyright (c) 2024 @jondot. Vedi LICENSE per ulteriori dettagli.

Scarica lo strumento