关于 HackTricks MCP Server
HackTricks MCP Server 让安全从业者和编码 Agent 搜索并查询 HackTricks 渗透测试文档。它结合分组搜索、页面大纲、指定章节提取和代码清单,便于获取相关内容而不必载入整页。
主要功能
- 01按词语或正则表达式搜索
- 02按文件和章节汇总匹配项
- 03浏览页面大纲
- 04提取指定章节
- 05仅返回代码块和命令
- 06浏览文档分类
适用场景
- 01查找某种利用技术的资料
- 02获取安全评估所需命令
- 03阅读整页前定位相关章节
- 04探索 HackTricks 主题分类
MCP 相关
向 MCP 客户端提供 7 个工具,用于搜索 HackTricks、浏览分类和页面大纲,以及获取完整页面、指定章节或代码块。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 最多返回的文件数(默认值:20)。值越小,速度越快。快速查询时设为 5。 |
| query | string | 是 | 搜索词。请使用具体词语(例如 'SUID privilege escalation',而不是 'privilege')。支持正则表达式。 |
| category | string | 否 | 强烈推荐。常见类别:'pentesting-web'(XSS、SQLi、SSRF)、'linux-hardening'(提权、capabilities)、'network-services-pentesting'(SMB、FTP、SSH)、'windows-hardening'、'mobile-pentesting'、'cloud-security'。使用 list_hacktricks_categories 查看全部类别。 |
详细介绍
HackTricks MCP Server
MCP(Model Context Protocol)服务,可直接通过 Claude 搜索和查询 HackTricks 渗透测试文档。
功能
- 快速查找 - 一次调用获取利用信息,支持别名(sqli、xss、ssrf 等)
- 分组搜索结果 - 按文件聚合结果,并显示匹配数量、标题和相关章节
- 页面大纲 - 快速查看目录,以确定相关章节
- 章节提取 - 读取特定章节,而非完整页面(节省 token)
- 速查表模式 - 仅提取页面中的代码块/命令
- 类别浏览 - 浏览可用主题和文件路径
- 快速 grep 搜索 - 使用 ripgrep 即时获取结果
- 安全加固 - 防止命令注入和路径遍历
快速开始
安装
npm install -g hacktricks-mcp-server
postinstall 脚本会自动克隆 HackTricks 仓库(首次安装约需 2 分钟)。
配置 Claude Desktop
将以下内容添加到 Claude 设置(~/.claude/settings.json):
{
"mcpServers": {
"hacktricks": {
"command": "npx",
"args": ["hacktricks-mcp-server"]
}
}
}
重启 Claude Desktop 并尝试提问:“搜索 HackTricks 中的 SQL 注入”
其他方式:从源代码安装
git clone https://github.com/Xplo8E/hacktricks-mcp-server.git
cd hacktricks-mcp-server
git submodule update --init --recursive
npm install
npm run build
从源代码安装的配置:
{
"mcpServers": {
"hacktricks": {
"command": "node",
"args": ["/absolute/path/to/hacktricks-mcp-server/dist/index.js"]
}
}
}
使用示例
在 Claude Desktop 中完成配置后,你可以提问:
- “搜索 HackTricks 中的 SQL 注入技术”
- “给我 SUID 权限提升命令”
- “给我看看 XSS 载荷”
- “列出 HackTricks 中所有渗透测试类别”
- “如何利用 XXE 漏洞?”
该服务提供 7 个专用工具,帮助你高效搜索 HackTricks。
可用工具
hacktricks_quick_lookup
⚡ 一次调用查找利用信息。一次调用即可搜索、找到最佳页面,并返回利用章节和代码块。
参数:
topic(字符串,必需):要查找的攻击/技术(例如,'SUID'、'sqli'、'xss'、'docker escape')category(字符串,可选):类别筛选条件,可加快搜索结果返回速度
支持的别名: sqli、xss、rce、lfi、rfi、ssrf、csrf、xxe、ssti、idor、jwt、suid、privesc
示例:
hacktricks_quick_lookup("SSRF", category="pentesting-web")
优点: 针对“如何利用 X”类问题,可将 3 次以上工具调用减少到 1 次。
search_hacktricks
搜索 HackTricks 文档。结果按文件分组,并显示匹配数量、页面标题和相关章节标题。
参数:
query(字符串,必需):搜索词或正则表达式category(字符串,可选):筛选特定类别(例如,'pentesting-web')limit(数字,可选):分组结果数量上限(默认值:20)
输出示例:
Found matches in 5 files for: "SUID"
────────────────────────────────────────────────────────────
📄 **Linux Privilege Escalation**
Path: src/linux-hardening/privilege-escalation/README.md
Matches: 12
Sections: SUID Binaries | Finding SUID | GTFOBins
Preview:
L45: Find files with SUID bit set...
L78: Common SUID exploitation techniques...
────────────────────────────────────────────────────────────
get_hacktricks_outline
获取页面的目录(所有章节标题)。阅读完整页面前,先使用此工具了解页面结构。
参数:
path(字符串):Markdown 文件的相对路径
输出示例:
# Linux Privilege Escalation
## Enumeration
### System Information
### Network
## SUID Binaries
### Finding SUID Files
### Exploiting SUID
## Capabilities
优点: 约 20 行即可了解页面结构,无需阅读 500 多行内容。
get_hacktricks_section
根据标题名称从页面中提取特定章节。这比读取完整页面高效得多。
参数:
path(字符串):Markdown 文件的相对路径section(字符串):要提取的章节标题(部分匹配,不区分大小写)
示例:
get_hacktricks_section("src/linux-hardening/privilege-escalation/README.md", "SUID")
优点: 只需读取“SUID Binaries”章节(约 200 个 token),而非整个页面(约 3000 个 token)。
get_hacktricks_cheatsheet
从页面中仅提取代码块。如果你只需要命令、载荷或示例,这个工具再合适不过。
参数:
path(字符串):Markdown 文件的相对路径
输出示例:
find / -perm -4000 2>/dev/null
./vulnerable_suid -p
优点: 如果你只需要“给我命令”,就可以跳过说明文字。
get_hacktricks_page
获取 HackTricks 页面的完整内容。
参数:
path(字符串):Markdown 文件的相对路径
警告: 页面可能很长(超过 3000 个 token)。建议改用 get_hacktricks_outline 和 get_hacktricks_section。
list_hacktricks_categories
列出类别及其内容。
参数:
category(字符串,可选):要展开的类别
不指定类别: 列出顶级类别 指定类别: 显示包含文件路径的完整目录树
高效使用模式
为优化 token 使用,Claude 应:
- 按类别筛选搜索 → 获取带有上下文的分组结果
- 获取相关页面的大纲 → 阅读前先查看结构
- 提取特定部分 → 只阅读所需内容
- 获取速查表 → 快速查阅命令
之前(效率低):
search_hacktricks("SUID") → 50 raw lines
get_page(file1) → 3000 tokens
get_page(file2) → 2500 tokens
Total: ~5500 tokens, 3 calls
之后(高效):
search_hacktricks("SUID", category="linux-hardening") → Grouped results
get_outline(best_match) → 20 lines
get_section(best_match, "SUID") → 200 tokens
Total: ~400 tokens, 3 calls
要求
- Node.js(v18 或更高版本)
- ripgrep(
rg)——通常已预装在 macOS/Linux 上 - Bun(用于包管理)
开发
监视模式:
bun run dev
本地测试:
bun run start
参与贡献
欢迎贡献!如果你想改进此服务:
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/improvement) - 进行修改并在本地测试
- 提交拉取请求
请确保你的 PR 包含新功能的测试,并保持现有代码风格。
许可证
MIT
致谢
- Carlos Polop 编写的 HackTricks
- 使用 Model Context Protocol SDK 构建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。