
Motore di ricognizione avanzato che trova segreti reali, li convalida in tempo reale e costruisce percorsi di exploit basati su informazioni lato client.
Motore di Intelligence per la Ricognizione | Scanner di Fughe | Suite di Threat Intelligence
🔍 Intelligence di Esposizione Approfondita • ⚡ Motore di Ricognizione ad Alto Segnale
Reconix è progettato ESCLUSIVAMENTE per test di sicurezza autorizzati, programmi bug bounty e ricerca difensiva.
La scansione non autorizzata è illegale e punibile secondo le leggi sui crimini informatici.
Leggi il disclaimer completo in DISCLAIMER.md.
A differenza degli scanner di base che si limitano a fare regex-match e a scaricare risultati, Reconix:
Convalida i segreti in tempo reale — Chiama le API reali (GitHub, Stripe, OpenAI, Supabase, SendGrid, Anthropic, HuggingFace, Linear) per confermare se le chiavi sono VALIDE, INVALIDE, SCADUTE o A LUNGA DURATA — non più indovinare se una chiave funziona davvero
Costruisce catene di exploit — Collega automaticamente i risultati correlati in percorsi d'attacco attuabili come "JWT + Supabase + endpoint API → Accesso non autorizzato ai dati" o "Segreto convalidato + pannello admin → Escalation dei privilegi"
Filtra i falsi positivi con analisi a 10 livelli — Ignora elementi interni di React, classi CSS, URL di documentazione, placeholder e spazzatura minimizzata che altri strumenti segnalano erroneamente come segreti
Ricostruisce le source map — Recupera il codice sorgente originale dai file .map e dalle source map inline, poi scansiona il codice ricostruito alla ricerca di segreti nascosti in bundle minimizzati
Browser auto-riparante — Rileva e riavvia automaticamente le istanze Puppeteer arrestatesi durante la scansione senza perdere i progressi
Estrae intelligence client — Aggrega tutto il JavaScript per trovare endpoint API (utente/admin/interni), variabili d'ambiente (NEXT_PUBLIC_*, REACT_APP_*), servizi di terze parti (Supabase, Stripe, Firebase, Clerk) e flag di funzionalità
Crawl guidato dalla priorità — Assegna un punteggio intelligente agli URL (file JS, API, source map per primi) per trovare target di alto valore prima di sprecare tempo su risorse statiche
Introspezione JWT in tempo reale — Decodifica i JWT per rivelare emittente, ruolo e scadenza — segnala i token A LUNGA DURATA (1+ anno) e SENZA SCADENZA come problemi di sicurezza
Rilevamento service_role di Supabase — Identifica quando un JWT ha privilegi service_role, che bypassano tutte le Row Level Security (RLS) — un percorso critico di compromissione del database
Test del Realtime DB di Firebase — Rileva credenziali Firebase e verifica se l'endpoint /.json consente dump non autenticati del database
Rilevamento dell'introspezione GraphQL — Sonda automaticamente gli endpoint /graphql per verificare se l'introspezione dello schema è abilitata (fuga di informazioni)
Scansione delle misconfigurazioni CORS — Controlla gli endpoint API per header Access-Control-Allow-Origin con wildcard (*) o riflessivi
Enumerazione utenti WordPress — Rileva quando /wp-json/wp/v2/users espone ID utente e nomi
Rilevamento di fughe di variabili d'ambiente Next.js — Scansiona /_next/static/chunks/ per riferimenti a process.env incorporati nei bundle client
Scavo negli archivi — Recupera URL storici da Wayback Machine e scansiona i contenuti archiviati per segreti rimossi dal sito live
Failover proxy — Torna automaticamente alla connessione diretta dopo 3 fallimenti consecutivi del proxy, così le scansioni non si bloccano
Scansioni riprendibili — Salva lo stato ogni 10 risorse e può riprendere dal file .reconix-state.json se interrotto
Report multi-formato — Genera report HTML accattivanti, esportazioni JSON strutturate e un file discovered_api_keys.txt in testo semplice per una rapida consultazione
680+ impronte digitali di tecnologie — Rileva framework, provider di hosting, CDN, analytics, processori di pagamento, sistemi di autenticazione e librerie UI da header, HTML, JS, cookie, certificati TLS e DNS
200+ pattern di rilevamento di segreti reali — Copre chiavi API, token, chiavi private, segreti OAuth, credenziali di database, token CI/CD e URL webhook su piattaforme principali con corrispondenza ad alta affidabilità
Cattura del traffico di rete del browser — Quando --js è abilitato, cattura tutte le richieste di rete in uscita per identificare ulteriori servizi e API
Consapevolezza della limitazione di velocità — Rileva risposte 429 e header Retry-After, si adegua di conseguenza senza bloccarsi
# Installazione globale
npm install -g @aquibk/reconix
# Oppure esecuzione diretta
npx reconix target.com
# Verifica del funzionamento
reconix --self-test
--js)# Scansione base (basso impatto)
reconix example.com
# Massima potenza (massimo dei risultati)
reconix example.com --js --aggressive --deep --only-critical
# Modalità bug bounty (equilibrata)
reconix target.com --js --deep --historical --delay=500 --output=report.json
# Modalità stealth (evitare rilevamento)
reconix target.com --delay=2000 --jitter=1000 --threads=5 --proxy=socks5://127.0.0.1:9050
reconix <url> [opzioni]
reconix scan <url> [opzioni]
| Flag | Descrizione | Default |
|---|---|---|
--output=<file> | Salva report JSON completo | Nessuno |
--html=<file> | Genera report HTML | Nessuno |
reconix example.com --output=scan.json --html=report.html
| Flag | Descrizione | Default |
|---|---|---|
--no-subdomains | Disabilita scoperta di sottodomini |
reconix example.com --historical --deep
# Veloce ma rischioso
reconix example.com --threads=50 --delay=100 --jitter=50
# Crawling educato
reconix example.com --threads=10 --delay=2000 --jitter=1000
--no-js → Disabilita browser headless (Puppeteer)--aggressive → Scansione profonda a tutto campo--proxy=<host:port> → Supporto proxy--auth=<user:pass> → Autenticazione (Basic o Bearer)--cookie=<string> → Cookie personalizzati--user-agent=<string> → User-agent personalizzato# Scansione autenticata
reconix api.example.com --auth="Bearer:sk_live_xxx" --js
# Utilizzo proxy
reconix example.com --proxy="http://user:pass@proxy:8080" --delay=1000
reconix example.com --only-critical --no-low
reconix target.com --deep --historical --threads=25 --delay=500 --output=bounty.json --html=report.html
reconix target.com --aggressive --deep --historical --threads=50 --delay=150 --jitter=50 --only-critical --output=full.json --html=full.html
reconix target.com --threads=5 --delay=2000 --jitter=1500 --no-subdomains --proxy=socks5://127.0.0.1:9050
reconix target.com --threads=30 --delay=200 --no-js --no-subdomains --only-critical
reconix --self-test
# Fase 1: Ricognizione rapida
reconix target.com --only-critical
# Fase 2: Analisi approfondita
reconix target.com --deep --delay=1000
# Fase 3: Scansione aggressiva
reconix target.com --aggressive --deep --only-critical
| Problema | Soluzione |
|---|---|
| Timeout del browser |
| File | Descrizione |
|---|---|
discovered_api_keys.txt | Tutti i segreti trovati |
*.json | Report completo della scansione |
Issue e pull request sono benvenuti.
reconix --self-test
Vedi LICENSE.txt
⚠️ USA IN MODO RESPONSABILE. SOLO SU TARGET AUTORIZZATI. ⚠️
| - |
--historical | Recupera URL archiviati | false |
--deep | Aumenta profondità di crawl | false |
| Flag | Descrizione | Default |
|---|
--threads=<n> | Richieste concorrenti (1–100) | 20 |
--delay=<ms> | Ritardo base tra le richieste | 500 |
--jitter=<ms> | Variazione casuale del ritardo | 300 |
--max-bytes=<bytes> | Dimensione massima di download per file | 4000000 |
--resume | Riprendi scansione precedente | false |
| Flag | Descrizione | Default |
|---|
--only-critical | Mostra solo risultati critici | false |
--no-low | Nascondi risultati a bassa affidabilità | false |
--include-medium | Includi risultati medi | true |
--no-medium | Escludi risultati medi | - |
| Tipo di Target | Threads | Ritardo | Jitter | JS |
|---|
| Produzione | 5–10 | 2000–3000 | 1000 | ❌ |
| Staging | 15–20 | 800–1200 | 500 | ✅ |
| Bug Bounty | 20–30 | 400–600 | 200 | ✅ |
| CTF / Lab | 50–100 | 0–100 | 0 | ✅ |
| Reinstalla Puppeteer |
| Troppi file aperti | Riduci i threads |
| Proxy fallito | Controlla l'URL del proxy |
| Limitato (429) | Aumenta ritardo e jitter |
| Nessun risultato | Usa --js --deep --historical |
*.html| Report visivo |
.reconix-state.json | Stato di ripresa |