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
nano-analyzer — Uno scanner di vulnerabilità zero-day minimo basato su LLM di AISLE. | Kitploit
Strumenti/GitHubGitHub/weareaisle/nano-analyzer
Analisi StaticaScanner di VulnerabilitàAnalisi delle VulnerabilitàAnalisi del CodiceExploitAnalisi di BinariMachine LearningSicurezza dell'IA
GitHubweareaisle/nano-analyzer

nano-analyzer

Uno scanner di vulnerabilità zero-day minimo basato su LLM di AISLE.

Vedi Repository
3055734 mesi faRevisionato da Kitploit
Sito web

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

Nano-analyzer

Uno scanner minimalista per vulnerabilità zero-day basato su LLM, creato da AISLE.

aisle-nano-analyzer-diagram

Prototipo di ricerca a scopo dimostrativo. Si tratta di un semplice harness a file singolo in grado di rilevare reali vulnerabilità zero-day. Tieni presente che è un prototipo, orientato verso bug di sicurezza della memoria in C/C++, e produrrà falsi positivi. Lo condividiamo così com'è nello spirito della ricerca aperta — aspettati spigoli vivi.

Cosa fa

Nano-analyzer è un semplice scanner Python a file singolo che invia codice sorgente attraverso un pipeline LLM a tre fasi:

  1. Generazione del contesto — un modello scrive un briefing di sicurezza sul file: cosa fa, dove fluiscono dati non fidati, quali buffer esistono e quanto sono grandi.
  2. Scansione delle vulnerabilità — lo stesso modello, alimentato con il contesto, cerca bug zero-day funzione per funzione e produce risultati strutturati.
  3. Triage scettico — ogni risultato viene contestato su più round da un revisore scettico che può eseguire grep sul codebase per verificare (o confutare) le difese. Un arbitro prende la decisione finale.

I risultati vengono salvati come file Markdown e JSON per la revisione umana.

Limitazioni attuali

