Token导航 LogoToken导航TokenDH.com
Hera (Joelindra) logo
安全风控stdio官方级别未说明来源级核验

Hera (Joelindra)

MCP Server

HERA是一款基于自然语言处理的渗透测试代理工具,通过Gemini 2.5 Pro将自然语言提示转换为安全的Kali Linux命令,支持远程执行和实时结果流式传输。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
渗透测试自然语言处理TypeScript

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

joelindra

提供方

joelindra

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install websocket-client

详细介绍

HERA — 无与伦比的渗透测试代理

通过自然语言描述您的需求来运行Kali Linux安全工具。这个基于网络的MCP(模型上下文协议)代理利用Gemini 2.5 Pro(结合RAG增强功能)将提示转换为安全可执行的命令,实时流式传输结果,并且可以通过WebSocket在您自己的Kali机器上远程执行。

开发了一款名为“AI MCP”的AI驱动渗透测试工具,该工具具备专业终端界面,并集成了先进的RAG(检索增强生成)功能。前端采用React、TypeScript和Tailwind CSS构建,后端则使用Express并增强了WebSocket的稳定性。实现了Gemini AI与数据池的集成,能够将自然语言提示转换为可执行命令,并通过WebSocket实时输出结果,同时支持可选的Telegram机器人集成

______________________________________________________________________

文档

https://joelindra.gitbook.io/all-tools/hera

✨ 特点

  • 自然语言 → Kali 命令Gemini 2.5 Pro 将提示转换为精确指令。
  • 数据池(RAG系统)使用Markdown文件作为知识库,以减少AI幻觉并提高指令准确性。
  • 远程Kali执行(WebSocket)使用随附的Python客户端将应用程序与您的Kali盒子配对。
  • 实时流式输出在浏览器中实时查看命令的输出。
  • 双模式远程(Kali 客户端)或本地(服务器)执行,带有清晰的状态徽章。
  • 安全护栏上下文感知验证,以防止明显具有破坏性的系统命令。
  • 专业终端用户界面暗色优先主题、终端样式、结果折叠/展开功能以及历史记录。
  • 增强的设置管理全面配置,实时状态监控。
  • 个人API密钥支持使用您自己的Gemini API密钥(每个用户的设置)。
  • Telegram机器人集成(可选)通过Telegram发送提示。
  • 提高了WebSocket的稳定性跨页面导航的持久连接。

______________________________________________________________________

🧠 它的工作原理

  1. 你输入一个提示(例如,“扫描 example.com 上的 80 和 443 端口”)。
  2. 如果启用了数据池,系统将从Markdown文件中加载相关上下文。
  3. 后端请求Gemini根据RAG上下文生成确切的Kali命令。
  4. 命令已验证,确保安全且工具可用。
  5. 如果Kali客户端已连接,则命令通过(某种方式)发送 /kali-ws 并在您的机器上执行;否则在服务器上本地运行。
  6. 输出流通过 WebSocket 实时返回到浏览器。

高级流程:

Prompt → Data Pool Context → Gemini (command + safety + RAG) → choose mode (remote/local) → execute → stream results

______________________________________________________________________

🗂️ 技术与建筑

  • 客户React 18,TypeScript,Vite 7,TailwindCSS,shadcn/ui,Radix UI,TanStack Query
  • 服务器Node.js,Express,WebSocketws), Passport(面向未来的)、Drizzle ORM(面向未来的)
  • 人工智能(AI): @google/genai (Gemini 2.5 Pro) 配备RAG增强功能
  • 数据池基于文件系统的Markdown文件RAG(检索增强生成)系统
  • 远程客户端使用轻量级的Python脚本 websocket-client
  • 整合可选的Telegram机器人通过 node-telegram-bot-api

仓库布局:

client/           # React app (UI, pages, components)
server/           # Express server, routes, Gemini integration, WebSocket, pool reader
pool/             # Markdown files for RAG knowledge base
kali-client.py    # Remote client for your Kali machine

关键服务器文件:

  • server/gemini.ts提示 → 命令,安全分析,RAG(检索增强生成)集成
  • server/executor.ts进程执行和流处理
  • server/routes.tsREST API + WebSocket 端点(/ws/kali-ws)
  • server/telegram.tsTelegram机器人集成
  • server/poolReader.ts数据池文件扫描与处理
  • server/storage.ts设置和数据持久性

______________________________________________________________________

🚀 快速入门

先决条件:

  • Node.js 18+(或推荐使用20+)
  • npm 9+
  1. 安装
npm install
  1. 在开发中运行
# Starts Express with tsx and serves the Vite client
npm run dev
  1. 为生产构建(或:准备生产环境)
npm run build
  1. 启动生产服务器
npm start
开发脚本使用了 tsx 跑步 server/index.ts使用 Vite 构建客户端包,使用 esbuild 构建服务器端包。

______________________________________________________________________

🔐 环境变量

