专栏名称: FreeBuf
国内关注度最高的全球互联网安全新媒体
目录
相关文章推荐
数据何规  ·  关于DeepSeek官方信息发布及服务渠道的说明 ·  21 小时前  
数据何规  ·  关于DeepSeek官方信息发布及服务渠道的说明 ·  21 小时前  
波纹的低风险杠杆  ·  20250205 越看越凉的古茗 ·  昨天  
波纹的低风险杠杆  ·  20250205 越看越凉的古茗 ·  昨天  
国家林业和草原局  ·  自然资源部2025年生态文明大讲堂第一讲开讲 ·  昨天  
国家林业和草原局  ·  自然资源部2025年生态文明大讲堂第一讲开讲 ·  昨天  
湖南市场监管  ·  转存了解!2025版流感诊疗方案 ·  3 天前  
湖南市场监管  ·  转存了解!2025版流感诊疗方案 ·  3 天前  
51好读  ›  专栏  ›  FreeBuf

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

FreeBuf  · 公众号  · 互联网安全  · 2024-09-04 19:03

正文


关于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 的函数不提供解释。


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



许可证协议


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


项目地址


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

FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊

https://www.nvidia.com/en-us/geforce/drivers/https://pytorch.org/get-started/locally/https://ghidra-sre.org/https://arxiv.org/abs/2310.06825https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2https://github.com/polaco1782/linux-static-binaries/blob/master/x86-i686/pure-authd






请到「今天看啥」查看全文