Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
lava — LAVA: 大规模自动化漏洞添加 | Kitploit
工具/GitHubGitHub/panda-re/lava
漏洞分析模糊测试二进制分析论文与研究学习与教育
GitHubpanda-re/lava

lava

LAVA: 大规模自动化漏洞添加

查看仓库
417651个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LAVA:大规模自动化漏洞添加

发布 Lava 包和容器

Lava 测试

目前,由于缺乏基准真值语料库(即包含已知漏洞且具有触发输入的软件),评估和改进漏洞查找工具面临困难。LAVA 尝试通过向软件自动注入漏洞来解决这一问题。每个 LAVA 漏洞都附带一个可触发它的输入,而正常输入极不可能触发该漏洞。这些漏洞虽是合成的,但我们认为,从它们嵌入程序深层且由真实输入触发这一意义上讲,仍然是逼真的。我们的工作为按需生成大规模基准真值漏洞语料库奠定了基础,从而能够进行严格的工具评估,并为工具开发者提供高质量的目标。

LAVA 是麻省理工学院林肯实验室、纽约大学和东北大学合作的成果。

快速开始

Docker

LAVA master 分支的最新版本会基于 Ubuntu 22.04 自动构建为 Docker 镜像,并发布到 Docker Hub。大多数用户会使用 lava 容器,其中安装了 PANDA、LAVA 及其运行时依赖,但为了减小容器体积,不包含构建工件或源代码。

要使用 lava 容器,可以从 Docker Hub 拉取:

root@kitploit:~
$ docker pull pandare/lava

或从此仓库构建:

root@kitploit:~
$ DOCKER_BUILDKIT=1 docker build lava .

Ubuntu, Debian

本地安装

在运行 Ubuntu 22.04 的系统上,可以直接运行 bash install.sh。 请注意,此安装脚本将安装软件包并对系统进行更改。 可以使用 sudo apt-get remove lava 移除这些二进制文件。

完成二进制文件安装后,可以运行 pip install python/ 进行本地安装。

注意:Python 包需要编译二进制文件时生成的 SQL 文件,该文件会被放置在 python/src/pyroclastic/data/lava.sql 中。 如果没有此文件,Python 包将无法正常工作。

常规安装

或者,可以手动安装 LAVA 的依赖项,然后从源码构建。 下载位于 releases 中的 Debian 包。然后安装 Python 包:pip install pyroclastic。

最终步骤

使用 host.json

接下来,运行 init_host 在 ~/.lava 目录中生成一个 host.json 文件。 此文件用于存储特定于机器的设置。 你可以根据需要编辑这些设置,但默认值应该可用,请参见 vars.py。

需要注意的几个值如下:

  • pguser 数据库用户名,当前默认为 postgres
  • host 包含所有 LAVA 漏洞的 Postgres SQL 数据库名称。目前默认为 database,但如果你本地安装了 LAVA,很可能需要将其改为 localhost

注意:你还需要为 Postgres SQL 数据库设置两个环境变量:

  • POSTGRES_PASS Postgres SQL 用户的密码
  • POSTGRES_USER Postgres SQL 数据库的主机名

项目配置

项目配置文件位于 target_configs 目录中,每个配置位于 target_configs/projectname/projectname.json。 这些配置文件中指定的路径是相对于 host.json 文件中设置的值。

设置 Postgres SQL 数据库

如前所述,应该创建一个 Postgres SQL 用户。可以使用脚本来利用环境变量完成以下操作:

  • 使用环境变量提供的用户名和密码创建用户。
  • 更新主机上的 Postgres SQL 数据库,以接受来自外部源(例如 LAVA Docker 容器)的流量。

使用方式

最后,可以运行 lava 来实际向程序中注入漏洞。 只需提供 target_configs 目录中某个项目名称即可,例如:

root@kitploit:~
lava -ak toy

现在你应该拥有一个包含漏洞的 toy 副本!

如果想向新目标注入漏洞,可能需要进行一些修改。请参阅 How-to-Lava 获取指导。

文档

请查看 docs 文件夹以开始使用。

作者

LAVA 是多年来许多人共同开发的成果;以下是部分贡献者列表(按字母顺序):

  • Andy Davis
  • Brendan Dolan-Gavitt
  • Andrew Fasano
  • Zhenghao Hu
  • Patrick Hulin
  • Amy Jiang
  • Engin Kirda
  • Tim Leek
  • Andrea Mambretti
  • Andrew Quijano
  • Wil Robertson
  • Aaron Sedlacek
  • Rahul Sridhar
  • Frederick Ulrich
  • Ryan Whelan
下载工具