Questo è un prototipo v0.1. Tieni presente quanto segue:

  • Orientamento C/C++. I prompt, gli esempi few-shot e le euristiche sono fortemente ottimizzati per vulnerabilità di sicurezza della memoria in C/C++ (buffer overflow, dereferenze NULL, integer overflow, type confusion). Scansionerà altri linguaggi, ma è molto meno efficace.
  • Falsi positivi. Anche con triage multi-round, aspettati risultati che non reggono a un esame più attento. Verifica sempre manualmente.
  • Falsi negativi. Lo scanner potrebbe perdere intere classi di vulnerabilità — bug logici, race condition, problemi crittografici, bypass di autenticazione, ecc. Una scansione pulita non significa che il codice sia sicuro.
  • Analisi a file singolo. Ogni file viene scansionato indipendentemente. Le vulnerabilità cross-file che dipendono da interazioni tra unità di compilazione verranno probabilmente perse.
  • Dipende dall'LLM. I risultati variano a seconda del modello utilizzato. Modelli diversi troveranno cose diverse e allucineranno falsi positivi diversi.
  • Configurazione

    Requisiti

    • Python 3.8+
    • Una chiave API OpenAI (per modelli OpenAI) o una chiave API OpenRouter (per altri provider)
    • Opzionale: ripgrep (rg) per ricerche grep durante il triage
    • Opzionale: Google codesearch (csearch/cindex) per grep più veloce su repository grandi

    Installazione

    root@kitploit:~
    git clone https://github.com/weareaisle/nano-analyzer.git
    cd nano-analyzer
    # Non è necessaria installazione di dipendenze. Esegui direttamente:
    python3 scan.py --help
    

    Chiavi API

    Imposta la tua chiave API come variabile d'ambiente:

    root@kitploit:~
    # Per modelli OpenAI (nomi di modello senza barra, es. "gpt-5.4-nano"):
    export OPENAI_API_KEY=sk-...
    
    # Per modelli OpenRouter (nomi di modello con barra, es. "qwen/qwen3-32b"):
    export OPENROUTER_API_KEY=sk-or-...
    

    Lo scanner determina quale chiave utilizzare in base al nome del modello: se contiene una /, instrada attraverso OpenRouter; altrimenti utilizza direttamente l'API OpenAI.

    Utilizzo

    Scansione base

    root@kitploit:~
    # Scansiona un singolo file
    python3 scan.py ./path/to/file.c
    
    # Scansiona una directory ricorsivamente
    python3 scan.py ./path/to/src/
    

    Opzioni comuni

    root@kitploit:~
    # Usa un modello diverso
    python3 scan.py ./src --model gpt-5.4
    
    # Controlla il parallelismo
    python3 scan.py ./src --parallel 30
    
    # Indica al triage grep la radice completa del repository (utile quando si scansiona una sottodirectory)
    python3 scan.py ./lib/crypto/ --repo-dir ./
    
    # Mostra solo risultati ad alta confidenza
    python3 scan.py ./src --min-confidence 0.7
    
    # Più round di triage per maggiore accuratezza (default: 5)
    python3 scan.py ./src --triage-rounds 7
    

    Tutti i flag

    FlagDefaultDescrizione
    path(obbligatorio)File o directory da scansionare
    --modelgpt-5.4-nanoModello per tutte le fasi (contesto, scansione, triage)
    --parallel50Numero massimo di chiamate API di scansione concorrenti
    --triage-thresholdmediumEsegui triage per risultati con gravità pari o superiore a questa
    --triage-rounds5Round di triage per ogni risultato
    --triage-parallel50Numero massimo di chiamate API di triage concorrenti
    --max-connectionsparallel + triage-parallelLimite totale delle chiamate API
    --min-confidence0.0Mostra solo risultati con confidenza superiore a questa (0.0–1.0)
    --projectnome della directoryNome del progetto usato nei prompt di triage
    --repo-dirautomaticoRadice del repository per ricerche grep (automatico: directory padre per file, directory di scansione per cartelle)
    --output-dir~/nano-analyzer-results/<timestamp>/Dove salvare i risultati
    --max-chars200.000Salta file più grandi di questo valore
    --verbose-triagedisattivatoMostra l'avanzamento del triage per round

    Output

    I risultati vengono salvati in ~/nano-analyzer-results/<timestamp>/ (o --output-dir):

    root@kitploit:~
    <timestamp>/
    ├── summary.json              # riepilogo della scansione leggibile da macchina
    ├── summary.md                # riepilogo della scansione leggibile da umano
    ├── <filename>.md             # output grezzo dello scanner per file
    ├── <filename>.context.md     # briefing di contesto per file
    ├── <filename>.json           # dati completi dei risultati per file
    ├── triages/                  # ragionamento dettagliato del triage
    │   └── T0001_<file>_<title>.md
    ├── findings/                 # risultati sopravvissuti al triage
    │   └── VULN-001_<file>.md
    ├── triage.json               # tutti i verdetti del triage
    └── triage_survivors.md       # riepilogo dei risultati convalidati
    

    Come funziona il triage

    Quando una scansione trova un problema di gravità media o superiore, il pipeline di triage si attiva:

    1. Un revisore scettico esamina il risultato confrontandolo con il codice effettivo e può eseguire grep sul codebase per verificare o confutare le difese dichiarate.
    2. Questo si ripete per più round (default: 5), con ogni revisore che vede gli argomenti precedenti e viene incoraggiato a trovare nuove prove piuttosto che ripetere vecchi punti.
    3. Un arbitro finale legge tutti i round e prende una decisione VALIDO/NON VALIDO.
    4. Il punteggio di confidenza (es. 80% [VVIVV→V]) riflette la frazione di round che hanno detto VALIDO.

    I risultati che sopravvivono al triage vengono scritti nella directory findings/ con catene complete di ragionamento.

    Dichiarazione di non responsabilità

    Questo strumento è un prototipo di ricerca. Non sostituisce audit di sicurezza professionali, revisione manuale del codice o strumenti di analisi statica consolidati. Non fare affidamento su di esso come unica valutazione della sicurezza. Utilizzalo a tuo rischio.

    Licenza

    Apache License 2.0

    Scarica lo strumento