Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
NuReaper — Nuget スキャナー | Kitploit
ツール/GitHubGitHub/daanixpl/nureaper
静的分析脆弱性スキャナー動的分析 (サンドボックス)コード分析マルウェア分析DevSecOpsバイナリ解析脅威インテリジェンスサプライチェーンセキュリティ
GitHubdaanixpl/nureaper

NuReaper

Nuget スキャナー

リポジトリを見る
52ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

NuReaper — NuGet パッケージセキュリティスキャナー

⚠️ 作業進行中 — このプロジェクトは活発に開発されています。コアスキャンエンジンは機能しますが、データベース永続化、キャッシュ、および完全なテストカバレッジは今後のイテレーションで計画されています。

NuReaper は、NuGetパッケージのセキュリティを自動的に分析する .NET 8 バックエンドAPIです。任意のNuGetパッケージへのリンクを提供すると、システムはその依存関係ツリー全体を再帰的にダウンロードし、コンパイル済みコードを逆コンパイルして、すべてのメソッドを悪意のあるパターンでスキャンし、詳細な脅威レポートを返します。

🔍 技術に詳しくない読者向け: スマートフォンにアプリをインストールする場面を想像してください。一緒に多数の小さなライブラリが自動的にインストールされます。NuReaperはそのすべてを検査し、実際のコンパイル済みバイナリコードを調べて、そのいずれかが疑わしいサーバーに接続しようとしたり、隠しコードを実行しようとしたり、本来の動作を難読化しようとしたりしていないかを検出します。


🎯 NuReaperは何をするのか?

NuGetパッケージのURLを1つの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}")
5charのみの補間char配列から1文字ずつ構築された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

技術スタックとパターン

領域技術 / パターン
アーキテクチャクリーンアーキテクチャ
層間通信CQRS + MediatR
ILコード解析dnlib
入力検証FluentValidation + MediatR パイプラインビヘイビア
オブジェクトマッピングAutoMapper
ロギングSerilog (コンソール + 日次ローテーションファイル)
APIドキュメントSwagger / OpenAPI
データベースEntity Framework Core + MySQL (Pomelo)
HTTPIHttpClientFactory(接続プーリング付き)
コンテナ化Docker + Docker Compose
テストxUnit + Moq

⚙️ スキャンエンジンの仕組み

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

📦 主要依存関係

パッケージ用途
dnlib.NET ILの逆コンパイルと解析
MediatRCQRS — コマンド/クエリパイプライン
FluentValidationリクエスト検証
AutoMapper層間オブジェクトマッピング
Serilog構造化ロギング
Pomelo.EntityFrameworkCore.MySqlMySQL ORM
Swashbuckle.AspNetCoreSwagger UI
xUnit + Moq単体テスト

📄 ライセンス

このプロジェクトは、PolyForm Noncommercial License 1.0.0 の下で提供されています。商用利用は禁止されています。商用ライセンスやお問い合わせは、[email protected] までご連絡ください。