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
jit — Trova i segreti in chiaro sul tuo Mac e spostali dietro Touch ID, iniettandoli al momento giusto senza rompere gli strumenti che li leggono. Gratuito e local-first. | Kitploit
Strumenti/GitHubGitHub/jitpass/jit
Autenticazione e AutorizzazioneStrumenti di Crittografia/DecrittografiaAudit di ConfigurazioneDevSecOpsRilevamento SegretiSicurezza della Supply Chain
GitHubjitpass/jit

jit

Trova i segreti in chiaro sul tuo Mac e spostali dietro Touch ID, iniettandoli al momento giusto senza rompere gli strumenti che li leggono. Gratuito e local-first.

Vedi Repository
144 giorni faNon ancora revisionato

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
Sito web

jitpass - password just-in-time

Credenziali just-in-time per la tua macchina di sviluppo.

Documentazione · Avvio rapido · Strumenti supportati · Riferimento comandi · Sicurezza

Stato: solo macOS (Apple Silicon), e ancora in fase di sviluppo.

Cos'è jit (in 30 secondi)

I tuoi segreti vivono in chiaro su tutta la macchina: file .env, ~/.aws/credentials, export in ~/.zshrc, token .npmrc, config MCP. Qualunque cosa giri con i tuoi permessi può leggerli. Un curl | sh sospetto, un npm install losco, o uno degli agenti AI che ora girano nel tuo editor con tutti i tuoi permessi.

jit sposta ogni segreto in un vault locale crittografato protetto da Touch ID, e riscrive i file così i tuoi strumenti continuano a funzionare. Su disco ora c'è un'esca. Il valore reale appare solo, in memoria, per il processo specifico che lo ha richiesto, dopo un prompt biometrico. Il risultato: sblocchi una volta, jit chiede prima di consegnare una credenziale a uno strumento (o a un agente), e c'è un'esca su disco per tutto il resto del tempo.

avviato da Codeavviato da claude
imageimage

Installazione

root@kitploit:~
brew install jitpass/tap/jitpass

Oppure senza Homebrew:

root@kitploit:~
curl -sL https://dl.jitpass.com/jitpass/jit/releases/latest/download/jitpass_darwin_arm64.tar.gz | tar -xz jit
sudo mv jit /usr/local/bin/

Solo Apple Silicon — su un Mac Intel, compila dal sorgente con go install github.com/jitpass/jit/cmd/jit@latest.

Scegli una sola strada. Se hai installato dal tarball prima e stai passando a Homebrew, rimuovi la vecchia copia dopo la brew install (sudo rm /usr/local/bin/jit); altrimenti due jit finiscono entrambi su PATH e si aggiornano separatamente, e jit doctor lo segnalerà.

Le release sono firmate con un Developer ID e notarizzate da Apple, quindi entrambe le strade funzionano senza prompt di Gatekeeper: Homebrew mette in quarantena i suoi download e Gatekeeper li verifica contro il ticket di notarizzazione, mentre curl (e go install) non impostano alcun flag di quarantena. Per verificare cosa hai ricevuto invece di credere sulla parola, esegui jit doctor — la sua riga jit riporta signed CZC6BH93GJ, usando lo stesso controllo che jit upgrade esegue prima di installare qualsiasi cosa.

Aggiornamento: brew upgrade jitpass, oppure jit upgrade — un self-update verificato (firma Developer-ID e checksum entrambi controllati prima della sostituzione, riavvia il servizio). In entrambi i casi il tuo vault non viene toccato.

Homebrew installa il completamento shell insieme al binario, quindi jit <TAB> completa sottocomandi, flag, percorsi del vault e nomi di strumenti avvolgibili subito. Se installato da tarball o da sorgente, aggiungilo da solo:

root@kitploit:~
echo 'source <(jit completion zsh)' >> ~/.zshrc && exec zsh

In ogni caso, jit doctor ti dice se il completamento non raggiunge la tua shell.

Come lo usi davvero

root@kitploit:~
jit scan                            # sola lettura. non modifica nessun file che scansiona, non stampa valori reali.
jit vault init                      # crea il vault (chiave master nel tuo portachiavi di login)
jit migrate --dry-run               # anteprima dell'intero piano di correzione su tutta la macchina
jit migrate                         # applicalo: mostra il piano, chiede [y/N], un Touch ID
jit migrate ~/code/myapp            # oppure correggi solo un progetto
jit run -- npm run dev              # esegui il tuo strumento; i valori reali vengono iniettati solo in quel processo

