Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
NuReaper — Сканер Nuget | Kitploit
Инструменты/GitHubGitHub/daanixpl/nureaper
Статический анализСканеры уязвимостейДинамический анализ (песочница)Анализ КодаАнализ вредоносных программDevSecOpsАнализ Бинарных ФайловРазведка угрозБезопасность Цепочки Поставок
GitHubdaanixpl/nureaper

NuReaper

Сканер Nuget

2421 дней назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

NuReaper — сканер безопасности пакетов NuGet

⚠️ В разработке — Проект активно развивается. Ядро сканирования перестраивается

NuReaper — это backend API на .NET 8, который автоматически анализирует безопасность пакетов NuGet. Вы передаёте ссылку на любой пакет NuGet, а система рекурсивно скачивает всё дерево его зависимостей, декомпилирует скомпилированный код и сканирует каждый метод на наличие вредоносных паттернов — возвращая подробный отчёт об угрозах.

🔍 Для нетехнических читателей: Представьте, что вы устанавливаете приложение на телефон. Вместе с ним автоматически устанавливаются десятки меньших библиотек. NuReaper проверяет каждую из них — изучая фактический скомпилированный бинарный код — и определяет, пытается ли какая-либо из них подключиться к подозрительным серверам, выполнить скрытый код или замаскировать своё истинное поведение.


🎯 Что делает NuReaper?

Отправьте один HTTP-запрос с URL пакета NuGet, и NuReaper:

  1. Построит полное дерево зависимостей — рекурсивно получает и отображает все пакеты, от которых зависит целевой пакет (до 20 уровней вглубь), попутно обнаруживая циклические зависимости
  2. Скачает и проверит каждый пакет — получает файл .nupkg и вычисляет его хеш SHA-256
  3. Проанализирует скомпилированный IL-код — декомпилирует сборки .NET и сканирует каждый метод каждого класса на наличие подозрительных паттернов
  4. Оценит уровень угрозы — на основе обнаруженных паттернов, количества находок, разнообразия типов, оценок уверенности и глубины обфускации
  5. Вернёт полный отчёт — с находками по каждому пакету, трассировками потоков кода и полным графом зависимостей

🔬 Обнаруживаемые паттерны вредоносного кода

Движок анализирует код на уровне инструкций IL (Intermediate Language) и распознаёт 7 паттернов, характерных для вредоносного ПО:

#ПаттернОписание
1Прямой вызов APIПодозрительная строка немедленно используется в сетевом вызове
2Присвоение строкиURL присваивается переменной, затем передаётся в сетевой вызов
3Конструирование строкиURL строится путём конкатенации ("http://" + var + "/path") — техника обфускации
4Интерполяция строкURL собирается через интерполяцию ($"{part1}{part2}")
5Интерполяция только из символовURL строится посимвольно из массива символов — продвинутая обфускация
6DefaultInterpolatedStringHandlerНизкоуровневый механизм интерполяции, используемый для сокрытия строк от статического анализа
7Голые вызовы APIПрямые сетевые вызовы без явных строк (TcpClient.Connect, Socket.Connect, Process.Start)

Обнаруживаемые типы угроз

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

Оценка уровня угрозы (0–100)

Алгоритм оценки учитывает:

  • Максимальный уровень опасности любой отдельной находки
  • Общее количество находок (до +30 баллов)
  • Разнообразие обнаруженных типов угроз (до +15 баллов)
  • Среднюю оценку уверенности по всем находкам (+5 баллов, если >90%)
  • Наличие обфускации — многошаговое конструирование строк (+10 баллов)

📡 API

POST /api/PackageScan

Сканирует указанный пакет NuGet вместе со всем деревом его зависимостей.

Запрос:

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

Ответ:

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

🏗️ Архитектура

Построен на Clean Architecture со строгим разделением ответственности:

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

Стек и паттерны

ОбластьТехнология / Паттерн
АрхитектураClean Architecture
Межслойное взаимодействиеCQRS + MediatR
Анализ IL-кодаdnlib
Валидация входных данныхFluentValidation + MediatR Pipeline Behavior
Маппинг объектовAutoMapper
ЛогированиеSerilog (консоль + ежедневный ротационный файл)
Документация APISwagger / OpenAPI
База данныхEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory с пулом соединений
КонтейнеризацияDocker + Docker Compose
ТестированиеxUnit + Moq

⚙️ Как работает движок сканирования

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

📦 Ключевые зависимости

ПакетНазначение
dnlibДекомпиляция и анализ .NET IL
MediatRCQRS — конвейер команд/запросов
FluentValidationВалидация запросов
AutoMapperМежслойный маппинг объектов
SerilogСтруктурированное логирование
Pomelo.EntityFrameworkCore.MySqlORM для MySQL
Swashbuckle.AspNetCoreSwagger UI
xUnit + MoqМодульное тестирование

📄 Лицензия

Скачать инструмент