Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
NuReaper — Nuget scanner | Kitploit
Outils/GitHubGitHub/daanixpl/nureaper
Static AnalysisVulnerability ScannersDynamic Analysis (Sandboxing)Code AnalysisMalware AnalysisDevSecOpsBinary AnalysisThreat IntelligenceSupply Chain Security
GitHubdaanixpl/nureaper

NuReaper

Nuget scanner

il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

NuReaper — Scanner de Sécurité de Paquets NuGet

⚠️ Travail en cours — Le projet est activement développé. Le moteur de scan principal est fonctionnel ; la persistance en base de données, le cache et la couverture complète des tests sont prévus pour les prochaines itérations.

NuReaper est une API backend .NET 8 qui analyse automatiquement la sécurité des paquets NuGet. Vous fournissez un lien vers un paquet NuGet, et le système télécharge récursivement tout son arbre de dépendances, décompile le code compilé et analyse chaque méthode pour détecter des motifs malveillants — renvoyant un rapport de menaces détaillé.

🔍 Pour les lecteurs non techniques : Imaginez que vous installez une application sur votre téléphone. Avec elle, des dizaines de petites bibliothèques sont installées automatiquement. NuReaper inspecte chacune d'entre elles — en regardant le code binaire compilé réel — et détecte si l'une d'elles essaie de se connecter à des serveurs suspects, d'exécuter du code caché ou d'obscurcir son véritable comportement.


🎯 Que fait NuReaper ?

Envoyez une seule requête HTTP avec une URL de paquet NuGet, et NuReaper va :

  1. Construire l'arbre de dépendances complet — récupère et cartographie récursivement tous les paquets dont la cible dépend (jusqu'à 20 niveaux de profondeur), en détectant les dépendances circulaires en cours de route
  2. Télécharger et vérifier chaque paquet — récupère le fichier .nupkg et calcule son hachage SHA-256
  3. Analyser le code IL compilé — décompile les assemblages .NET et analyse chaque méthode de chaque classe pour détecter des motifs suspects
  4. Noter le niveau de menace — basé sur les motifs détectés, le nombre de découvertes, la diversité des types, les scores de confiance et la profondeur d'obfuscation
  5. Renvoyer un rapport complet — avec les découvertes par paquet, les traces de flux de code et le graphe de dépendances complet

🔬 Motifs de Code Malveillant Détectés

Le moteur analyse le code au niveau des instructions IL (Intermediate Language) et reconnaît 7 motifs caractéristiques des logiciels malveillants :

Types de Menaces Détectés

root@kitploit:~
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

Score du Niveau de Menace (0–100)

L'algorithme de notation prend en compte :

  • Niveau de danger maximal de toute découverte unique
  • Nombre total de découvertes (jusqu'à +30 pts)
  • Diversité des types de menaces détectées (jusqu'à +15 pts)
  • Score de confiance moyen des découvertes (+5 pts si >90%)
  • Présence d'obfuscation — construction de chaîne multi-sauts (+10 pts)

📡 API

POST /api/PackageScan

Scanne le paquet NuGet donné ainsi que son arbre de dépendances complet.

Request:

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

Response:

root@kitploit:~
{
  "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": [...]
  }
}

🏗️ Architecture

Construit sur une architecture propre avec une séparation stricte des préoccupations :

root@kitploit:~
NuReaperBackend/
├── NuReaper.Api/               # Couche API — contrôleurs, middleware, démarrage
├── NuReaper.Application/       # Couche application — commandes, interfaces, DTOs, validation
├── NuReaper.Domain/            # Cœur du domaine — entités, énumérations, abstractions
├── NuReaper.Infrastructure/    # Implémentations — scanners, analyseurs, dépôts
│   └── Repositories/
│       ├── Scanners/           # Moteur d'analyse IL
│       │   ├── Analysis/       # ScanModule, ScanMethod, NetworkApiCallScan
│       │   ├── Detectors/      # 7 détecteurs de motifs (Pattern1–Pattern7)
│       │   ├── Patterns/       # PatternRegistry (regex: URL, IP, .onion, Base64)
│       │   ├── RiskCalculation/# Algorithme de notation de menace
│       │   ├── Finders/        # Localisation des appels API dans les instructions IL
│       │   ├── VariableAnalysis/# Suivi des valeurs de variables à travers IL
│       │   └── StringAnalysis/ # Reconstruction de chaînes à partir de fragments
│       ├── Parsers/            # Analyse de fichier .nuspec
│       ├── GraphBuilders/      # Construction du graphe de dépendances (BFS + récursion)
│       └── FileHelpers/        # Téléchargement, extraction, SHA-256
└── Docker/
    ├── Dockerfile
    └── docker-compose.yml

Stack et Modèles


⚙️ Comment fonctionne le moteur de scan

root@kitploit:~
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

📦 Dépendances clés


📄 Licence

Ce projet est disponible sous la licence PolyForm Noncommercial 1.0.0, l'utilisation commerciale est interdite. Pour une licence commerciale ou des demandes, contactez : [email protected]

Télécharger l’outil
#MotifDescription
1Appel API directChaîne suspecte utilisée immédiatement dans un appel réseau
2Chaîne assignéeURL assignée à une variable, puis passée à un appel réseau
3Construction de chaîneURL construite par concaténation ("http://" + var + "/path") — technique d'obfuscation
4Interpolation de chaîneURL assemblée via interpolation ($"{part1}{part2}")
5Interpolation uniquement par caractèresURL construite caractère par caractère à partir d'un tableau de caractères — obfuscation avancée
6DefaultInterpolatedStringHandlerMécanisme d'interpolation bas niveau utilisé pour cacher les chaînes de l'analyse statique
7Appels API nusAppels réseau directs sans chaînes explicites (TcpClient.Connect, Socket.Connect, Process.Start)
DomaineTechnologie / Modèle
ArchitectureClean Architecture
Communication inter-couchesCQRS + MediatR
Analyse de code ILdnlib
Validation d'entréeFluentValidation + MediatR Pipeline Behavior
Mappage d'objetsAutoMapper
JournalisationSerilog (console + fichier journal quotidien)
Documentation APISwagger / OpenAPI
Base de donnéesEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory avec mise en pool de connexions
ConteneurisationDocker + Docker Compose
TestsxUnit + Moq
PaquetObjectif
dnlibDécompilation et analyse IL .NET
MediatRCQRS — pipeline de commandes/requêtes
FluentValidationValidation de requêtes
AutoMapperMappage d'objets inter-couches
SerilogJournalisation structurée
Pomelo.EntityFrameworkCore.MySqlORM MySQL
Swashbuckle.AspNetCoreInterface Swagger
xUnit + MoqTests unitaires