一款基于 Java 构建的轻量级命令行工具(CLI),用于从 Exploit-DB 数据库中抓取、解析、展示并导出漏洞利用信息。 本工具专为安全研究员、渗透测试人员以及开发者设计,无需依赖浏览器,即可在终端中快速检索已公开的漏洞利用(exploit),包括 CVE 编号、漏洞类型、平台分类等核心字段。 工具支持关键词搜索、条件过滤、分页展示,并提供多种格式(如 JSON、CSV 等)的导出能力,可轻松集成到自动化分析流程、CTF 工具链,或用于离线环境下的信息收集与漏洞整理。 无论你是在进行日常安全研究,还是构建自己的私有漏洞情报库,这款工具都能为你提供一个快速、高效、极简的 Exploit-DB 数据访问接口。
# ExploitDB 搜索工具 🔍🧨
> 一款轻量级 Java CLI 工具,用于抓取、展示和导出 Exploit-DB 的漏洞数据
---

---
## 📌 项目简介
`ExploitDB 搜索工具` 是一个用 Java 编写的命令行应用,支持自动化爬取 [Exploit-DB](https://www.exploit-db.com) 的公开漏洞信息,支持以表格形式展示并可导出为 CSV 文件。
本工具适合:
- 安全研究员快速检索漏洞数据
- 企业安全响应人员用于建立本地漏洞知识库
- 自动化漏洞分析链路中的数据源接口模块
---
## ✨ 项目特性
- ✅ CLI 交互式操作体验,适合终端用户
- ✅ 自定义爬取页数(默认 50)
- ✅ 中文表格美观输出,自动对齐 & 截断优化
- ✅ 自动跳过重复数据,支持增量更新
- ✅ 面向对象结构,易于扩展与维护
---
## 🧠 架构模块
```bash
├── README.md
├── pom.xml
├── scripts
│ └── db.sql
├── src
│ ├── main
│ │ ├── java
│ │ │ └── xin
│ │ │ └── ctkqiang
│ │ │ ├── Main.java
│ │ │ ├── config
│ │ │ │ └── Configuration.java
│ │ │ ├── controller
│ │ │ │ ├── DatabaseController.java
│ │ │ │ ├── ExploitDbController.java
│ │ │ │ └── UserUtil.java
│ │ │ └── dto
│ │ │ └── Exploit.java
│ │ └── resources
│ └── test
│ └── java
└── target
```
---
## 💻 使用方法
```bash
mvn clean compile exec:java
```
## Maven 来打包成 jar
```bash
mvn clean package
```
首次运行时会:
1. 自动创建数据库表(如果不存在)
2. 提示你输入要爬取的页数(留空则默认 50 页)
3. 是否导出为 CSV 文件
4. 展示爬取结果(以 CLI 表格形式输出)
---
## 📦 编译方式
确保你已安装:
- Java 17+
- Maven
- 本地 MySQL 数据库,并设置 `.env` 或配置常量中的数据库连接信息
```bash
# 编译
mvn clean package
# 运行
mvn clean compile exec:java
```
---
## 🗃 数据库结构(MySQL)
```sql
CREATE DATABASE IF NOT EXISTS ExploitDB;
USE ExploitDB;
CREATE TABLE records (
id VARCHAR(64) NOT NULL COMMENT '唯一标识符',
description TEXT COMMENT '描述信息',
date VARCHAR(20) COMMENT '日期(字符串格式)',
author VARCHAR(100) COMMENT '作者名称',
type VARCHAR(50) COMMENT '记录类型',
platform VARCHAR(50) COMMENT '所属平台',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '记录表';
```
---
## 🧪 示例输出(部分)
```
+------+------------------------------------------+------------+-----------------+------------+------------+
| 编号 | 描述 | 日期 | 作者 | 类型 | 平台 |
+------+------------------------------------