freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Callisto:一款基于人工智能实现的二进制代码漏洞分析工具
2023-10-18 11:26:38

关于Callisto

Callisto是一款基于人工智能实现的二进制代码漏洞分析工具,该工具的主要目的是通过自动化方式反编译研究人员输入的二进制代码文件,并通过输出的伪代码进行迭代分析,以查找C伪代码中潜在的安全漏洞。

该工具使用了Ghidra的Headless反编译器来驱动二进制代码文件的反编译和分析部分,伪代码的分析最早是由Semgrep SAST工具实现的,但现在迁移到了GPT-3.5-Turbo,以验证Semgrep的发现或识别其他潜在的安全漏洞。

该工具可以帮助广大研究人员分析二进制代码文件或识别0 day漏洞,通过分析,我们可以识别出二进制代码文件中的特定区域或易受攻击的组件,然后通过动态测试来对发现进行验证和利用。

工具要求

1、如果你想要使用GPT-3.5-Turbo功能的话,你必须要在OpenAI网站上创建一个API令牌,并将其存储到项目目录下的config.txt文件中;

2、Ghidra

3、Semgrep:pip install semgrep;

4、requirements.txt中指定的其他依赖组件;

5、确保你Ghidra目录的正确路径在config.txt文件中进行了配置;

工具安装

由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/JetP1ane/Callisto.git

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

cd Callisto

pip install -r requirements.txt

工具使用

我们可以直接使用下列命令运行Callisto:

python callisto.py -b <path_to_binary> -ai -o <path_to_output_file>

参数解析

-ai(可选):启动OpenAI GPT-3.5-Turbo分析 功能,你需要先在config.txt配置文件中填写有效的OpenAI API密钥;

-o(可选):指定存储输出结果的文件路径;

-all:该参数将控制工具通过OpenAI分析功能执行工具所有的功能,并忽略Semgrep的扫描结果,该参数需要结合-ai参数一起使用;

使用样例

python callisto.py -b vulnProgram.exe -ai -o results.txt
python callisto.py -b vulnProgram.exe -ai -all -o results.txt

工具运行截图

工具使用演示

项目地址

Callisto:【GitHub传送门

参考资料

https://github.com/0xdea

https://security.humanativaspa.it/automating-binary-vulnerability-discovery-with-ghidra-and-semgrep/

https://platform.openai.com/account/api-keys

https://github.com/NationalSecurityAgency/ghidra

# 人工智能 # 二进制 # AI # 二进制安全 # 二进制代码分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录