首页 > 其他分享 >Monocle:一款基于LLM的二进制文件自然语言搜索工具

Monocle:一款基于LLM的二进制文件自然语言搜索工具

时间:2024-09-04 13:55:11浏览次数:9  
标签:Monocle LLM 二进制 -- https 工具 自然语言

关于Monocle

Monocle是一款基于LLM的二进制文件自然语言搜索工具,该工具由LLM驱动,用于对已编译的目标二进制文件执行自然语言搜索,并查找加密代码、密码字符串和安全缺陷漏等。

功能介绍

Monocle 是一款由大型语言模型支持的工具,用于对已编译的目标二进制文件执行自然语言搜索。Monocle 可以配备二进制文件和搜索条件(例如身份验证代码、易受攻击的代码、密码字符串等),它会对二进制文件进行反编译,并使用其内置的 LLM 来识别和评分符合条件的代码区域。

其中功能包括:

1、二进制代码搜索:无需任何先验知识,Monocle 将支持回答与目标相关的二进制分析问题;

2、自然语言和开放式提问:由于 Monocle 由 LLM 支持,因此传递给它的查询以纯文本形式编写;

3、已启用Ghidra:Monocle使用了无头Ghidra以实现对已编译二进制文件执行反编译;

工具要求

系统要求

1、Monocle 使用 Mistral-7B-Instruct-v0.2 模型,并尽可能将处理任务转移到系统的 GPU。建议在至少具有 16GB RAM 和至少具有 4GB 内存的专用 Nvidia GPU 的机器上运行 Monocle。但是,它可以在配置较低的机器上运行,但速度会慢得多;

2、Monocle 已经在 Windows 11 上进行了测试,但是它应该与 Unix 和其他系统兼容;

3、Monocle 还需要Nvidia CUDA,这可以大大提高 LLM 的性能;

4、Monocle 需要安装并可访问Ghidra;

依赖组件

argparse

rich

setuptools

huggingface_hub

numpy

accelerate

pyyaml

torchvision -index-url https://download.pytorch.org/whl/cu118

torchaudio -index-url https://download.pytorch.org/whl/cu118

bitsandbytes>=0.39.0

accelerate>=0.16.0,<1

transformers[torch]>=4.28.1

torch>=1.13.1

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/arphanetx/Monocle.git

然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd Monocle

pip install -r requirements

然后可以使用./setup.py脚本安装Monocle:

python -m pip insatll .

工具使用

二进制文件自然语言搜索

Windows:

monocle.exe --binary <path-to-binary> --find <component-to-find>

Unix:

monocle --binary <path-to-binary> --find <component-to-find>

工具输出

当 Monocle 处理提供的二进制文件中的函数时,它会对所有分析的函数进行实时跟踪,按最高分数排序,分数在 0 到 10 之间(其中 0 表示函数不符合搜索条件,10 表示符合),同时会解释为什么获得该分数,分数为 0 的函数不提供解释。

工具实时显示的数据格式如下所示:

工具运行演示

在下面的例子中,演示了使用Monocle对pure-authd x86代码进行搜索,并尝试寻找身份认证码:

python.exe /Monocle/monocle.py --binary "..\linux-static-binaries-master\linux-static-binaries-master\x86-i686\pure-authd" --find "authentication code"

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可协议。

项目地址

Monocle:【GitHub传送门

参考资料

Official GeForce Drivers | NVIDIA

Start Locally | PyTorch

https://ghidra-sre.org/

https://arxiv.org/abs/2310.06825

https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2

https://github.com/polaco1782/linux-static-binaries/blob/master/x86-i686/pure-authd

标签:Monocle,LLM,二进制,--,https,工具,自然语言
From: https://blog.csdn.net/FreeBuf_/article/details/141891969

