Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
NuReaper — Nuget scanner | Kitploit
Strumenti/GitHubGitHub/daanixpl/nureaper
Analisi StaticaScanner di VulnerabilitàAnalisi Dinamica (Sandboxing)Analisi del CodiceAnalisi MalwareDevSecOpsAnalisi di BinariThreat IntelligenceSicurezza della Supply Chain
GitHubdaanixpl/nureaper

NuReaper

Nuget scanner

143 mesi faNon ancora revisionato
Vedi Repository

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

NuReaper — Scanner di Sicurezza dei Pacchetti NuGet

⚠️ Lavori in corso — Il progetto è in fase di sviluppo attivo. Il motore di scansione principale è funzionante; persistenza del database, caching e copertura completa dei test sono pianificati per le prossime iterazioni.

NuReaper è un'API backend .NET 8 che analizza automaticamente la sicurezza dei pacchetti NuGet. Fornisci un link a qualsiasi pacchetto NuGet e il sistema scarica ricorsivamente l'intero albero delle dipendenze, decompila il codice compilato e scansiona ogni metodo alla ricerca di pattern dannosi — restituendo un rapporto dettagliato sulle minacce.

🔍 Per i lettori non tecnici: Immagina di installare un'app sul telefono. Insieme ad essa, vengono installate automaticamente decine di librerie più piccole. NuReaper ispeziona ognuna di esse — guardando il codice binario compilato effettivo — e rileva se qualcuna cerca di connettersi a server sospetti, eseguire codice nascosto o offuscare il proprio comportamento reale.


🎯 Cosa fa NuReaper?

Invia una singola richiesta HTTP con l'URL di un pacchetto NuGet e NuReaper:

  1. Costruisce l'intero albero delle dipendenze — recupera e mappa ricorsivamente tutti i pacchetti da cui dipende il target (fino a 20 livelli di profondità), rilevando le dipendenze circolari lungo il percorso
  2. Scarica e verifica ogni pacchetto — recupera il file .nupkg e calcola il suo hash SHA-256
  3. Analizza il codice IL compilato — decompila gli assembly .NET e scansiona ogni metodo di ogni classe alla ricerca di pattern sospetti
  4. Assegna un punteggio al livello di minaccia — basato sui pattern rilevati, numero di reperti, diversità dei tipi, punteggi di confidenza e profondità di offuscamento
  5. Restituisce un rapporto completo — con reperti per pacchetto, tracce del flusso di codice e il grafo completo delle dipendenze

🔬 Pattern di Codice Maligno Rilevati

Il motore analizza il codice a livello di istruzioni IL (Intermediate Language) e riconosce 7 pattern caratteristici di software dannoso:

#PatternDescrizione
1Chiamata API DirettaStringa sospetta utilizzata immediatamente in una chiamata di rete
2Stringa AssegnataURL assegnato a una variabile, poi passato a una chiamata di rete
3Costruzione di StringheURL costruito per concatenazione ("http://" + var + "/path") — tecnica di offuscamento
4Interpolazione di StringheURL assemblato tramite interpolazione ($"{part1}{part2}")
5Interpolazione Solo CaratteriURL costruito carattere per carattere da un array di char — offuscamento avanzato
6DefaultInterpolatedStringHandlerMeccanismo di interpolazione di basso livello utilizzato per nascondere stringhe dall'analisi statica
7Chiamate API NudeChiamate di rete dirette senza stringhe esplicite (TcpClient.Connect, Socket.Connect, Process.Start)

Tipi di Minacce Rilevate

Network:      HttpClient, WebClient, DNS, TcpClient, WebSocket
Execution:    Process.Start, Assembly.Load, Activator.CreateInstance
Low-level:    DllImport, VirtualAlloc, CreateThread, NtCreateThreadEx
System:       ManagementObjectSearcher (WMI)
String-based: Concatenation, CharArray, Interpolation, StringBuilder
Suspicious:   URL, IP address, .onion address, Base64

Punteggio del Livello di Minaccia (0–100)

L'algoritmo di punteggio tiene conto di:

  • Livello di pericolo massimo di qualsiasi singolo reperto
  • Numero totale di reperti (fino a +30 punti)
  • Diversità dei tipi di minaccia rilevati (fino a +15 punti)
  • Punteggio di confidenza medio tra i reperti (+5 punti se >90%)
  • Presenza di offuscamento — costruzione di stringhe a più salti (+10 punti)

📡 API

