Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
NuReaper — Nuget scanner | Kitploit
도구/GitHubGitHub/daanixpl/nureaper
Static AnalysisVulnerability ScannersDynamic Analysis (Sandboxing)Code AnalysisMalware AnalysisDevSecOpsBinary AnalysisThreat IntelligenceSupply Chain Security
GitHubdaanixpl/nureaper

NuReaper

Nuget scanner

2개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

NuReaper — NuGet 패키지 보안 스캐너

⚠️ 작업 진행 중 — 이 프로젝트는 활발히 개발 중입니다. 핵심 스캔 엔진은 작동하지만, 데이터베이스 지속성, 캐싱, 전체 테스트 커버리지는 향후 반복에서 계획되어 있습니다.

NuReaper는 NuGet 패키지의 보안을 자동으로 분석하는 .NET 8 백엔드 API입니다. NuGet 패키지 링크를 제공하면 시스템이 전체 종속성 트리를 재귀적으로 다운로드하고, 컴파일된 코드를 디컴파일한 후 모든 메서드에서 악성 패턴을 스캔하여 상세한 위협 보고서를 반환합니다.

🔍 비기술적 독자를 위한 설명: 휴대폰에 앱을 설치하는 것과 같다고 생각하세요. 앱과 함께 수십 개의 작은 라이브러리가 자동으로 설치됩니다. NuReaper는 이 모든 라이브러리를 하나하나 검사하여 — 실제 컴파일된 바이너리 코드를 살펴보고 — 그중 어느 것이 의심스러운 서버에 연결하려 하거나, 숨겨진 코드를 실행하려 하거나, 실제 동작을 난독화하는지 탐지합니다.


🎯 NuReaper는 무엇을 하나요?

NuGet 패키지 URL로 단일 HTTP 요청을 보내면 NuReaper는 다음을 수행합니다:

  1. 전체 종속성 트리 구축 — 대상이 의존하는 모든 패키지를 재귀적으로 가져와 매핑하고(최대 20단계 깊이), 순환 종속성을 감지합니다.
  2. 각 패키지 다운로드 및 확인 — .nupkg 파일을 가져와 SHA-256 해시를 계산합니다.
  3. 컴파일된 IL 코드 분석 — .NET 어셈블리를 디컴파일하고 모든 클래스의 모든 메서드에서 의심스러운 패턴을 스캔합니다.
  4. 위협 수준 점수 산정 — 감지된 패턴, 발견 수, 유형 다양성, 신뢰도 점수, 난독화 깊이를 기반으로 합니다.
  5. 전체 보고서 반환 — 패키지별 발견 사항, 코드 흐름 추적, 전체 종속성 그래프를 포함합니다.

🔬 탐지된 악성 코드 패턴

엔진은 IL(중간 언어) 명령어 수준에서 코드를 분석하고 악성 소프트웨어의 특징적인 7가지 패턴을 인식합니다:

#패턴설명
1직접 API 호출의심스러운 문자열이 네트워크 호출에 즉시 사용됨
2문자열 할당URL이 변수에 할당된 후 네트워크 호출에 전달됨
3문자열 구성연결을 통해 URL 구성 ("http://" + var + "/path") — 난독화 기술
4문자열 보간보간을 통해 URL 조립 ($"{part1}{part2}")
5문자 전용 보간char 배열에서 문자별로 URL 구성 — 고급 난독화
6DefaultInterpolatedStringHandler정적 분석에서 문자열을 숨기는 데 사용되는 저수준 보간 메커니즘
7베어 API 호출명시적 문자열 없이 직접 네트워크 호출 (TcpClient.Connect, Socket.Connect, Process.Start)

탐지된 위협 유형

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점)
  • 발견 항목 전체의 평균 신뢰도 점수 (90% 초과 시 +5점)
  • 난독화 존재 — 다중 홉 문자열 구성 (+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 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

스택 및 패턴


⚙️ 스캔 엔진 작동 방식

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

📦 주요 종속성


📄 라이선스

이 프로젝트는 PolyForm 비상업적 라이선스 1.0.0에 따라 이용 가능하며, 상업적 사용은 금지됩니다. 상업적 라이선스 또는 문의 사항은 [email protected]으로 연락해 주십시오.

도구 다운로드
영역기술 / 패턴
아키텍처클린 아키텍처
계층 간 통신CQRS + MediatR
IL 코드 분석dnlib
입력 유효성 검사FluentValidation + MediatR 파이프라인 동작
객체 매핑AutoMapper
로깅Serilog (콘솔 + 일별 롤링 파일)
API 문서Swagger / OpenAPI
데이터베이스Entity Framework Core + MySQL (Pomelo)
HTTP연결 풀링을 사용한 IHttpClientFactory
컨테이너화Docker + Docker Compose
테스팅xUnit + Moq
패키지용도
dnlib.NET IL 디컴파일 및 분석
MediatRCQRS — 명령/쿼리 파이프라인
FluentValidation요청 유효성 검사
AutoMapper계층 간 객체 매핑
Serilog구조화된 로깅
Pomelo.EntityFrameworkCore.MySqlMySQL ORM
Swashbuckle.AspNetCoreSwagger UI
xUnit + Moq단위 테스트