jit scan senza percorso scansiona l'intera home directory, quindi concedigli un attimo su una grande. Per andare dritti in un punto, puntalo su un percorso: jit scan ~/.aws.

Nel quotidiano è perlopiù jit run -- <cmd>. Per le CLI che portano il proprio token di login (gh, glab, stripe e altri) fai jit wrap gh una volta e poi continua a digitare gh come al solito per sempre.

Non sei sicuro se qualcosa richiede jit wrap, jit migrate o niente? Non devi saperlo. jit scan divide tutto ciò che trova in ciò che jit proteggerà (un solo comando — i wrap inclusi) e ciò che solo tu puoi correggere, e il semplice jit migrate esegue l'intero piano:

root@kitploit:~
$ jit scan
  I TUOI SEGRETI: 7 — 0 protetti da jit (0%)
  ▱▱▱▱▱▱▱▱▱▱  al 100%: un comando +71% · 2 segreti che solo tu puoi correggere +29%

  jit proteggerà questi — 5 segreti in 4 file, 0% → 71%
      → jit migrate
        ~/.zshrc            STRIPE_API_KEY, DB_PASSWORD
        ~/.config/gh/hosts.yml  token GitHub CLI · avvolge gh
        ...

  solo tu puoi proteggere questi — 2 segreti, 71% → 100%

    [ruota, poi elimina ogni copia]
    ! Una password di database di produzione in 2 file
      → ruotala ora, poi elimina ogni copia

(jit scan --full offre ancora il classico inventario per categoria con le severità, inclusa la sezione Token CLI avvolgibili.)

I tuoi strumenti di tutti i giorni

Migra la credenziale una volta, poi continua a usare lo strumento come hai sempre fatto.

root@kitploit:~
# AWS (e Terraform, e ogni SDK AWS)
jit migrate ~/.aws/credentials       # le chiavi finiscono nel vault; nessun file in chiaro rimasto
aws s3 ls                            # si risolve dal vault on demand. nessun prefisso, nessun flag.
terraform apply                      # stesse credenziali, stesso comando

# Credenziali default dell'applicazione GCP (una credenziale a livello di macchina)
jit migrate ~/.config/gcloud/application_default_credentials.json
terraform apply                      # il provider google legge ADC; funziona dopo un prompt Touch ID

# Docker / docker-compose
jit migrate ~/.docker/config.json    # i login dei registry finiscono nel vault
jit run -- docker compose up         # jit li inietta solo per questa esecuzione
docker login ghcr.io                 # funziona ancora; l'helper salva nel vault

# Export di shell che vivevano in ~/.zshrc
jit migrate ~/.zshrc                 # lascia un hook di una riga; le nuove shell hanno solo le variabili
./deploy.sh                          # gli script che leggono quelle variabili funzionano invariati

# Token che una volta digitavi al prompt, ora nella cronologia della tua shell
jit migrate ~/.zsh_history           # ognuno finisce nel vault; i tuoi comandi restano, i segreti no
jit guard history                    # e impedisci che il prossimo venga registrato del tutto (zsh)
                                     # (anche il semplice `jit migrate` lo propone, nel piano che ti chiede di confermare)

# Una CLI che porta il proprio token (gh, stripe, glab)
jit wrap gh                          # una volta sola
gh pr list                           # token iniettato a ogni chiamata, per sempre

La prima volta che ogni strumento cerca una credenziale reale, jit chiede una volta e ricorda la tua risposta finché il vault non si blocca. Vedi Due momenti Touch ID, non uno per come si inserisce sopra lo sblocco del vault, cosa fa --trust e come disattivare i prompt per singolo strumento.

Perché alcuni strumenti non richiedono configurazione mentre altri vogliono un jit run? Una regola: può lo strumento chiedere a jit il segreto da solo? AWS (tramite credential_process), la tua shell al login e i login dei registry docker (tramite un credential helper) possono, quindi non digiti nulla in più. Gli strumenti che leggono solo un file a runtime (docker compose, SDK semplici) non possono chiederlo, quindi jit run consegna loro il valore.