POST /api/PackageScan

Scansiona il pacchetto NuGet fornito insieme al suo intero albero delle dipendenze.

Richiesta:

{
  "url": "https://www.nuget.org/packages/System.Net.Http/4.3.4"
}

Risposta:

{
  "rootPackageName": "System.Net.Http",
  "rootPackageVersion": "4.3.4",
  "totalPackages": 12,
  "totalFindingsFromAllPackages": 5,
  "threatLevelAllPackages": 47.5,
  "scannedTimeAllPackages": "2026-03-25T12:00:00Z",
  "packages": [
    {
      "packageName": "System.Net.Http",
      "version": "4.3.4",
      "sha256Hash": "abc123...",
      "threatLevel": 35.0,
      "totalFindings": 3,
      "findings": [
        {
          "type": "HttpClientCall",
          "confidenceScore": 95.0,
          "dangerLevel": 60.0,
          "evidence": "http://example.com/payload",
          "location": "MyClass::SendData",
          "hopDepth": 0,
          "flowTrace": "[Pattern1] Direct API call using string..."
        }
      ]
    }
  ],
  "dependencyGraph": {
    "rootPackage": "[email protected]",
    "nodes": [...],
    "edges": [...],
    "cycles": [...]
  }
}

🏗️ Architettura

Costruita su Clean Architecture con una rigida separazione delle responsabilità:

NuReaperBackend/
├── NuReaper.Api/               # Livello API — controller, middleware, avvio
├── NuReaper.Application/       # Livello applicativo — comandi, interfacce, DTO, validazione
├── NuReaper.Domain/            # Core del dominio — entità, enumerazioni, astrazioni
├── NuReaper.Infrastructure/    # Implementazioni — scanner, parser, repository
│   └── Repositories/
│       ├── Scanners/           # Motore di analisi IL
│       │   ├── Analysis/       # ScanModule, ScanMethod, NetworkApiCallScan
│       │   ├── Detectors/      # 7 rilevatori di pattern (Pattern1–Pattern7)
│       │   ├── Patterns/       # PatternRegistry (regex: URL, IP, .onion, Base64)
│       │   ├── RiskCalculation/# Algoritmo di punteggio minaccia
│       │   ├── Finders/        # Localizzazione chiamate API nelle istruzioni IL
│       │   ├── VariableAnalysis/# Tracciamento valori variabili attraverso IL
│       │   └── StringAnalysis/ # Ricostruzione stringhe da frammenti
│       ├── Parsers/            # Analisi file .nuspec
│       ├── GraphBuilders/      # Costruzione grafo dipendenze (BFS + ricorsione)
│       └── FileHelpers/        # Download, estrazione, SHA-256
└── Docker/
    ├── Dockerfile
    └── docker-compose.yml

Stack e Pattern

AreaTecnologia / Pattern
ArchitetturaClean Architecture
Comunicazione tra livelliCQRS + MediatR
Analisi codice ILdnlib
Validazione inputFluentValidation + MediatR Pipeline Behavior
Mapping oggettiAutoMapper
RegistrazioneSerilog (console + file rolling giornaliero)
Documentazione APISwagger / OpenAPI
DatabaseEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory con connection pooling
ContainerizzazioneDocker + Docker Compose
TestxUnit + Moq

⚙️ Come funziona il Motore di Scansione

Package URL
    │
    ▼
DependencyGraphBuilder          ← costruisce il grafo delle dipendenze dai file .nuspec
    │  (ricorsione + BFS, rilevamento cicli)
    ▼
Lista di pacchetti univoci
    │
    ▼  (parallelo, SemaphoreSlim — thread CPU-1)
NetworkApiCallScan per pacchetto
    ├── DownloadPackageAsync     ← recupera il .nupkg
    ├── CalculateSha256          ← verifica integrità
    ├── ExtractNupkgAsync        ← estrae l'archivio
    └── GetAssemblyFiles         ← elenca i file .dll
            │
            ▼  (Parallel.ForEachAsync)
        ScanModule (per .dll)
            │
            ▼  (Parallel.ForEach — tutti i tipi e metodi)
        ScanMethod (per metodo)
            │
            ▼  (7 rilevatori di pattern)
        Pattern1..7 → FindingSummaryDto
            │
            ▼
    CalculateThreatLevel         ← punteggio 0–100
    │
    ▼
ScanPackageResultResponse

📦 Dipendenze Principali

Scarica lo strumento