Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NuReaper — NuGet-Scanner | Kitploit
Tools/GitHubGitHub/daanixpl/nureaper
Statische AnalyseSchwachstellenscannerDynamische Analyse (Sandboxing)Code-AnalyseMalware-AnalyseDevSecOpsBinäranalyseBedrohungsanalyseLieferkettensicherheit
GitHubdaanixpl/nureaper

NuReaper

NuGet-Scanner

24vor 21 TagenNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

NuReaper — NuGet-Paket-Sicherheitsscanner

⚠️ Work in Progress — Das Projekt wird aktiv weiterentwickelt. Die Kern-Scan-Engine wird neu aufgebaut

NuReaper ist eine .NET 8 Backend-API, die automatisch die Sicherheit von NuGet-Paketen analysiert. Sie geben einen Link zu einem beliebigen NuGet-Paket an, und das System lädt rekursiv den gesamten Abhängigkeitsbaum herunter, dekompiliert den kompilierten Code und durchsucht jede Methode nach schädlichen Mustern — und liefert einen detaillierten Bedrohungsbericht zurück.

🔍 Für nicht-technische Leser: Stellen Sie es sich so vor, als würden Sie eine App auf Ihrem Smartphone installieren. Zusammen mit ihr werden automatisch Dutzende kleinerer Bibliotheken installiert. NuReaper untersucht jede einzelne davon — indem es den tatsächlichen kompilierten Binärcode betrachtet — und erkennt, ob eine von ihnen versucht, sich mit verdächtigen Servern zu verbinden, versteckten Code auszuführen oder ihr wahres Verhalten zu verschleiern.


🎯 Was macht NuReaper?

Senden Sie eine einzige HTTP-Anfrage mit einer NuGet-Paket-URL, und NuReaper wird:

  1. Den vollständigen Abhängigkeitsbaum aufbauen — lädt rekursiv alle Pakete, von denen das Ziel abhängt, und bildet sie ab (bis zu 20 Ebenen tief), wobei zirkuläre Abhängigkeiten erkannt werden
  2. Jedes Paket herunterladen und verifizieren — ruft die .nupkg-Datei ab und berechnet ihren SHA-256-Hash
  3. Kompilierten IL-Code analysieren — dekompiliert .NET-Assemblies und durchsucht jede Methode jeder Klasse nach verdächtigen Mustern
  4. Die Bedrohungsstufe bewerten — basierend auf erkannten Mustern, Anzahl der Funde, Typvielfalt, Konfidenzwerten und Verschleierungstiefe
  5. Einen vollständigen Bericht zurückgeben — mit Funden pro Paket, Code-Flow-Traces und dem vollständigen Abhängigkeitsgraphen

🔬 Erkannte schädliche Code-Muster

Die Engine analysiert Code auf der Ebene der IL-Anweisungen (Intermediate Language) und erkennt 7 Muster, die für Schadsoftware charakteristisch sind:

#MusterBeschreibung
1Direkter API-AufrufVerdächtiger String, der sofort in einem Netzwerkaufruf verwendet wird
2String zugewiesenURL einer Variablen zugewiesen und dann an einen Netzwerkaufruf übergeben
3String-KonstruktionURL durch Verkettung aufgebaut ("http://" + var + "/path") — Verschleierungstechnik
4String-InterpolationURL durch Interpolation zusammengesetzt ($"{part1}{part2}")
5Char-Only-InterpolationURL Zeichen für Zeichen aus einem Char-Array aufgebaut — fortgeschrittene Verschleierung
6DefaultInterpolatedStringHandlerLow-Level-Interpolationsmechanismus, der verwendet wird, um Strings vor statischer Analyse zu verbergen
7Bare API CallsDirekte Netzwerkaufrufe ohne explizite Strings (TcpClient.Connect, Socket.Connect, Process.Start)

Erkannte Bedrohungstypen

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

Bedrohungsstufen-Score (0–100)

Der Bewertungsalgorithmus berücksichtigt:

  • Maximale Gefahrenstufe eines einzelnen Fundes
  • Gesamtzahl der Funde (bis zu +30 Pkt.)
  • Vielfalt der erkannten Bedrohungstypen (bis zu +15 Pkt.)
  • Durchschnittlicher Konfidenzwert über alle Funde (+5 Pkt. bei >90%)
  • Vorhandensein von Verschleierung — Multi-Hop-String-Konstruktion (+10 Pkt.)

📡 API

POST /api/PackageScan

Scannt das angegebene NuGet-Paket zusammen mit seinem vollständigen Abhängigkeitsbaum.

Anfrage:

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

Antwort:

{
  "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": [...]
  }
}

🏗️ Architektur

Aufgebaut auf Clean Architecture mit strikter Trennung der Zuständigkeiten:

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 & Muster

BereichTechnologie / Muster
ArchitekturClean Architecture
Kommunikation zwischen SchichtenCQRS + MediatR
IL-Code-Analysednlib
EingabevalidierungFluentValidation + MediatR Pipeline Behavior
Objekt-MappingAutoMapper
LoggingSerilog (Konsole + rollierende Tagesdatei)
API-DokumentationSwagger / OpenAPI
DatenbankEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory mit Connection Pooling
ContainerisierungDocker + Docker Compose
TestsxUnit + Moq

⚙️ Wie die Scan-Engine funktioniert

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

📦 Wichtige Abhängigkeiten

Tool herunterladen