I file di credenziali globali della macchina (GCP ADC, sops, npm, netrc) funzionano allo stesso modo quotidiano: esegui il tuo strumento e approva il prompt per-processo. Aggiungi jit run --with <name> solo quando lo vuoi esplicito: per script e CI dove non c'è nessun prompt a cui rispondere, o quando vuoi un blocco rigido che la config di un progetto non può mai aggirare. Strumenti supportati elenca esattamente cosa digitare per ogni strumento e come viene consegnato ciascuno.

Due momenti Touch ID, non uno

jit chiede la tua impronta in due momenti diversi, facendo due lavori diversi:

  1. Sblocco del vault. La prima volta che usi jit dopo che si è bloccato, un Touch ID apre il vault per l'intera sessione (5 minuti di attività, poi si riblocca; e mai più di 8 ore, per quanto tu sia impegnato). Sblocchi una volta, non una volta per comando.
  2. Consegna di una credenziale a uno strumento. In aggiunta, la prima volta che un dato strumento cerca una credenziale reale, jit chiede prima di consegnarla e indica chi la sta chiedendo. Questo è ciò che impedisce a un programma che non hai avviato tu di usare silenziosamente le tue chiavi mentre il vault è aperto.
root@kitploit:~
$ aws s3 ls
  Touch ID  ->  sblocca il tuo vault              # gate 1: apre il vault per 5 min
  Touch ID  ->  aws vuole la tua credenziale aws   # gate 2: questo strumento, questa credenziale
  ...i tuoi bucket...

$ aws s3 cp ./file s3://bucket/   # stesso strumento, stessa sessione: nessun prompt

$ terraform apply
  Touch ID  ->  terraform vuole la tua credenziale aws   # uno strumento diverso: chiede per conto suo

Il gate 2 è ciò che impedisce a un vault sbloccato di essere un liberi tutti: anche dopo che hai usato aws tu stesso, un losco npm install che cerca quelle stesse chiavi fa comunque scattare un prompt che lo nomina, così puoi dire di no.

Non vuoi il secondo gate? Spegnilo; il blocco del vault resta (spegnere il gate richiede a sua volta un Touch ID, poiché riapre la finestra che chiude):

root@kitploit:~
jit service consent off   # gli strumenti risolvono silenziosamente mentre il vault è sbloccato
jit service consent on    # chiedi di nuovo per strumento (impostazione predefinita)

Avvii qualcosa che richiede più credenziali in una volta? jit run --trust -- terraform apply approva l'intera esecuzione degli strumenti con un solo gesto. Dettagli completi: consenso per-processo.

Ti allontani dalla tastiera? Approva il lavoro prima di andare

Entrambi i gate presuppongono che ci sia un umano a rispondere. Un agente AI che lavora di notte, un build lungo, un job programmato: lo schermo si blocca, la sessione cade e l'esecuzione si ferma su un prompt che nessuno vedrà. Una grant di processo sposta la tua decisione prima invece di rimuoverla — un Touch ID, dato mentre sei ancora lì, che nomina esattamente ciò che stai firmando:

root@kitploit:~
$ jit grant --process claude --profile jamf --for 8h
  Touch ID  ->  consenti a claude sotto iTerm2 di usare 2 segreti (jamf) senza supervisione per 8h
✓ concessa g-7f3a2c81   claude -> jamf   fino alle 17:42
  └ copre claude sotto iTerm2: 1 in esecuzione ora, qualsiasi avviato prima delle 17:42

Per le prossime 8 ore, ogni claude sotto il terminale in cui hai digitato il comando (e ciò che lancia) ottiene quei segreti senza prompt — attraverso il blocco schermo e tutto il resto, incluse le sessioni che avvii dopo: una nuova scheda, il successivo claude, uno script che parte alle 3 di notte. È il tuo terminale a essere nominato, non un nome di cui ci si fida: un programma che si chiama claude altrove sulla macchina non discende da quell'albero e non eredita nulla. La grant termina alla sua scadenza, quando chiudi quel terminale, o nel momento in cui digiti jit grant revoke (che non richiede impronta — togliere l'accesso è sempre gratuito). Vuoi invece un singolo processo preciso, sparito quando esce? --pid. Ogni concessione finisce nell'audit trail come evento a sé, così la mattina dopo puoi leggere esattamente cosa il tuo agente ha toccato mentre dormivi. Dettagli completi: grant di processo.

L'audit trail: cosa è successo e chi l'ha fatto

