mahirhacks/XEKUTE
GitHub: mahirhacks/XEKUTE
XEKUTE 是一个面向授权渗透测试的本地优先 Windows 工作区,将 HTTP 代理、安全工具、AI 助手、终端和证据管理整合到统一的评估环境中。
Stars: 0 | Forks: 0
# XEKUTE
**一个面向授权渗透测试和漏洞评估的本地优先、AI 辅助工作区。**
XEKUTE 将评估范围、HTTP 流量、证据、安全工具、应用程序行为图、终端和本地 AI 助手整合到一个 Windows 桌面应用程序中。其主要工作流是人在回路:操作员定义授权,并且始终能够检查、批准、中断和审查每一个操作。
## 为什么选择 XEKUTE?
安全工作通常分散在终端、代理工具、笔记、JSON 文件、浏览器选项卡和 AI 聊天中。XEKUTE 将这些部分围绕一个持久的评估工作区进行组织,使得流量、工具输出、假设、发现和报告与其证据保持关联。
XEKUTE 旨在提供:
- 一个紧凑的、受 VS Code 启发的安全评估界面。
- 通过 Ollama 提供本地 AI,而非强制的云服务。
- 明确的范围、交战规则、安全模式和细粒度的授权控制。
- 透明的 agent 操作、批准、假设、运行历史和工具输出。
- 结构化的评估文件,可在应用程序之外保持可访问。
## 当前功能
### 评估工作区
- 创建或打开结构化的评估文件夹。
- 定义范围内和范围外的资产、授权、测试时间窗口、速率限制和受限技术。
- 在支持的情况下,通过可视化表单或原始 JSON 视图编辑评估文件。
- 创建、编辑、组织和删除自定义文件和文件夹。
- 导入上下文文件并生成组合的 `pen_context.md`。
- 跟踪证据、服务、发现、报告、WSTG 覆盖率、ASVS 覆盖率和 MITRE ATT&CK 覆盖率。
### Security Workbench
- 本地 HTTP 拦截代理,具有集中式的 CA 证书管理。
- 由 `Traffic/Raw` 支持的可搜索和可排序的 HTTP 历史记录。
- 请求和响应检查,在新流量到达时保持稳定的选择。
- 用于授权测试的 Interceptor、Repeater 和 Intruder 风格的工作流。
- URL、Base64、Base64URL、HTML、十六进制、JWT 和 cookie 检查实用工具。
- 可配置的捕获脱敏功能,用于处理凭据、cookie、token 和敏感字段。
### Application Behavior Map
- 从捕获的 HTTP 证据构建确定性图。
- 关联主机、子域名、路由、方法、重定向、工作流、共享对象和支持性证据。
- 浏览路由、工作流和风险视图。
- 选择节点以检查其变体并突出显示连接的节点。
- 平移、缩放、排列节点、查询路径并保留图来源。
### WebClone
- 从授权的 HTTPS 目标下载有界限的公共 HTML、JavaScript 和 CSS 资产。
- 在可折叠的右侧文件抽屉中浏览捕获的文件。
- 在 XEKUTE 的编辑器中检查源文件,或在隔离的预览中渲染克隆的应用程序。
- 预览克隆的应用程序,同时禁止它们访问 XEKUTE、Node.js、文件系统、弹窗或出站网络服务。
WebClone 是一种审查辅助工具,并不能保证完全离线复现。依赖于已认证的 API、服务端渲染、外部资产或实时后端请求的应用程序可能只能部分渲染。
### AI 辅助工作流
- 使用本地安装的 Ollama 模型。
- 根据任务选择 **Planner**、**Agent** 或 **Ask**。
- 使用 **Safe** 模式进行分析和对工作区安全的操作。
- 选择加入 **Test** 模式,以便在授权评估中进行策略控制的主动测试。
- 为文件访问、命令、进程、终端使用、网络请求、代理操作、流量捕获、Map 操作、侦察、扫描和漏洞利用验证配置授权。
- 审查 agent 运行、操作、批准、假设和工具输出。
- 每个工作区保留聊天会话,直到被显式删除。
安全模式和策略检查是纵深防御控制;它们不能替代书面授权或专业判断。
### 命令和工具箱
XEKUTE 目前包含以下可配置的工作流:
- `/passive` - 被动公开来源侦察。
- `/active` - 授权的主动侦察。
- `/endpoint` - 页面和 endpoint 发现。
- `/webclone` - 授权的公共站点清点和克隆。
命令可以使用静态的 Python 编排或 AI 辅助角色。工具选择、输出位置、速率限制、线程、字典列表、高级 JSON 选项和自定义命令可以在 XEKUTE 设置中配置。
工具箱为以下工具提供预设和配置界面:
| 类别 | 工具 |
| --- | --- |
| 被动侦察 | Amass, Subfinder, theHarvester, Google Dorking |
| 主动侦察 | Nmap, Naabu, Masscan |
| Web 和 endpoint 发现 | httpx, Katana, ffuf, Gobuster |
| 漏洞和 TLS 分析 | Nuclei, Nikto, testssl.sh, SQLmap |
XEKUTE **不**捆绑大多数第三方安全二进制文件。仅安装您需要的工具,并确保它们的可执行文件在 `PATH` 中可用。在 Windows 上,某些工具可能更容易通过 WSL 运行。每个第三方工具仍受其自身许可证和安装要求的约束。
## 要求
### 开发所需
- Windows 10 或 Windows 11,x64。
- [Node.js](https://nodejs.org/) 22 或更高版本。
- npm 10 或更高版本。
- 用于命令和上下文解析器的 Python 3。
### AI 功能所需
- 本地运行 [Ollama](https://ollama.com/)。
- 至少安装了一个 Ollama 模型。
### 可选
- 您在命令或工具箱中启用的任何外部安全工具。
- 用于在 Windows 上运行 Linux 优先安全工具的 WSL。
- 生成签名版发布安装程序时所需的 Windows 代码签名证书。
## 快速开始
```
git clone https://github.com/mahirhacks/XEKUTE.git
cd Xekute
npm install
```
安装并启动 Ollama,然后拉取模型。例如:
```
ollama pull qwen2.5-coder:7b
ollama serve
```
启动 XEKUTE:
```
npm start
```
如果在没有 AI 功能的情况下使用 XEKUTE,则 Ollama 是可选的。
## 开发模式
在源文件更改时运行 XEKUTE 并自动重启应用程序:
```
npm run dev
```
开发命令通过 `electronmon` 启动 Electron 并打开分离的 DevTools。主进程的更改需要重启 Electron;`electronmon` 会为受监视的项目文件自动处理此操作。
## 测试和验证
运行自动化测试套件:
```
npm test
```
验证生产环境安全不变性:
```
npm run verify:production
```
检查打包的原生终端依赖项:
```
npm run verify:native
```
## 打包 for Windows
创建解包的 Windows 应用程序:
```
npm run package
```
创建 Squirrel.Windows 安装程序:
```
npm run make
```
构建工件将写入 `out/` 目录下。可以通过以下方式启用 Windows 签名:
```
$env:WINDOWS_CERTIFICATE_FILE = "C:\path\to\certificate.pfx"
$env:WINDOWS_CERTIFICATE_PASSWORD = "your-password"
npm run make
```
切勿提交签名证书或密码。
## 项目结构
```
Xekute/
|-- src/
| |-- agent/ # Agent loop, prompts, operating modes, and policy engine
| |-- bugbounty/ # Assessment, Map, proxy, traffic, and Inspector services
| |-- commands/ # Static slash-command parser and orchestration
| |-- context/ # Context import and Markdown preparation
| |-- shared/ # IPC contracts and shared runtime utilities
| |-- tools/ # Tool adapters, web research, Toolbox, and WebClone
| |-- main.js # Electron lifecycle and privileged services
| |-- preload.js # Context-isolated renderer bridge
| |-- renderer.js # Application workspace behavior
| |-- terminal.js # Integrated terminal presentation
| |-- index.html # Desktop application shell
| `-- style.css # XEKUTE design system and feature styling
|-- test/ # Node test suite
|-- scripts/ # Production verification and release helpers
|-- forge.config.js # Electron Forge packaging and security fuses
`-- package.json
```
## 安全模型
XEKUTE 使用 Electron 上下文隔离、渲染器沙盒、禁用 Node 集成、验证的 IPC payload、限制在工作区内的文件操作、进程所有权检查、默认拒绝权限以及强化的 Electron fuses。
其他保障措施包括:
- Safe 和 Test 操作模式。
- 细粒度的授权权限和批准策略。
- 在支持的主动工作流之前进行范围和授权检查。
- 有界限的进程输出、流量解析、Map 查询和 WebClone 资产。
- 可从 XEKUTE 设置配置的集中式代理 CA 存储。
- 当 Windows 安全存储可用时,加密的本地聊天持久化。
- 在可配置的敏感信息脱敏下,保留证据的流量存储。
没有任何软件控制可以使未经授权的测试变得合理。在发送流量之前,请务必验证范围、所有权、交战规则、速率限制和停止条件。
## 负责任地使用
XEKUTE 仅适用于您拥有或被明确授权评估的系统。您有责任遵守适用的法律、合同、披露要求和测试限制。避免破坏性操作、拒绝服务行为、对个人数据的不必要访问以及未经批准的漏洞利用。
## 贡献
在项目处于 alpha 阶段时,欢迎提出问题和有侧重点的 Pull Request。在提交更改之前:
1. 保持现有的评估格式向后兼容。
2. 保留本地优先的行为和明确的操作员控制。
3. 为行为更改添加或更新测试。
4. 运行 `npm test` 和 `npm run verify:production`。
5. 不要添加远程代码、遥测或包含敏感信息的测试装置。
## 许可证
XEKUTE 在 [MIT 许可证](LICENSE)下发布。
标签:AES-256, AI辅助, AI风险缓解, CISA项目, HTTP代理, MITM代理, 漏洞评估, 自定义脚本, 逆向工具