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.

FeedContattoPrivacy© 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

2421 giorni 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 per Pacchetti NuGet

⚠️ Lavori in Corso — Il progetto è in fase di sviluppo attivo. Il motore di scansione principale è in fase di ricostruzione

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 analizza ogni metodo alla ricerca di pattern malevoli — restituendo un report dettagliato delle minacce.

🔍 Per lettori non tecnici: Immagina di installare un'app sul tuo telefono. Insieme ad essa, vengono installate automaticamente decine di librerie più piccole. NuReaper ispeziona ognuna di esse — esaminando il codice binario compilato effettivo — e rileva se qualcuna di esse tenta 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'albero completo 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 analizza ogni metodo di ogni classe alla ricerca di pattern sospetti
  4. Valuta il livello di minaccia — in base ai pattern rilevati, al numero di risultati, alla diversità dei tipi, ai punteggi di confidenza e alla profondità di offuscamento
  5. Restituisce un report completo — con risultati per pacchetto, tracce del flusso di codice e il grafo completo delle dipendenze

🔬 Pattern di Codice Malevolo Rilevati

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

#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 StringaURL costruito tramite concatenazione ("http://" + var + "/path") — tecnica di offuscamento
4Interpolazione di StringaURL 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 le stringhe all'analisi statica
7Chiamate API BareChiamate di rete dirette senza stringhe esplicite (TcpClient.Connect, Socket.Connect, Process.Start)

Tipi di Minaccia Rilevati

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 scoring tiene conto di:

  • Livello di pericolosità massimo di qualsiasi singolo risultato
  • Numero totale di risultati (fino a +30 pt)
  • Diversità dei tipi di minaccia rilevati (fino a +15 pt)
  • Punteggio di confidenza medio tra i risultati (+5 pt se >90%)
  • Presenza di offuscamento — costruzione di stringhe multi-hop (+10 pt)

📡 API

POST /api/PackageScan

Analizza il pacchetto NuGet specificato 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

Costruito su Clean Architecture con una rigorosa separazione delle responsabilità:

NuReaperBackend/
├── NuReaper.Api/               # API layer — controllers, middleware, startup
├── NuReaper.Application/       # Application layer — commands, interfaces, DTOs, validation
├── NuReaper.Domain/            # Domain core — entities, enums, abstractions
├── NuReaper.Infrastructure/    # Implementations — scanners, parsers, repositories
│   └── Repositories/
│       ├── Scanners/           # IL analysis engine
│       │   ├── Analysis/       # ScanModule, ScanMethod, NetworkApiCallScan
│       │   ├── Detectors/      # 7 pattern detectors (Pattern1–Pattern7)
│       │   ├── Patterns/       # PatternRegistry (regex: URL, IP, .onion, Base64)
│       │   ├── RiskCalculation/# Threat scoring algorithm
│       │   ├── Finders/        # Locating API calls within IL instructions
│       │   ├── VariableAnalysis/# Tracking variable values across IL
│       │   └── StringAnalysis/ # Reconstructing strings from fragments
│       ├── Parsers/            # .nuspec file parsing
│       ├── GraphBuilders/      # Dependency graph construction (BFS + recursion)
│       └── FileHelpers/        # Download, extract, SHA-256
└── Docker/
    ├── Dockerfile
    └── docker-compose.yml

Stack e Pattern

AreaTecnologia / Pattern
ArchitetturaClean Architecture
Comunicazione inter-livelloCQRS + MediatR
Analisi del codice ILdnlib
Validazione inputFluentValidation + MediatR Pipeline Behavior
Mapping oggettiAutoMapper
LoggingSerilog (console + file giornaliero a rotazione)
Documentazione APISwagger / OpenAPI
DatabaseEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory con connection pooling
ContainerizzazioneDocker + Docker Compose
TestingxUnit + Moq

⚙️ Come Funziona il Motore di Scansione

Package URL
    │
    ▼
DependencyGraphBuilder          ← builds dependency graph from .nuspec files
    │  (recursion + BFS, cycle detection)
    ▼
List of unique packages
    │
    ▼  (parallel, SemaphoreSlim — CPU-1 threads)
NetworkApiCallScan per package
    ├── DownloadPackageAsync     ← fetches .nupkg
    ├── CalculateSha256          ← integrity verification
    ├── ExtractNupkgAsync        ← unpacks the archive
    └── GetAssemblyFiles         ← lists .dll files
            │
            ▼  (Parallel.ForEachAsync)
        ScanModule (per .dll)
            │
            ▼  (Parallel.ForEach — all types and methods)
        ScanMethod (per method)
            │
            ▼  (7 pattern detectors)
        Pattern1..7 → FindingSummaryDto
            │
            ▼
    CalculateThreatLevel         ← score 0–100
    │
    ▼
ScanPackageResultResponse

📦 Dipendenze Principali

Scarica lo strumento