当前位置: 首页 > article >正文

️ Vulnhuntr:利用大型语言模型(LLM)进行零样本漏洞发现的工具

在网络安全领域,漏洞的发现和修复是保护系统安全的关键。今天,我要向大家介绍一款创新的工具——Vulnhuntr,这是一款利用大型语言模型(LLM)进行零样本漏洞发现的工具,能够自动分析代码,检测远程可利用的安全漏洞。

Vulnhuntr 简介

Vulnhuntr 是世界上首款利用 LLMs 和静态代码分析来识别远程可利用漏洞的工具。它能够自动创建并分析整个代码调用链,从远程用户输入开始,到服务器输出结束,检测出复杂、多步骤、绕过安全防护的漏洞,这些漏洞的复杂性远远超出了传统静态代码分析工具的能力。

漏洞发现

使用 Vulnhuntr,你可以帮助发现漏洞并获得奖励。如果你使用 Vulnhuntr 发现了漏洞,可以向 huntr.com 提交报告以获得奖励,并且可以通过提交 PR 将其添加到下面的列表中。

支持的漏洞类型

Vulnhuntr 目前支持以下类型的漏洞检测:

  • 本地文件包含 (LFI)
  • 任意文件覆盖 (AFO)
  • 远程代码执行 (RCE)
  • 跨站脚本 (XSS)
  • SQL 注入 (SQLI)
  • 服务器端请求伪造 (SSRF)
  • 不安全的直接对象引用 (IDOR)

安装和使用

Vulnhuntr 严格要求使用 Python 3.10,因为它使用了 Jedi 来解析 Python 代码,而 Jedi 在其他版本的 Python 中存在一些 bug。

推荐使用 pipx 或 Docker 来安装和运行 Vulnhuntr。

使用 Docker 安装:

bash

docker build -t vulnhuntr https://github.com/protectai/vulnhuntr.git#main
docker run --rm -e ANTHROPIC_API_KEY=sk-1234 -v /local/path/to/target/repo:/repo vulnhuntr:latest -r /repo -a target-file.py

使用 pipx 安装:

bash

pipx install git+https://github.com/protectai/vulnhuntr.git

或者,你可以直接从源代码使用 poetry 安装:

bash

git clone https://github.com/protectai/vulnhuntr
cd vulnhuntr && poetry install

使用命令行界面:

bash

usage: vulnhuntr.py [-h] -r ROOT [-a ANALYZE] [-l {claude,gpt}] [-v]

Analyze a GitHub project for vulnerabilities. Export your ANTHROPIC_API_KEY before running.

options:
  -h, --help            show this help message and exit
  -r ROOT, --root ROOT  Path to the root directory of the project
  -a ANALYZE, --analyze ANALYZE
                        Specific path or file within the project to analyze
  -l {claude,gpt}, --llm {claude,gpt}
                        LLM client to use (default: claude)
  -v, --verbosity       Increase output verbosity (-v for INFO, -vv for DEBUG)

例如,使用 Claude 分析整个仓库:

bash
python vulnhuntr.py -r /path/to/target/repo/

逻辑流程

Vulnhuntr 的逻辑流程包括:

  1. LLM 总结 README 并将其包含在系统提示中。
  2. LLM 对整个文件进行初步分析,并报告任何潜在的漏洞。
  3. Vulnhuntr 为 LLM 提供针对特定漏洞的提示,进行二次分析。
  4. 每次 LLM 分析代码时,它会从项目的其他文件中请求额外的上下文函数/类/变量。
  5. 它继续这样做,直到完成从用户输入到服务器处理的整个调用链,然后给出最终分析。
  6. 最终分析包括其推理、概念验证漏洞利用和置信度分数。

输出

Vulnhuntr 会生成一个详细的报告,描述分析文件中发现的漏洞。报告包括:

  • 每个文件的初始评估结果。
  • 带有上下文函数和类引用的二次评估结果。
  • 发现的漏洞的置信度分数。
  • 分析过程的日志。
  • 概念验证漏洞利用。

注意事项

使用 Vulnhuntr 时,请注意设置 LLM 提供商的消费限额或密切监控成本,因为这个工具可能会产生高额费用,因为它会尽可能多地将代码放入 LLMs 的上下文窗口中。

我们推荐使用 Claude 作为 LLM。通过测试,我们发现它比 GPT 更有效。

Vulnhuntr 是网络安全领域的一项重大创新,它利用了最新的人工智能技术来提高漏洞检测的效率和准确性。如果你对网络安全感兴趣,不妨试试 Vulnhuntr,它可能会成为你不可或缺的工具之一。🔍💻


http://www.kler.cn/news/367205.html

相关文章:

  • Electron 离线环境打包解决方案(electron-forge)
  • C++ 二级测试卷及答案
  • MySQL 安装及用户管理
  • RV1126音视频学习(二)-----VI模块
  • 面试篇!!!!!
  • 【javax maven项目缺少_Maven的依赖管理 引入依赖】
  • 【微服务】Java 对接飞书多维表格使用详解
  • 数据分析人员需要掌握sql到什么程度?
  • PHP写一个二维数组排序算法函数可以调用PHP内置函数
  • 【Linux | 网络I/O模型】五种网络I/O模型详解
  • Docker下载途径
  • 【Windows】电脑端口明明没有进程占用但显示端口被占用(动态端口)
  • 正则表达式使用举例一(Python下)
  • 220V降12V1A恒流点灯WT5112
  • 论文笔记(五十一)Challenges for Monocular 6-D Object Pose Estimation in Robotics
  • mysql8数据库备份
  • 合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能
  • 算法设计与分析——动态规划
  • FPGA学习(7)-线性序列机原理与应用,不同类型的LED控制开关
  • 《复旦学报(自然科学版)》
  • DataSophon集成ApacheImpala的过程
  • 深度学习:神经元(Neuron):人工神经网络中的基本单元
  • Java | Leetcode Java题解之第514题自由之路
  • Java 集合框架是什么?集合框架的优点有哪些?
  • 【nGrinder】性能压测平台记录文档(2)
  • web3对象如何连接以太网络节点