Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
NuReaper — Nuget 扫描器。 | Kitploit
工具/GitHubGitHub/daanixpl/nureaper
静态分析漏洞扫描器动态分析 (沙盒)代码分析恶意软件分析DevSecOps二进制分析威胁情报供应链安全
GitHubdaanixpl/nureaper

NuReaper

Nuget 扫描器。

133个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

NuReaper — NuGet 包安全扫描器

⚠️ 正在开发中 — 该项目正在积极开发中。核心扫描引擎已正常工作;数据库持久化、缓存和完整测试覆盖计划在后续迭代中实现。

NuReaper 是一个 .NET 8 后端 API,可自动分析 NuGet 包的安全性。您提供任何 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纯字符插值从字符数组逐字符构建 URL ——高级混淆
6DefaultInterpolatedStringHandler用于从静态分析中隐藏字符串的低级插值机制
7裸 API 调用无显式字符串的直接网络调用(TcpClient.Connect、Socket.Connect、Process.Start)

检测到的威胁类型

网络:      HttpClient、WebClient、DNS、TcpClient、WebSocket
执行:      Process.Start、Assembly.Load、Activator.CreateInstance
低级:      DllImport、VirtualAlloc、CreateThread、NtCreateThreadEx
系统:      ManagementObjectSearcher(WMI)
基于字符串:拼接、字符数组、插值、StringBuilder
可疑:      URL、IP 地址、.onion 地址、Base64

威胁等级评分(0–100)

评分算法考虑:

  • 任何单个发现项的最高危险级别
  • 发现总数(最高 +30 分)
  • 检测到的威胁类型多样性(最高 +15 分)
  • 所有发现项的平均置信度分数(>90% 时 +5 分)
  • 存在混淆——多跳字符串构造(+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": [...]
  }
}

🏗️ 架构

基于整洁架构构建,具有严格的关注点分离:

NuReaperBackend/
├── NuReaper.Api/               # API 层 — 控制器、中间件、启动
├── 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/        # 在 IL 指令中定位 API 调用
│       │   ├── VariableAnalysis/# 跨 IL 跟踪变量值
│       │   └── StringAnalysis/ # 从片段重建字符串
│       ├── Parsers/            # .nuspec 文件解析
│       ├── GraphBuilders/      # 依赖图构建(BFS + 递归)
│       └── FileHelpers/        # 下载、解压、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

⚙️ 扫描引擎工作原理

Package URL
    │
    ▼
DependencyGraphBuilder          ← 从 .nuspec 文件构建依赖图
    │  (递归 + BFS,循环检测)
    ▼
唯一包列表
    │
    ▼  (并行,信号量 SemaphoreSlim — CPU-1 线程)
每个包的 NetworkApiCallScan
    ├── DownloadPackageAsync     ← 获取 .nupkg
    ├── CalculateSha256          ← 完整性验证
    ├── ExtractNupkgAsync        ← 解压归档
    └── GetAssemblyFiles         ← 列出 .dll 文件
            │
            ▼  (Parallel.ForEachAsync)
        ScanModule(每个 .dll)
            │
            ▼  (Parallel.ForEach — 所有类型和方法)
        ScanMethod(每个方法)
            │
            ▼  (7 种模式检测器)
        Pattern1..7 → FindingSummaryDto
            │
            ▼
    CalculateThreatLevel         ← 评分 0–100
    │
    ▼
ScanPackageResultResponse

📦 关键依赖

包用途
dnlib.NET IL 反编译与分析
MediatRCQRS — 命令/查询管道
FluentValidation请求验证
AutoMapper跨层对象映射
Serilog结构化日志记录
Pomelo.EntityFrameworkCore.MySqlMySQL ORM
Swashbuckle.AspNetCoreSwagger UI
xUnit + Moq单元测试

📄 许可证

本项目遵循 PolyForm 非商业许可证 1.0.0,禁止商业使用。 如需商业许可或咨询,请联系:[email protected]

下载工具