相关文章

  • 九银十拿到大模型(LLM)offer,面试八股
    金九银十拿到大模型(LLM)offer,面试八股从事大模型的朋友在金J九银十拿到了一份不错的offer,面试十几家公司,通过了六家。好在分享了大佬总结的大模型方向面试的常见题目(含答案),短时间内过了一边,能针对的回答。有了面试框架更容易拿到offer,分享给大家,祝大家都能拿到自己心仪的o......
  • From "LLM" to "Agent"(从大语言模型到智能体)
    比尔·盖茨近期发表了一篇博客,其中谈到Agents将会是LLM的未来方向。LLM是一个Decoder,是Agent的大脑。LLM和Agent的区别,正如GPT-4和ChatGPT的区别。1Intro如图所示:Agents具有运用“Tools”的能力,可以调用外部api或沙盘来执行代码;Agents具有多种“Memory”的能力,短期记忆......
  • LLM-文心一言:线程窃取
    线程窃取,也称为工作窃取(Work-Stealing),是一种多线程和并行计算中的负载平衡策略。这种策略允许那些已经完成了自己任务的线程去“窃取”其他线程尚未完成的任务,从而尽可能均衡地利用所有可用的计算资源。以下是关于线程窃取(工作窃取)的详细解释:一、定义与原理定义:线程窃取是指当......
  • LLM大模型基础知识学习总结
    大家好,我是Edison。在这个已经被大模型包围的时代,不了解一点大模型的基础知识和相关概念,可能出去聊天都接不上话。刚好近期我也一直在用GPT和GitHubCopilot,也刚好对这些基础知识很感兴趣,于是学习了一下,做了如下的整理总结,分享与你!一句话描述GPTGPT:GenerativePre-TrainingTra......
  • 使用docker部署tensorrtllm推理大模型baichuan2-7b
    简介大模型的推理框架,我之前用过vllm和mindie。近期有项目要用tensorrtllm,这里将摸索的过程记录下,特别是遇到的问题。我的环境是Linux+rt3090准备docker环境本次使用docker镜像部署,需要从网上拉取:dockerpullnvcr.io/nvidia/tritonserver:24.08-trtllm-python-py3Th......
  • 自然语言处理NLP入门核心概念扫盲
    前言自然语言处理(NLP)是一个多学科领域,它融合了计算机科学、人工智能和语言学,使计算机能够理解、解释和生成人类语言。它包含多个子领域,如下:NLU:自然语言理解**NaturalLanguageUnderstanding,**理解文本和语音背后的含义。NLG:自然语言生成**NaturalLanguageGeneration,**从数据......
  • 【大模型论文】Seed-ASR:基于llm的语音识别理解不同的语音和上下文
    研究背景1.研究问题:这篇文章要解决的问题是如何在现代自动语音识别(ASR)模型中,利用大规模语言模型(LLM)来提高识别准确性,特别是在多领域、多语言、多口音和多种应用场景下。2.研究难点:该问题的研究难点包括:现有端到端模型在数据匹配场景下表现良好,但在处理复杂语境和多语言场景时逐渐接......
  • 自然语言处理领域的两大巨头,谁将引领未来?
    在探索自然语言处理(NLP)及更广泛的人工智能(AI)领域的未来走向时,我们不得不将目光投向几个关键玩家:GPT-4o作为OpenAI的杰作,Llama作为Meta(原Facebook)的力作,以及那些正迅速崭露头角的新兴力量。这两者各自拥有独特的优势,并将在未来的发展中扮演至关重要的角色。本文将从专业角度......
  • 【新书】掌握大语言模型:高级技术、应用、尖端方法和顶尖LLMs
    主要特性探索自然语言处理(NLP)基础和大语言模型基本原理,包括基础知识、挑战和模型类型。学习数据处理和预处理技术,以实现高效的数据管理。了解神经网络概述,包括神经网络基础、循环神经网络(RNNs)、卷积神经网络(CNNs)和变压器模型。利用大语言模型的策略和示例。描述通过强大的大语言模......
  • Neural Magic发布GuideLLM:评估和优化大型语言模型(LLM)部署的强大工具
    大型语言模型(LLMs)的部署和优化已成为各种应用的关键。NeuralMagic推出了GuideLLM,以应对对高效、可扩展且具有成本效益的LLM部署日益增长的需求。这款强大的开源工具旨在评估和优化LLM的部署,以确保它们在满足现实中的推理需求的同时,具有高性能和最小的资源消耗。GuideLLM概述......