在你的环境中设置这些(或者在 .env (在开始前加载):

  • GEMINI_API_KEY (必填):Google Gemini API密钥。您可以在设置中设置个人密钥;如果未提供,则服务器将回退到此环境变量。
  • SESSION_SECRET (建议):Express 会话密钥。如果省略,将在运行时自动生成。
从Google AI Studio获取Gemini API密钥:https://aistudio.google.com/app/apikey

📚 数据池(RAG系统)

数据池功能利用Markdown文件作为知识库,以增强AI指令生成能力:

  1. 设置创建一个 pool 在项目根目录中的目录
  2. 添加文件位置 .md 包含相关信息的文件(渗透测试手册、工具文档等)
  3. 启用进入设置 → 数据池选项卡,然后切换开关
  4. 显示器查看实时状态,包括文件数量、大小和最后扫描时间

示例池文件:

  • penetration-testing-playbook.md - 全面的渗透测试方法
  • tool-documentation.md - 详细的工具使用指南
  • vulnerability-database.md - 常见漏洞及利用技术

______________________________________________________________________

🌐 远程Kali连接(WebSocket)

在你自己的Kali机器上执行命令。步骤:

  1. 在网页应用中,打开设置并创建一个新客户端以获取令牌。
  2. 在你的Kali系统上:
# Download the client script
wget https://your-server.example.com/kali-client.py

# Install dependency
pip install websocket-client

# Run the client
python3 kali-client.py --token YOUR_TOKEN --server wss://your-server.example.com
  1. 验证:
  • 浏览器显示“Kali:已连接”,并附上您的客户端名称。
  • 在Kali系统上的终端输出:“认证成功”。

客户端自动重连,发送心跳信号,并将结果流式返回。

安全注意事项:

  • 保密您的令牌。一旦发现令牌泄露,请立即撤销并重新颁发。
  • 以您打算授予的权限所对应的用户身份运行客户端。
详细指南:参见 README_KALI_CONNECTION.md

______________________________________________________________________

💬 电报机器人(可选)

  • 在设置中配置您的Telegram机器人令牌和聊天ID。
  • 可用命令: /start/help/ping/status/history
  • 发送任何自然语言消息来执行命令并接收结果。

______________________________________________________________________

🖥️ 使用应用程序

  • 在浏览器中打开该应用,输入一个提示,例如:

- “扫描 google.com 上的 80 和 443 端口” nmap -p 80,443 google.com - “检查 google.com 的 DNS 记录” dig google.com - “查询 facebook.com 的 WHOIS 信息” whois facebook.com

  • 观看实时输出;展开/折叠结果;查看命令历史。
  • 根据命令切换执行模式:自动、本地、远程。
  • 配置数据池前往设置 → 数据池 以启用RAG增强功能
  • 显示器状态查看实时连接状态和连接池数据统计
  • 在设置中管理客户端和API密钥。

______________________________________________________________________

🛡️ 安全与限制

  • 该应用程序执行基本的安全验证和工具可用性检查。
  • 在本地环境中允许使用渗透测试工具。
  • 在使用安全工具时,您有责任遵守相关法律法规和政策。

______________________________________________________________________

🆕 最新更新

v2.0 - RAG(检索增强生成)增强与稳定性提升

新功能:

  • 数据池(RAG系统)使用Markdown文件作为知识库以减少AI幻觉
  • 增强的设置用户界面全面配置,实时状态监控
  • 提升了WebSocket的稳定性跨页面导航的持久连接

错误修复:

  • 解决了在页面之间导航时发生的WebSocket断开连接问题
  • 解决了启用数据池功能时用户界面出现空白屏幕的问题
  • 修复了设置更新中的竞态条件
  • 改进了错误处理和用户反馈机制

技术改进:

  • 在App组件中实现集中化的WebSocket管理
  • 用于组件间通信的自定义事件系统
  • 优化React Query缓存管理
  • 增强的错误处理和调试功能

______________________________________________________________________

🗺️ 路线图(精选)

  • 数据池(RAG系统)
  • 增强的设置管理
  • 提升了WebSocket的稳定性
  • 持久数据库存储(PostgreSQL)
  • 多用户认证和角色管理
  • 命令模板和已保存的提示
  • 导出结果(PDF/JSON/CSV)
  • 多会话并行执行
  • 完整的MCP协议实现
  • 输出语法高亮
  • 高级RAG功能(语义搜索、文件分类)

______________________________________________________________________

📄 许可证

Original: MIT
Legend: Hades [ Joel Indra ]

______________________________________________________________________

🙌 致谢

  • Google Gemini 2.5 Pro(@google/genai
  • React、Vite、TailwindCSS、Radix UI、shadcn/ui
  • ws(WebSocket服务器库),express(一个快速、简洁的Node.js Web应用框架),tanstack/query(一个用于查询数据的库,通常与React一起使用)

______________________________________________________________________

🤝 如何贡献(或:如何参与贡献)

贡献使得开源社区成为一个令人惊叹的学习、启发和创造之地。您所做的一切贡献都深受欢迎。 如果您有能让这个项目更好的建议,请克隆仓库并提交拉取请求。您也可以直接以“enhancement”(增强)为标签打开一个问题。 别忘了给这个项目点个星哦!再次感谢!

Getting Started
1. Fork the project repository.

2. Create your feature branch:
git checkout -b feature/AmazingFeature

3. Install dependencies (if you haven't already):
npm install

4. Make your changes and commit them with a descriptive message:
git commit -m 'feat: Add some AmazingFeature'

5. Push your changes to your forked repository's branch:
git push origin feature/AmazingFeature

6. Open a Pull Request against the main branch of the original repository.

Guidelines:
- Please provide a clear and detailed description of your changes in the pull request.
- If your PR addresses an open issue, please link to it (e.g., "Closes #123").
- Ensure your code is well-formatted and follows the existing style.

______________________________________________________________________

🔗 分享

如果你喜欢这个项目:

  • 在GitHub上给该仓库点个星标
  • 分享你的截图,并标记作者

目录标签

目录标签

渗透测试自然语言处理TypeScript本地部署KaliLinuxRAG系统WebSocket

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP