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.

··Feeds·Contato·Privacidade·© 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

13há 3 mesesAinda 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 mecanismo principal de varredura está funcional; persistência de banco de dados, cache e cobertura total de testes estão planejados para iterações futuras.

NuReaper é uma API backend .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 árvore de dependências, descompila o código compilado e varre cada método em busca de padrões maliciosos — retornando um relatório detalhado de ameaças.

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


🎯 O que o NuReaper faz?

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

  1. Construir a árvore de dependências completa — busca e mapeia recursivamente todos os pacotes dos quais o alvo depende (até 20 níveis de profundidade), detectando dependências circulares ao longo do caminho
  2. Baixar e verificar cada pacote — busca o arquivo .nupkg e calcula seu hash SHA-256
  3. Analisar o código IL compilado — descompila assemblies .NET e varre 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, rastreios de fluxo de código e o grafo de dependências completo

🔬 Padrões de Código Malicioso Detectados

O mecanismo 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 de API DiretaString 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 Apenas com CaracteresURL construída caractere por caractere a partir de um array de caracteres — ofuscação avançada
6DefaultInterpolatedStringHandlerMecanismo de interpolação de baixo nível usado para ocultar strings da análise estática
7Chamadas de API NuasChamadas de rede diretas sem strings explícitas (TcpClient.Connect, Socket.Connect, Process.Start)

Tipos de Ameaça Detectados

Rede:         HttpClient, WebClient, DNS, TcpClient, WebSocket
Execução:     Process.Start, Assembly.Load, Activator.CreateInstance
Baixo nível:  DllImport, VirtualAlloc, CreateThread, NtCreateThreadEx
Sistema:      ManagementObjectSearcher (WMI)
Baseado em string: Concatenation, CharArray, Interpolation, StringBuilder
Suspeito:     URL, IP address, .onion address, Base64

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

O algoritmo de pontuação leva em conta:

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

📡 API

POST /api/PackageScan

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

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ída sobre Arquitetura Limpa com uma separação estrita de responsabilidades:

NuReaperBackend/
├── NuReaper.Api/               # Camada de API — controladores, middleware, inicialização
├── NuReaper.Application/       # Camada de Aplicação — comandos, interfaces, DTOs, validação
├── NuReaper.Domain/            # Núcleo do Domínio — entidades, enums, abstrações
├── NuReaper.Infrastructure/    # Implementações — scanners, parsers, repositórios
│   └── Repositories/
│       ├── Scanners/           # Mecanismo de análise IL
│       │   ├── Analysis/       # ScanModule, ScanMethod, NetworkApiCallScan
│       │   ├── Detectors/      # 7 detectores de padrões (Pattern1–Pattern7)
│       │   ├── Patterns/       # PatternRegistry (regex: URL, IP, .onion, Base64)
│       │   ├── RiskCalculation/# Algoritmo de pontuação de ameaça
│       │   ├── Finders/        # Localizando chamadas de API em instruções IL
│       │   ├── VariableAnalysis/# Rastreando valores de variáveis em IL
│       │   └── StringAnalysis/ # Reconstruindo strings a partir de fragmentos
│       ├── Parsers/            # Análise de arquivos .nuspec
│       ├── GraphBuilders/      # Construção do grafo de dependências (BFS + recursão)
│       └── FileHelpers/        # Download, extração, SHA-256
└── Docker/
    ├── Dockerfile
    └── docker-compose.yml

Pilha Tecnológica e 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
Registro de logsSerilog (console + rolling daily file)
Documentação da APISwagger / OpenAPI
Banco de dadosEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory with connection pooling
ContainerizaçãoDocker + Docker Compose
TestesxUnit + Moq

⚙️ Como o Mecanismo de Varredura Funciona

Package URL
    │
    ▼
DependencyGraphBuilder          ← constrói grafo de dependências a partir de arquivos .nuspec
    │  (recursão + BFS, detecção de ciclos)
    ▼
Lista de pacotes únicos
    │
    ▼  (paralelo, SemaphoreSlim — threads CPU-1)
NetworkApiCallScan por pacote
    ├── DownloadPackageAsync     ← busca .nupkg
    ├── CalculateSha256          ← verificação de integridade
    ├── ExtractNupkgAsync        ← descompacta o arquivo
    └── GetAssemblyFiles         ← lista arquivos .dll
            │
            ▼  (Parallel.ForEachAsync)
        ScanModule (por .dll)
            │
            ▼  (Parallel.ForEach — todos os tipos e métodos)
        ScanMethod (por método)
            │
            ▼  (7 detectores de padrões)
        Pattern1..7 → FindingSummaryDto
            │
            ▼
    CalculateThreatLevel         ← pontuação 0–100
    │
    ▼
ScanPackageResultResponse

📦 Dependências Principais

Baixar ferramenta