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
leakish — Rilevatore di fughe di privacy nel browser — otto moduli di rilevamento, punteggio di rischio e cronologia per account, tutto nel tuo browser. | Kitploit
Strumenti/GitHubGitHub/qruiqai/leakish
OSINT (Open Source Intelligence)Mappatura della ReteAnalisi delle VulnerabilitàRaccolta InformazioniSicurezza WebPrivacyApprendimento e FormazioneSicurezza delle APIAnalisi DNSRilevamento di Anomalie
GitHubqruiqai/leakish

leakish

712 mesi 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

Rilevatore di fughe di privacy nel browser — otto moduli di rilevamento, punteggio di rischio e cronologia per account, tutto nel tuo browser.

Vedi RepositorySito web

Leakish

Rilevatore di fughe di privacy del browser — otto moduli di rilevamento, punteggio di rischio e cronologia per account, tutto nel tuo browser.

Built with Verdent Next.js 14 React 18 TypeScript 5 Prisma

Costruito con Verdent — un assistente di codifica agentico. Ogni modulo di rilevamento, la dashboard di analisi, il flusso di autenticazione con chiave API, l'interfaccia bilingue e l'immagine Docker pronta per Kubernetes sono stati progettati e implementati in sessioni di pair programming guidate da Verdent.


Cosa è

Apri un URL, clicca Esegui tutto, e in pochi secondi Leakish ti dice cosa il tuo browser sta rivelando su di te e la tua rete — tramite WebRTC, API di fingerprinting, DNS e un probe lato server. Otto moduli indipendenti producono ciascuno un risultato tipizzato + segnali di rischio, un punteggio aggregato (0–100) e un livello (safe / warning / critical). Gli utenti autenticati possono salvare le scansioni in MySQL, sfogliare la cronologia e aprire una dashboard analitica che mostra grafici di distribuzione, ripetizione di hash di fingerprint, timeline IP / ASN, scansioni anomale e un confronto a coppie. Tutto il resto (il rilevatore stesso) funziona senza account — chiunque può atterrare su /app ed eseguire una scansione.

Moduli di rilevamento

Ogni modulo è registrato attraverso una singola interfaccia tipizzata DetectionModule<T> e viene eseguito in isolamento — un modulo che genera un'eccezione non influenza gli altri. Lo stato di abilitazione per modulo è persistito in localStorage con una chiave di versione, sopravvive all'aggiornamento e il pulsante Esegui tutto processa solo l'insieme abilitato.

