利用DB MCP服务器
一个模型上下文协议服务器,提供对ExploitDB功能的访问,由 Cyreslab.ai该服务器使克劳德等人工智能助手能够查询有关安全漏洞和漏洞的信息,从而增强网络安全研究和威胁情报能力。
GitHub存储库: 联系: contact@cyreslab.ai
特性
- 漏洞利用搜索:按关键字、CVE ID、平台等搜索漏洞
- 漏洞利用详细信息:获取有关特定漏洞的全面信息,包括代码
- CVE查找:查找与特定CVE ID相关的所有漏洞利用
- 最近的漏洞:跟踪新添加的漏洞
- 统计:了解按平台、类型和年份划分的漏洞利用分布情况
- 自动更新:通过计划更新使数据库保持最新
安装
先决条件
- Node.js(v16或更高版本)
- npm(v7或更高版本)
安装步骤
- 克隆存储库:
git clone https://github.com/Cyreslab-AI/exploitdb-mcp-server.git
cd exploitdb-mcp-server- 安装依赖项:
npm install- 构建项目:
npm run build- 配置服务器:
- 创建一个 .env 根目录中的文件基于 .env.example - 根据需要调整设置(数据目录、更新频率等)
- 初始化数据库:
npm run update-db备注:初始数据库更新可能需要几分钟,因为它处理了ExploitDB CSV文件中的约47000个漏洞。该脚本通过为必填字段使用回退值来优雅地处理丢失或格式错误的数据。
- 运行服务器:
node build/index.jsMCP配置
要将此服务器与Claude或其他MCP兼容助手一起使用,请将其添加到MCP配置中:
{
"mcpServers": {
"mcp-exploitdb-server": {
"command": "node",
"args": ["/path/to/exploitdb-mcp-server/build/index.js"]
}
}
}可用工具
ExploitDB MCP服务器提供了18个全面的工具来查询和分析漏洞数据:
核心搜索工具
- 搜索_开发 -使用多个过滤器进行常规搜索
- get_exploit -获取特定漏洞利用的详细信息
- find_by_cve -通过CVE ID查找漏洞
- get_recent_exploits -获取最近添加的漏洞
- get_统计 -获取数据库统计信息
高级搜索工具
- 搜索_平台 -使用过滤器搜索特定平台的漏洞
- 搜索_类型 -按漏洞类型搜索(网络应用程序、远程、本地、dos、硬件)
- 搜索_作者 -查找特定作者的所有漏洞
- 搜索_日期_范围 -查找日期范围内的漏洞
- 搜索_标签 -按生成的标签搜索(sql注入、xss等)
分析和情报工具
- get_platform_statistics -获取特定平台的详细统计数据
- get_trending_exploits -查找最近添加的漏洞(可配置的时间段)
- 比较漏洞 -并排比较多个漏洞
- get_exploit_timeline -获取漏洞利用的时间轴
实用工具
- batch_get_漏洞利用 -高效检索多个漏洞(最多50个)
- 获取漏洞 -按平台、作者、CVE或标签查找相关漏洞
- validate_exploit_id -检查漏洞ID是否存在
- export_search_results -以JSON或CSV格式导出搜索结果
使用示例
搜索漏洞
使用 search_exploits 在数据库中搜索漏洞的工具:
mcp-exploitdb-server
search_exploits
{
"query": "wordpress plugin",
"platform": "php",
"limit": 5
}
其他搜索参数:
type:按漏洞利用类型筛选(例如,webapps、远程、本地)cve:按CVE ID筛选author:按作者姓名筛选start_date/end_date:按日期范围筛选(YYYY-MM-DD)verified:按验证状态筛选(真/假)offset:用于分页
获取漏洞利用详细信息
使用 get_exploit 用于检索特定漏洞利用详细信息的工具:
mcp-exploitdb-server
get_exploit
{
"id": 12345,
"include_code": true
}
查找CVE漏洞
使用 find_by_cve 用于查找与特定CVE相关的所有漏洞的工具:
mcp-exploitdb-server
find_by_cve
{
"cve": "CVE-2021-44228",
"limit": 10
}
获取最新漏洞
使用 get_recent_exploits 用于检索最近添加的漏洞的工具:
mcp-exploitdb-server
get_recent_exploits
{
"limit": 10
}
获取统计信息
使用 get_statistics 获取数据库中漏洞利用信息的工具:
mcp-exploitdb-server
get_statistics
{}
按平台搜索
使用高级过滤器搜索特定平台的漏洞:
mcp-exploitdb-server
search_by_platform
{
"platform": "php",
"type": "webapps",
"verified": true,
"limit": 10
}
按作者搜索
查找特定作者的所有漏洞利用:
mcp-exploitdb-server
search_by_author
{
"author": "Offensive Security",
"limit": 10
}
按日期范围搜索
查找特定日期范围内的漏洞:
mcp-exploitdb-server
search_by_date_range
{
"start_date": "2024-01-01",
"end_date": "2024-12-31",
"platform": "windows",
"limit": 20
}
按标签搜索
按生成的标签搜索漏洞:
mcp-exploitdb-server
search_by_tags
{
"tags": ["sql injection", "rce"],
"match_all": false,
"limit": 10
}
获取流行漏洞
查找最近添加的漏洞:
mcp-exploitdb-server
get_trending_exploits
{
"days": 30,
"limit": 10
}
比较漏洞
并排比较多个漏洞:
mcp-exploitdb-server
compare_exploits
{
"ids": [12345, 12346, 12347]
}
获取相关漏洞
查找与特定漏洞相关的漏洞:
mcp-exploitdb-server
get_related_exploits
{
"id": 12345,
"relation_type": "platform",
"limit": 10
}
批量获取漏洞
高效检索多个漏洞:
mcp-exploitdb-server
batch_get_exploits
{
"ids": [12345, 12346, 12347, 12348],
"include_code": false
}
导出搜索结果
以CSV或JSON格式导出搜索结果:
mcp-exploitdb-server
export_search_results
{
"query": "wordpress",
"format": "csv",
"platform": "php",
"limit": 100
}
配置选项
服务器可以使用环境变量或 .env 文件:
| 变量 | 描述 | 默认值 |
|---|---|---|
CLONE_REPOSITORY | 是否克隆ExploitDB存储库 | false |
REPOSITORY_URL | ExploitDB存储库的URL | https://gitlab.com/exploit-database/exploitdb.git |
CSV_URL | ExploitDB CSV文件的URL | https://gitlab.com/exploit-database/exploitdb/-/raw/main/files_exploits.csv |
DATA_DIR | 存储数据的目录 | ./data |
DB_PATH | SQLite数据库的路径 | ./data/exploitdb.sqlite |
UPDATE_INTERVAL | 更新频率(小时)(0表示禁用) | 24 |
MAX_RESULTS | 每个查询返回的最大结果数 | 10 |
数据源
此服务器使用来自 利用数据库,由维护 进攻性安全。数据可以直接从CSV文件下载,也可以从 ExploitDB GitLab存储库.
数据处理
服务器自动处理各种数据质量问题:
- 日期处理:用途
date_published从CSV,回退到date_added,date_updated,或者如果缺少所有日期,则显示默认日期 - 缺少字段:当数据不完整时,为必填字段(作者、类型、平台)提供合理的默认值
- CVE提取:自动从漏洞利用描述中提取CVE标识符
- 标记生成:根据漏洞利用描述生成相关标签,以提高可搜索性
数据库通常包含:
- 46,000+ 1988年至今的功绩
- 33,000+ 经过验证的漏洞利用
- 覆盖范围 60+ 平台(PHP、Windows、Linux等)
- 27,000+ web应用程序漏洞利用
- 全面的元数据,包括作者、日期、平台和CVE参考
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
贡献
欢迎投稿!请随时提交拉取请求。
有功能建议或发现错误?请在我们的 或直接联系我们 contact@cyreslab.ai.
