OmYarewar/PHANTOM

GitHub: OmYarewar/PHANTOM

一款支持多模型后端的 AI 自主渗透测试指挥中心,通过无限迭代调用内置工具链完成安全测试任务,并具备自我改进与跨会话记忆能力。

Stars: 11 | Forks: 1

# 👻 PHANTOM ### AI 驱动的渗透测试指挥中心 [![Node.js](https://img.shields.io/badge/Node.js-18+-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org) [![License](https://img.shields.io/badge/License-MIT-blue?style=for-the-badge)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black)](https://www.linux.org/) [![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen?style=for-the-badge)](https://github.com/pulls) **一款用于渗透测试、安全研究和通用任务的自主 AI 助手。** 实时工具执行 • 无限自主操作 • 自我改进 AI • 精美的暗色 UI
## ✨ 功能 | Feature | Description | |---------|-------------| | 🤖 **任意 LLM 后端** | OpenAI, OpenRouter, Ollama, LM Studio, DeepSeek, Claude — 任何兼容 OpenAI 的 API | | ⚡ **实时流式传输** | 实时工具执行输出、打字动画和 AI 思考过程展示 | | 🔓 **无限操作** | 无工具调用次数限制 — PHANTOM 将自主运行,直到任务完成 | | 🧠 **自我改进** | 创建自己的工具,保存执行轨迹,从历史运行中学习 | | 🔑 **安全 Sudo** | 一次性 sudo 密码并进行系统验证 — 安全持久化存储 | | 📁 **工作区系统** | 可配置的工作区目录,用于脚本、报告和文件操作 | | 🧩 **MCP 集成** | Model Context Protocol 服务器管理,用于扩展功能 | | 📦 **技能系统** | 导入、管理和创建可复用的技能包(支持 .zip 导入) | | 🌐 **网络研究** | 内置网络搜索和网页抓取,获取实时信息 | | 🕷️ **Scrapling 集成** | 通过 [Scrapling](https://github.com/D4Vinci/Scrapling) 实现绕过反机器人验证、解决 Cloudflare 验证和 JS 渲染 | | 💾 **持久化记忆** | 跨会话记忆目标、凭证和发现结果 | | 🛑 **紧急停止** | 瞬间中止按钮,可随时停止正在运行的操作 | | 🎨 **高级暗色 UI** | 毛玻璃效果、矩阵背景、流畅动画 | ## 🚀 快速开始 ### 前置条件 - **Node.js** 18+ ([安装](https://nodejs.org)) - **Python** 3.10+ (用于 Scrapling 集成) - **npm** (随 Node.js 附带安装) - 任何**兼容 OpenAI 的 API** 密钥 ### 安装说明 ``` # Clone 仓库 git clone https://github.com/OmYarewar/PHANTOM.git cd PHANTOM # 安装依赖 npm install # 配置你的 API cp .env.example .env nano .env # Add your API key and model ``` ### 配置 编辑 `.env` 文件,填入您的 API 提供商信息: ``` # OpenAI API_BASE_URL=https://api.openai.com/v1 API_KEY=sk-your-key-here MODEL_ID=gpt-4o # OpenRouter (可访问 100+ 模型) API_BASE_URL=https://openrouter.ai/api/v1 API_KEY=sk-or-your-key-here MODEL_ID=deepseek/deepseek-chat # Ollama (本地, 免费) API_BASE_URL=http://localhost:11434/v1 API_KEY=ollama MODEL_ID=llama3 # LM Studio (本地) API_BASE_URL=http://localhost:1234/v1 API_KEY=lm-studio MODEL_ID=your-model-name ``` ### 运行 ``` npm run dev ``` 在浏览器中打开 **http://localhost:5173**。大功告成! 🎉 ## 🏗️ 架构 ``` PHANTOM/ ├── server/ # Backend (Express + WebSocket) │ ├── ai/ │ │ ├── llm-client.js # LLM communication & streaming │ │ └── system-prompt.js # Dynamic system prompt builder │ ├── tools/ │ │ ├── executor.js # Tool execution engine (14 tools) │ │ └── registry.js # Tool definitions for function calling │ ├── memory/ │ │ └── store.js # SQLite persistence layer │ ├── routes/ │ │ └── api.js # REST API endpoints │ ├── config.js # Configuration management │ └── index.js # Server entry point ├── frontend/ # Frontend (Vanilla JS + Vite) │ ├── css/styles.css # Dark theme design system │ ├── js/ │ │ ├── app.js # Main controller & WebSocket │ │ ├── chat.js # Chat rendering & animations │ │ ├── settings.js # Settings panel │ │ ├── management.js # MCP & Skills management │ │ └── markdown.js # Markdown renderer │ └── index.html # Main page ├── workspace/ # AI workspace (scripts, reports, skills) ├── .env.example # Configuration template ├── vite.config.js # Vite dev server config └── package.json ``` ## 🛠️ 可用工具 PHANTOM 拥有 **15 个内置工具**,AI 会自主调用它们: | Tool | Purpose | |------|---------| | `execute_command` | 运行 shell 命令,并自动注入 sudo | | `read_file` | 读取文件内容 | | `write_file` | 写入/创建文件 | | `list_directory` | 列出目录内容 | | `install_tool` | 自动安装软件包 (apt/pacman/pip/npm/go/cargo) | | `web_request` | 用于侦察和 API 测试的 HTTP 请求 | | `search_web` | 通过 DuckDuckGo 进行网络搜索 | | `scrape_webpage` | 抓取并解析网页内容 | | `scrapling_fetch` | ⭐ 高级抓取 — 绕过反机器人验证、Cloudflare 验证和 JS 渲染 ([Scrapling](https://github.com/D4Vinci/Scrapling)) | | `python_execute` | 直接执行 Python 代码 | | `save_memory` | 将发现结果存储到持久化记忆中 | | `recall_memory` | 搜索持久化记忆 | | `edit_source_code` | 自我修改 PHANTOM 自身的代码 | | `save_trace` | 记录执行轨迹以进行自我优化 | ## 🔒 安全说明 - **Sudo 密码**仅存储在您机器上的本地 SQLite 数据库中 - **API 密钥**在本地存储,除了发送到您配置的 API 端点外,绝不会传输到其他任何地方 - `.env` 文件和 `phantom.db` 已被排除在 git 跟踪之外 - PHANTOM **仅在本地运行** — 没有任何外部遥测或数据收集 - `edit_source_code` 工具仅在项目目录内工作,并会创建备份 ## 🎨 截图
点击展开 ### 主界面 带有矩阵背景、实时流式输出和 AI 思考过程展示的暗色主题指挥中心。 ### 设置面板 配置 API 提供商、模型、温度、工作区和 sudo 权限。 ### 管理面板 通过标签页界面管理 MCP 服务器和技能,并支持 .zip 导入。
## ⚙️ 设置(通过 Web UI) 所有设置都可以通过 Web UI 进行配置,并且**在重启后依然保留**: - **API 配置** — Base URL、API 密钥、模型、温度、最大 token 数 - **工作区** — 所有 AI 文件操作的默认目录 - **Sudo 密码** — 经过系统验证并安全存储 - **MCP 服务器** — 添加/移除 Model Context Protocol 服务器 - **技能** — 导入 .zip 技能包,或让 AI 自动创建它们 ## 🧠 工作原理 1. **提出需求** — 在聊天框中输入您的请求 2. **AI 思考** — 实时显示推理过程(针对支持的模型) 3. **AI 行动** — 通过实时输出流式传输自主执行工具 4. **AI 报告** — 带有打字动画的清晰、格式化结果 5. **AI 学习** — 保存轨迹和记忆以供未来优化 PHANTOM 实现了来自 [Meta-Harness](https://arxiv.org/abs/2603.28052) 的理念,用于自动化的 harness 优化 — AI 可以审查自己的执行轨迹,并随着时间推移不断改进其方法。 ## 📋 API 端点 | Endpoint | Method | Description | |----------|--------|-------------| | `/api/settings` | GET/PUT | 配置管理 | | `/api/conversations` | GET/POST | 对话 CRUD | | `/api/conversations/:id` | GET/DELETE | 单个对话操作 | | `/api/tools` | GET | 列出可用工具 | | `/api/memory` | GET | 查询持久化记忆 | | `/api/mcp/servers` | GET/POST/DELETE | MCP 服务器管理 | | `/api/skills` | GET | 列出已安装的技能 | | `/api/skills/upload` | POST | 导入技能包 (.zip) | | `/api/sudo/validate` | POST | 验证 sudo 密码 | | `/api/system/info` | GET | 系统信息 | | `/ws` | WebSocket | 实时聊天与流式传输 | ## 📄 许可证 本项目基于 MIT 许可证授权 — 详见 [LICENSE](LICENSE) 文件。 ## ⚠️ 免责声明 PHANTOM 专为**合法授权的安全测试**而设计。在对任何系统进行测试之前,请务必获取适当的授权。开发者不对本工具的滥用行为承担任何责任。
**用 🖤 为安全社区而构建**
标签:AI安全, Chat Copilot, Claude, CVE检测, DeepSeek, DLL 劫持, GNU通用公共许可证, LLM评估, MCP, MITM代理, Node.js, Ollama, OpenAI, Petitpotam, PE 加载器, SOC Prime, Web安全, 代码生成, 内存规避, 反取证, 命令中心, 大语言模型, 安全评估, 实时处理, 实时流传输, 密码管理, 开发工具, 开源, 插件系统, 攻击路径可视化, 模型上下文协议, 渗透测试工具, 熵值分析, 白帽, 网络安全, 自主智能体, 自动化渗透测试, 自学习AI, 自定义脚本, 蓝队分析, 逆向工具, 隐私保护, 黑客, 黑客工具