Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

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

lava

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

查看仓库
417657217小时59分前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LAVA:大规模自动化漏洞注入

发布 Lava 包和容器

Lava 测试

由于缺乏真实基准语料库(即具有已知漏洞及其触发输入的软件),目前评估和改进漏洞发现工具十分困难。LAVA 试图通过自动向软件中注入漏洞来解决这一问题。每个 LAVA 漏洞都附带一个触发它的输入,而普通输入极不可能触发该漏洞。这些漏洞是合成的,但我们认为它们仍然是真实的,因为它们被深埋在程序中,并由真实输入触发。我们的工作构成了一种按需生成大规模真实漏洞语料库的方法的基础,从而支持严格的工具评估,并为工具开发者提供高质量的目标。

LAVA 是 MIT Lincoln Laboratory、NYU 和 Northeastern University 合作的成果。

快速开始

Docker

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

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

$ docker pull pandare/lava

或从本仓库构建:

$ DOCKER_BUILDKIT=1 docker build lava .

Ubuntu、Debian

本地安装

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

完成二进制文件安装后,你可以通过运行 pip install . 进行本地安装。

注意,Python 包需要一个由编译二进制文件生成的 SQL 文件,该文件位于 python/src/pyroclastic/data/lava.sql。 没有这个文件,Python 包将无法正常工作。

常规安装

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

最后步骤

使用 host.json

接下来,运行 init_host 在你的 ~/.lava 目录中生成 host.json。 LAVA 使用此文件存储特定于你机器的设置。你可以根据需要编辑这些设置,但默认值应该可以正常工作,参见 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 目录中的项目名称,例如:

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
下载工具