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

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

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

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

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

Категории

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

NuReaper

Сканер Nuget

2 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

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

⚠️ В разработке — Проект активно развивается. Основной движок сканирования работает; сохранение в базу данных, кэширование и полное покрытие тестами запланированы на следующие итерации.

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

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


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

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

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

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

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

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

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

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

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

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

📡 API

POST /api/PackageScan

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

Запрос:

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

Ответ:

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

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

Построена на Чистой архитектуре с строгим разделением ответственности:

root@kitploit:~
NuReaperBackend/
├── NuReaper.Api/               # Уровень API — контроллеры, middleware, запуск
├── NuReaper.Application/       # Уровень приложения — команды, интерфейсы, DTO, валидация
├── NuReaper.Domain/            # Ядро предметной области — сущности, перечисления, абстракции
├── NuReaper.Infrastructure/    # Реализации — сканеры, парсеры, репозитории
│   └── Repositories/
│       ├── Scanners/           # Движок анализа IL
│       │   ├── Analysis/       # ScanModule, ScanMethod, NetworkApiCallScan
│       │   ├── Detectors/      # 7 детекторов паттернов (Pattern1–Pattern7)
│       │   ├── Patterns/       # PatternRegistry (регулярные выражения: URL, IP, .onion, Base64)
│       │   ├── RiskCalculation/# Алгоритм оценки угроз
│       │   ├── Finders/        # Поиск вызовов API в инструкциях IL
│       │   ├── VariableAnalysis/# Отслеживание значений переменных в IL
│       │   └── StringAnalysis/ # Восстановление строк из фрагментов
│       ├── Parsers/            # Разбор файлов .nuspec
│       ├── GraphBuilders/      # Построение графа зависимостей (BFS + рекурсия)
│       └── FileHelpers/        # Загрузка, извлечение, SHA-256
└── Docker/
    ├── Dockerfile
    └── docker-compose.yml

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


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

root@kitploit:~
Package URL
    │
    ▼
DependencyGraphBuilder          ← строит граф зависимостей из файлов .nuspec
    │  (рекурсия + BFS, обнаружение циклов)
    ▼
List of unique packages
    │
    ▼  (параллельно, SemaphoreSlim — потоки CPU-1)
NetworkApiCallScan per package
    ├── DownloadPackageAsync     ← загружает .nupkg
    ├── CalculateSha256          ← проверка целостности
    ├── ExtractNupkgAsync        ← распаковывает архив
    └── GetAssemblyFiles         ← выводит список .dll файлов
            │
            ▼  (Parallel.ForEachAsync)
        ScanModule (per .dll)
            │
            ▼  (Parallel.ForEach — все типы и методы)
        ScanMethod (per method)
            │
            ▼  (7 детекторов паттернов)
        Pattern1..7 → FindingSummaryDto
            │
            ▼
    CalculateThreatLevel         ← оценка 0–100
    │
    ▼
ScanPackageResultResponse

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


📄 Лицензия

Этот проект доступен по лицензии PolyForm Noncommercial License 1.0.0, коммерческое использование запрещено. Для коммерческого лицензирования или запросов обращайтесь: [email protected]

Скачать инструмент
#ПаттернОписание
1Прямой вызов APIПодозрительная строка немедленно используется в сетевом вызове
2Присвоение строкиURL присваивается переменной, затем передаётся в сетевой вызов
3Конструирование строкиURL строится через конкатенацию ("http://" + var + "/path") — метод обфускации
4Интерполяция строкURL собирается через интерполяцию ($"{part1}{part2}")
5Интерполяция только символовURL строится посимвольно из массива символов — продвинутая обфускация
6DefaultInterpolatedStringHandlerНизкоуровневый механизм интерполяции, используемый для скрытия строк от статического анализа
7Прямые вызовы APIПрямые сетевые вызовы без явных строк (TcpClient.Connect, Socket.Connect, Process.Start)
ОбластьТехнология / Паттерн
Архитектура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
ПакетНазначение
dnlibДекомпиляция и анализ .NET IL
MediatRCQRS — конвейер команд/запросов
FluentValidationВалидация запросов
AutoMapperМежуровневое отображение объектов
SerilogСтруктурированное логирование
Pomelo.EntityFrameworkCore.MySqlORM для MySQL
Swashbuckle.AspNetCoreSwagger UI
xUnit + MoqМодульное тестирование