Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
NuReaper — Scanner Nuget | Kitploit
Ferramentas/GitHubGitHub/daanixpl/nureaper
Análise EstáticaScanners de VulnerabilidadesAnálise Dinâmica (Sandboxing)Análise de CódigoAnálise de MalwareDevSecOpsAnálise de BináriosInteligência de AmeaçasSegurança da Cadeia de Suprimentos
GitHubdaanixpl/nureaper

NuReaper

Scanner Nuget

23há 19 diasAinda não revisado
Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

NuReaper — Scanner de Segurança de Pacotes NuGet

⚠️ Trabalho em Andamento — O projeto está em desenvolvimento ativo. O motor de varredura principal está sendo reconstruído

NuReaper é uma API backend em .NET 8 que analisa automaticamente a segurança de pacotes NuGet. Você fornece um link para qualquer pacote NuGet, e o sistema baixa recursivamente toda a sua árvore de dependências, descompila o código compilado e escaneia cada método em busca de padrões maliciosos — retornando um relatório detalhado de ameaças.

🔍 Para leitores não técnicos: Pense nisso como instalar um aplicativo no seu celular. Junto com ele, dezenas de bibliotecas menores são instaladas automaticamente. O NuReaper inspeciona cada uma delas — analisando o código binário compilado real — e detecta se alguma delas tenta se conectar a servidores suspeitos, executar código oculto ou ofuscar seu verdadeiro comportamento.


🎯 O que o NuReaper faz?

Envie uma única requisição HTTP com a URL de um pacote NuGet, e o NuReaper irá:

  1. Construir a árvore completa de dependências — busca e mapeia recursivamente todos os pacotes dos quais o alvo depende (até 20 níveis de profundidade), detectando dependências circulares no processo
  2. Baixar e verificar cada pacote — obtém o arquivo .nupkg e calcula seu hash SHA-256
  3. Analisar o código IL compilado — descompila assemblies .NET e escaneia cada método de cada classe em busca de padrões suspeitos
  4. Pontuar o nível de ameaça — com base nos padrões detectados, contagem de achados, diversidade de tipos, pontuações de confiança e profundidade de ofuscação
  5. Retornar um relatório completo — com achados por pacote, rastreamentos de fluxo de código e o grafo completo de dependências

🔬 Padrões de Código Malicioso Detectados

O motor analisa o código no nível de instruções IL (Intermediate Language) e reconhece 7 padrões característicos de software malicioso:

#PadrãoDescrição
1Chamada Direta de APIString suspeita usada imediatamente em uma chamada de rede
2String AtribuídaURL atribuída a uma variável, depois passada para uma chamada de rede
3Construção de StringURL construída por concatenação ("http://" + var + "/path") — técnica de ofuscação
4Interpolação de StringURL montada via interpolação ($"{part1}{part2}")
5Interpolação Somente de CharsURL construída char a char a partir de um array de chars — ofuscação avançada
6DefaultInterpolatedStringHandlerMecanismo de interpolação de baixo nível usado para ocultar strings da análise estática
7Chamadas de API PurasChamadas de rede diretas sem strings explícitas (TcpClient.Connect, Socket.Connect, Process.Start)

Tipos de Ameaça Detectados

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

Pontuação do Nível de Ameaça (0–100)

O algoritmo de pontuação considera:

  • Nível máximo de perigo de qualquer achado individual
  • Número total de achados (até +30 pts)
  • Diversidade de tipos de ameaça detectados (até +15 pts)
  • Pontuação média de confiança entre os achados (+5 pts se >90%)
  • Presença de ofuscação — construção de string multi-hop (+10 pts)

📡 API

POST /api/PackageScan

Escaneia o pacote NuGet fornecido juntamente com sua árvore completa de dependências.

Requisição:

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

Resposta:

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

🏗️ Arquitetura

Construído sobre Clean Architecture com uma separação estrita de responsabilidades:

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 & Padrões

ÁreaTecnologia / Padrão
ArquiteturaClean Architecture
Comunicação entre camadasCQRS + MediatR
Análise de código ILdnlib
Validação de entradaFluentValidation + MediatR Pipeline Behavior
Mapeamento de objetosAutoMapper
LoggingSerilog (console + arquivo diário rotativo)
Documentação da APISwagger / OpenAPI
Banco de dadosEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory com pool de conexões
ContainerizaçãoDocker + Docker Compose
TestesxUnit + Moq

⚙️ Como o Motor de Varredura Funciona

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

📦 Dependências Principais

Baixar ferramenta