Caratteristiche

  • Rilevamento nel browser — ogni modulo viene eseguito nella scheda dell'utente. Il server è coinvolto solo quando (a) l'utente è autenticato e salva una scansione, (b) il modulo network-probe contatta /api/detect/network per leggere il proprio IP osservato dal server, o (c) il modulo DNS parla con https://dns.google/resolve.
  • Interfaccia bilingue — piena parità inglese / cinese. La lingua è memorizzata in un cookie leakish.locale, guida <html lang>, metadati della pagina, ogni schermata, ogni risposta di errore API e l'email di accesso con magic link.
  • Autenticazione — NextAuth con Google OAuth + email magic link (Mailgun); adattatore Prisma su MySQL. L'email è opzionale in sviluppo — i link vengono stampati nel log del server quando Mailgun non è configurato.
  • Accesso programmatico — gli utenti possono creare chiavi API det_… nella pagina Integrations (SHA-256 memorizzato, testo in chiaro mostrato una volta). Ogni endpoint /api/detect/* accetta sia un cookie di sessione che una chiave Bearer, quindi la stessa scansione può essere salvata da un lavoro CLI / CI.
  • Dashboard analitica su /scans/analytics — grafici di distribuzione per fuso orario / piattaforma / lingua / schermo / WebGL / ASN / paese / conteggio caratteri, ripetizione di hash di fingerprint con un grado di rischio per tipo, timeline IP / ASN, rilevatore di anomalie multi-asse, confronto a coppie con punteggio di somiglianza 0–100.
  • Modello di rischio con tracciabilità per segnale — produce tipizzati con ID stabili (es. ), riepiloghi per modulo e un singolo punteggio aggregato. Sensibile alla lingua tramite iniezione di .

Avvio rapido

Prerequisiti: Node 22+ (qualsiasi 20+ funziona per lo sviluppo locale), Yarn 1.x, un'istanza MySQL in esecuzione e (opzionalmente) un client Google OAuth.

root@kitploit:~
yarn install
cp env.example .env.local      # compila DATABASE_URL, NEXTAUTH_SECRET, IP_HASH_SALT come minimo
yarn prisma:generate
yarn db:push                   # fornisce le tabelle su un DB nuovo
yarn dev                       # http://localhost:3000

Env minimo per ottenere un accesso funzionante:

  • DATABASE_URL — es. mysql://root:[email protected]:3306/detect
  • NEXTAUTH_SECRET — openssl rand -base64 32
  • NEXTAUTH_URL — http://localhost:3000 in sviluppo
  • IP_HASH_SALT — openssl rand -base64 32

Opzionale:

  • GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET per l'accesso con Google
  • MAILGUN_API_KEY / MAILGUN_DOMAIN / EMAIL_FROM per la consegna reale del magic link (senza questi, il link viene stampato nella console del server di sviluppo)
  • IPINFO_TOKEN per arricchire il probe di rete con dati ASN / VPN / proxy

Vedi env.example per l'elenco completo annotato.

Percorsi

Struttura del progetto

root@kitploit:~
app/
├── (marketing)/         # / — Pagina di atterraggio (stato di autenticazione risolto lato server + UI client)
├── app/                 # /app — la pagina del rilevatore
├── login/               # /login
├── scans/               # /scans, /scans/[id], /scans/analytics
├── integrations/        # /integrations — gestione chiavi API
├── api/
│   ├── auth/            # Route NextAuth + login con chiave API + test
│   ├── detect/
│   │   ├── analytics/   # dati aggregati + diff a coppie
│   │   ├── network/     # probe di uscita lato server
│   │   ├── scans/       # salva / elenca / ottieni / elimina
│   │   └── uniqueness/  # quanti utenti condividono questo hash di fingerprint
│   ├── integration/keys # crea / revoca / elenca chiavi API
│   └── health/          # probe di liveness per k8s
├── opengraph-image.tsx  # OG dinamico (per lingua)
├── apple-icon.tsx       # icona apple-touch dinamica
├── icon.svg             # gradiente a scudo
└── layout.tsx           # metadati + script di inizializzazione tema + LocaleProvider

components/
├── modular-detector.tsx          # shell di alto livello (header + elenco moduli + risultati/panoramica)
├── detector/                     # elenco moduli, pannello risultati, filtro per categoria, hook di stato
├── result-details/               # una vista dettagliata per modulo (switch tipizzato)
├── overview/                     # pannello panoramica + esportazione diagnostica
├── auth/                         # AuthGateProvider, finestra di dialogo login, modulo login
├── providers/                    # wrapper SessionProvider
└── ui/                           # primitive in stile shadcn + interruttori tema/lingua

lib/
├── detection-modules/            # 8 implementazioni moduli + ModuleManager + utility IP + test
├── risk/                         # assess.ts — aggregazione RiskSignal/punteggio
├── i18n/                         # en.ts / zh.ts + tipo Messages + client/server per lingua
├── api/                          # wrapper withDetectAuth, schema Zod per payload scansione
├── client/                       # API scansione lato browser (extractFingerprintInputs, saveScan, lookupUniqueness)
├── server/                       # probe di rete, salt IP-hash, hashing fingerprint, limitazione frequenza, invio email, analisi
├── persistence/                  # wrapper localStorage sicuri per SSR
├── env.ts                        # validazione runtime delle variabili d'ambiente
├── logger.ts                     # logger diagnostico solo sviluppo
└── prisma.ts                     # client singleton puntato a .prisma/detect-client

prisma/schema.prisma              # User / Account / Session / DetectScan / ApiKey / DetectFingerprintHash

Come funziona un ciclo di scansione

  1. L'utente clicca Esegui tutto in /app. Il rilevatore itera i moduli abilitati tramite ModuleManager.runAllEnabledModules — l'errore di ogni modulo viene catturato e isolato, così gli altri risultati vengono comunque mostrati.
  2. Ogni modulo restituisce un DetectionResult<T> tipizzato (con tag success | failure e dati specifici del modulo). Il pannello dei risultati renderizza un componente dettaglio per modulo tramite un switch type-safe.
  3. lib/risk/assess.ts esamina ogni risultato, emette RiskSignal con ID stabili e produce un OverallAssessment (punteggio + livello + conteggi).
  4. Su Salva questa scansione, il client estrae un payload strutturato + hash di fingerprint (canvas2d / webgl / audio / fontset / UA) e invia una POST a /api/detect/scans. Il server convalida con Zod, esegue il proprio probe di rete per registrare IP/ASN/flag VPN osservati dal server e scrive una riga DetectScan più righe .

Stack tecnologico

Test

I test unitari risiedono accanto al loro soggetto nelle directory __tests__/:

root@kitploit:~
yarn test                    # suite completa
yarn test path/to/file       # singolo file
yarn test -t "pattern"       # per regex del nome del test

Punti salienti:

  • lib/detection-modules/__tests__/ — classificazione IP + estrazione mDNS, registrazione e isolamento degli errori dei moduli, RTCPeerConnection mockata per il modulo WebRTC, test di forma jsdom per il modulo browser-fingerprint, generazione di segnali CDP/automazione.
  • lib/server/__tests__/analytics.test.ts — raggruppamento in bucket delle distribuzioni, raggruppamento delle ripetizioni, punteggio di anomalia, calcolo della similarità a coppie.
  • app/api/detect/scans/__tests__ — salvataggio POST (validazione, limitazione frequenza, idempotenza, potatura) + elenco GET + cancellazione singola.
  • app/api/integration/keys/__tests__ — creazione / revoca / elenco con controllo della modalità (sessioni con chiave API non possono creare altre chiavi API).
  • app/api/auth/__tests__ — route di login con chiave API (CSRF, controllo formato, gestione chiavi revocate/scadute, aggiornamento last-used).

Lint + typecheck:

root@kitploit:~
yarn lint
npx tsc --noEmit

Distribuzione

Il Dockerfile incluso produce un'immagine standalone Next.js su node:22-alpine. Le variabili d'ambiente di produzione vengono iniettate tramite Kubernetes Secret — valori placeholder sono inseriti in fase di build così SKIP_ENV_VALIDATION non è richiesto in esecuzione. Un Job prisma db push esegue lo schema prima del rollout. Vedi .github/workflows/deploy-tke.yml per l'intero pipeline di build immagine → migrazione → rollout.

Fatturazione e abbonamenti

Questa build open-source non ha paywall. I salvataggi sono regolati esclusivamente dal limitatore di frequenza per utente in-process in lib/server/rate-limit.ts (10 salvataggi/ora) e la conservazione della cronologia è illimitata.

Riconoscimenti

  • Verdent — assistente di codifica agentico utilizzato per costruire questo progetto dall'inizio alla fine.
  • NextAuth — il substrato di autenticazione.
  • Prisma — schema, migrazioni, client generato.
  • shadcn/ui + Radix UI — le primitive accessibili su cui è costruita questa UI.
  • Tailwind CSS — sistema di stili.
  • ipinfo.io — dati gratuiti ASN / VPN utilizzati dal probe di rete.
  • Mailgun — consegna email magic link in produzione.

Licenza

Vedi LICENSE.

Scarica lo strumento
IDModuloCosa ispeziona
network-probeProbe di uscita di reteIndirizzo IP pubblico osservato dal server, ASN, paese/regione/città, flag VPN/proxy/Tor/hosting, TLS/HTTP
webrtcWebRTCIPv4 + IPv6 pubblici tramite STUN, perdite RFC1918, candidati .local offuscati da mDNS
browser-fingerprintFingerprint del browserUA, schermo, fuso orario, plugin, core CPU, memoria dispositivo, elenco lingue, DNT, cookie
canvas-fingerprintCanvas / WebGLStringhe renderer/vendor 2D + WebGL, stranezze di rendering del testo, formati immagine supportati
audio-fingerprintAudioFrequenza di campionamento AudioContext, canali, latenza, hash dell'output dell'oscillatore
font-detectionCaratteriOltre 40 probe di font nominati tramite rilevamento della differenza di larghezza Canvas
dnsDNSRaggiungibilità DoH, segnale DNSSEC, geolocalizzazione del resolver, euristiche di perdita DNS
cdp-detectionAutomazione / headlessnavigator.webdriver, timing CDP, superficie API solo Chromium, probe di porta — confidenza 0–1
lib/risk/assess.ts
RiskSignal
webrtc.public-ip-leak
Messages
  • Salvataggio idempotente + potatura per utente — POST /api/detect/scans accetta un header Idempotency-Key, limita ogni utente a 200 scansioni e limita la frequenza di salvataggio a 10/ora.
  • Immagine Docker di livello produttivo — build multi-stage su node:22-alpine, output standalone Next.js, distribuito su Kubernetes tramite il workflow in .github/workflows/.
  • PercorsoScopo
    /Pagina di atterraggio marketing (hero aurora, schede funzionalità, FAQ, CTA)
    /appIl rilevatore — elenco moduli + pannello risultati + panoramica
    /loginPagina di accesso standalone (Google / email / chiave API)
    /scansCronologia delle scansioni salvate dell'utente autenticato
    /scans/[id]Dettaglio di una singola scansione salvata
    /scans/analyticsDistribuzione / ripetizione / timeline / anomalie / confronto
    /integrationsGestisci chiavi API det_… (crea / revoca / come fare)
    DetectFingerprintHash
  • La scansione è quindi visibile su /scans/[id], contribuisce agli aggregati analitici e conta nella ricerca di unicità.
  • LivelloComponenti
    FrameworkNext.js 14 (App Router, force-dynamic ovunque), React 18
    LinguaggioTypeScript 5, modalità strict
    UITailwind CSS 3, primitive shadcn/ui su Radix, icone Lucide, Framer Motion
    AuthNextAuth 4 (Google OAuth + email magic link) + adattatore Prisma
    DatiPrisma 6 → MySQL (output client personalizzato in .prisma/detect-client)
    ValidazioneZod
    TestJest 29 + ts-jest + jsdom
    Build/deployDockerfile multi-stage, Next.js standalone, manifest Kubernetes