Ogni comando jit e ogni sblocco finiscono in un log durevole che rileggi con jit audit, dal più recente, una riga key=value per evento, quindi si gira con grep come un vero log di servizio. Gli argomenti dei comandi sono mascherati, quindi il log dimostra che un comando è stato eseguito senza mai memorizzare il segreto che trasportava.

root@kitploit:~
$ jit audit --since 1h
time=2026-07-24 10:15:04 level=info kind=cmd status=ok dur=312ms cmd="jit migrate ~/.aws/credentials" user=meni parent=claude
time=2026-07-24 10:16:22 level=info kind=use op="read a secret" cmd="aws s3 ls" parent=claude secrets=aws/default
time=2026-07-24 10:31:09 level=warn kind=unlock status=denied method=touchid-or-passcode cmd="node postinstall.js" parent=npm secrets=aws/default

La riga di mezzo è la storia per cui jit esiste: aws/default è stato letto da aws s3 ls, avviato da claude. L'ultima è un prompt che hai rifiutato: un node postinstall.js sotto npm che cercava quelle stesse chiavi, respinto. jit registra anche ciò che il servizio ha respinto al suo socket (un processo che il kernel dice non essere tuo, che sonda l'agente) come kind=error.

Restringi con i flag invece del grep: --kind, --status ok|failed|denied, --since/--until (un'età come 2h/3d o una data), --parent claude, --secret aws, --user, --grep <regexp>. Aggiungi --follow (-f) per lo streaming di nuovi eventi in tempo reale come tail -f, oppure --format json per un dump parsbile dalla macchina. Entrambe le parti sono file durevoli accanto al vault, quindi risponde per la settimana scorsa con la stessa facilità dell'ultima ora.

Cosa supporta

File .env, export di shell, AWS e Terraform, kubeconfig, login dei registry Docker, GCP ADC, token .npmrc / .netrc, config dei server MCP, file di token nudi, credenziali registrate nella cronologia della tua shell, CLI avvolgibili (gh, stripe, vercel, …) e CLI SSO che coniano credenziali al login (clisso). In ogni caso il file continua a funzionare e il valore reale arriva dal vault on demand.

Il catalogo completo, raggruppato per esattamente cosa digitare per ogni strumento, è Strumenti supportati: segue il codice man mano che gli strumenti vengono aggiunti o rimossi. Qualunque cosa non elencata può comunque essere avvolta con jit wrap add.

Posso annullare? Sempre.

jit non distrugge mai una credenziale. Migrate sposta il valore nel vault e lascia un hook funzionante dove stava (un .env esca, una riga eval "$(jit export)" nella tua config di shell, credential_process = jit … in ~/.aws/config, o uno shim PATH), così i tuoi strumenti continuano a risolverla on demand. La credenziale esiste ancora, solo crittografata invece di stare in chiaro.

E ogni modifica è reversibile. Prima di toccare un file, jit ne fa un backup crittografato nel vault, quindi jit migrate undo lo rimette a posto byte per byte:

root@kitploit:~
jit migrate ~/code/myapp        # correzione applicata, un Touch ID
# hai cambiato idea, o qualcosa si è rotto?
jit migrate undo ~/code/myapp   # ogni file toccato ripristinato, byte per byte

Scopri di più

La documentazione vive sotto docs/, organizzata per attività:

  • Avvio rapido: configurazione, migrazione, convivere con la correzione, passo dopo passo
  • Come funziona: il vault, il servizio, i mount e gli shim in una pagina
  • FAQ: domande da sviluppatore e di sicurezza, risposte senza giri di parole
  • Consenso per-processo: cosa fanno i prompt per singolo strumento e come regolarli o spegnerli
  • Grant di processo: pre-approva uno strumento in esecuzione per lavorare senza supervisione per una finestra limitata, revocabile e auditata
  • Audit trail: rileggi ogni comando, sblocco e rifiuto, filtrabile e seguibile
  • Riferimento comandi: ogni comando e flag, generato dalla CLI
  • Architettura di sicurezza: il modello di minaccia e i limiti onesti
  • CONTRIBUTING.md: setup di build/test; firma tramite DCO (git commit -s), niente CLA

Licenza

PolyForm Perimeter License 1.0.0 - gratuita solo per uso personale e interno aziendale.

Scarica lo strumento