Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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 — Nuget scanner | Kitploit
Ferramentas/GitHubGitHub/daanixpl/nureaper
Static AnalysisVulnerability ScannersDynamic Analysis (Sandboxing)Code AnalysisMalware AnalysisDevSecOpsBinary AnalysisThreat IntelligenceSupply Chain Security
GitHubdaanixpl/nureaper

NuReaper

Nuget scanner

há 1 mêsAinda não revisado

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
Ver Repositório

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:

Tipos de Ameaça Detectados

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

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

Resposta:

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

🏗️ Arquitetura

Construída sobre Arquitetura Limpa com uma separação estrita de responsabilidades:

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


⚙️ Como o Mecanismo de Varredura Funciona

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


📄 Licença

Este projeto está disponível sob a Licença PolyForm Não Comercial 1.0.0, uso comercial é proibido. Para licenciamento comercial ou consultas, entre em contato: [email protected]

Baixar ferramenta
#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)
Á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
PacoteFinalidade
dnlibDescompilação e análise IL .NET
MediatRCQRS — pipeline de comando/consulta
FluentValidationValidação de requisições
AutoMapperMapeamento de objetos entre camadas
SerilogRegistro estruturado de logs
Pomelo.EntityFrameworkCore.MySqlMySQL ORM
Swashbuckle.AspNetCoreSwagger UI
xUnit + MoqTestes unitários