【技术文档摘要】:
通过自然语言描述来运行Kali Linux安全工具。这个基于Web的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-ws发送并在你的机器上执行;否则在服务器上本地执行。高层次流程:
提示 → 数据池上下文 → Gemini(命令 + 安全性 + RAG)→ 选择模式(远程/本地)→ 执行 → 流式传输结果
ws),Passport(未来准备),Drizzle ORM(未来准备)@google/genai(Gemini 2.5 Pro)带RAG增强websocket-client的轻量级Python脚本node-telegram-bot-api仓库布局:
client/ # React应用(UI,页面,组件)
server/ # Express服务器,路由,Gemini集成,WebSocket,池读取器
pool/ # 用于RAG知识库的markdown文件
kali-client.py # 远程客户端用于你的Kali机器
关键服务器文件:
server/gemini.ts:提示 → 命令,安全性分析,RAG集成server/executor.ts:进程执行和流式传输server/routes.ts:REST API + WebSocket端点(/ws,/kali-ws)server/telegram.ts:Telegram机器人集成server/poolReader.ts:数据池文件扫描和处理server/storage.ts:设置和数据持久化前提条件:
npm install
# 启动Express并使用tsx提供Vite客户端
npm run dev
npm run build
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
数据池功能使用markdown文件作为知识库以增强AI命令生成:
pool目录.md文件(渗透测试手册,工具文档等)示例池文件:
penetration-testing-playbook.md - 综合渗透测试方法论tool-documentation.md - 工具使用指南vulnerability-database.md - 常见漏洞和利用技术在自己的Kali机器上执行命令。步骤:
# 下载客户端脚本
wget https://your-server.example.com/kali-client.py
# 安装依赖
pip install websocket-client
# 运行客户端
python3 kali-client.py --token YOUR_TOKEN --server wss://your-server.example.com
客户端自动重连,发送心跳信号,并流式传输结果。
安全注意事项:
详细指南:参阅
README_KALI_CONNECTION.md。
/start,/help,/ping,/status,/history。nmap -p 80,443 google.comdig google.comwhois facebook.com新特性:
错误修复:
技术改进:
原始:MIT
传奇:Hades [ Joel Indra ]
@google/genai)贡献使得开源社区成为一个学习、启发和创造的绝佳场所。您所做的任何贡献都深表感谢。 如果您有一个建议可以使该项目变得更好,请分叉仓库并创建一个拉取请求。您也可以简单地打开一个带有“enhancement”标签的问题。 别忘了给项目点赞!再次感谢!
开始
1. 分叉项目仓库。
2. 创建您的功能分支:
git checkout -b feature/AmazingFeature
3. 安装依赖(如果尚未安装):
npm install
4. 修改并提交更改,附带描述信息:
git commit -m 'feat: 添加一些AmazingFeature'
5. 将更改推送到您的分叉仓库的分支:
git push origin feature/AmazingFeature
6. 对原始仓库的主要分支打开一个拉取请求。
指南:
- 请在拉取请求中提供清晰详细的更改描述。
- 如果您的PR解决了开放问题,请链接到它(例如,“关闭#123”)。
- 确保您的代码格式良好并遵循现有风格。
如果你喜欢这个项目: