xunholy/promptzero
GitHub: xunholy/promptzero
自然语言 AI 操作器,将 Flipper Zero 与 Marauder 转化为对话式渗透测试控制台。
Stars: 0 | Forks: 0
```
██████╗ ██████╗ ██████╗ ███╗ ███╗██████╗ ████████╗
██╔══██╗██╔══██╗██╔═══██╗████╗ ████║██╔══██╗╚══██╔══╝
██████╔╝██████╔╝██║ ██║██╔████╔██║██████╔╝ ██║
██╔═══╝ ██╔══██╗██║ ██║██║╚██╔╝██║██╔═══╝ ██║
██║ ██║ ██║╚██████╔╝██║ ╚═╝ ██║██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
███████╗███████╗██████╗ ██████╗
╚══███╔╝██╔════╝██╔══██╗██╔═══██╗
███╔╝ █████╗ ██████╔╝██║ ██║
███╔╝ ██╔══╝ ██╔══██╗██║ ██║
███████╗███████╗██║ ██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝
[ AI-POWERED FLIPPER ZERO OPERATOR ]
no limits // no filters
```
PromptZero 是一个自然语言 AI 操作器,用于 [Flipper Zero](https://flipperzero.one)。像与人交谈一样与你的 Flipper 互动。它生成有效载荷、部署并执行——全部只需一句话。
## 它能做什么
PromptZero 通过 USB 串口连接到你的 Flipper Zero(以及可选的 ESP32 Marauder WiFi 开发板),然后通过 Claude 驱动的自然语言让你控制一切。
```
promptzero> make me a Starbucks WiFi captive portal
Generated and deployed evil_portal to /ext/apps_data/evil_portal/index.html
Evil portal started on Marauder devboard
promptzero> scan for nearby WiFi networks and deauth the strongest one
Found 12 access points. Strongest: "NETGEAR-5G" (-31 dBm, channel 6)
Selected AP 0. Deauth attack running...
promptzero> create a BadUSB payload that opens a reverse shell on Windows
Generated and deployed badusb to /ext/badusb/generated_payload.txt
Ready to execute — plug into target and run
promptzero> what's this? [photo of a remote control]
That's a Samsung BN59 series TV remote using the Samsung32 IR protocol.
I can generate a complete remote file. Want me to create it?
```
### 97 个工具,覆盖 5 个子系统
| 子系统 | 工具 | 能力 |
|-----------|-------|-------------|
| **Flipper Zero** | 34 | Sub-GHz 发射/接收、红外发射/接收、NFC 检测/模拟、RFID 读/写/模拟、iButton、GPIO、BadUSB、存储、应用启动器 |
| **ESP32 Marauder** | 51 | WiFi 扫描、脱网、信标泛洪、探测请求泛洪、PMKID 捕获、邪恶门户、BLE 泛洪、蓝牙扫描、读卡器检测、网络侦察、战车道、MAC 欺骗 |
| **AI 生成** | 7 | 邪恶门户 HTML、BadUSB DuckyScript、Sub-GHz .sub 文件、红外 .ir 遥控器、NFC .nfc 标签——全部通过自然语言描述生成 |
| **智能** | 3 | 视觉分析(照片 -> 设备 ID + 攻击向量)、SD 卡应用/信号发现、设备注册表 |
| **审计** | 3 | SQLite 审计日志、会话导出(JSON)、统计信息 |
## 架构
```
┌──────────────────────────────────────────────────────────────────┐
│ USER INPUT │
│ CLI / Web UI / Voice / MCP Client │
└──────────────┬───────────────────────────────────┬───────────────┘
│ │
v v
┌──────────────────────────┐ ┌─────────────────────────────┐
│ Claude Agent (tool use)│ │ Generation Pipeline │
│ 97 tools / audit log │────────>│ Claude / Ollama / OpenRouter│
│ risk classification │ │ generate -> deploy -> run │
└──────────┬───────────────┘ └─────────────────────────────┘
│
┌─────┴──────┐
│ │
v v
┌──────────┐ ┌───────────┐
│ Flipper │ │ Marauder │
│ Zero │ │ ESP32 │
│ USB ACM │ │ USB ACM │
│ (serial) │ │ (serial) │
└──────────┘ └───────────┘
```
## 快速开始
### 先决条件
### 安装
```
git clone https://github.com/xunholy/promptzero.git
cd promptzero
make build
```
### 配置
```
cp config.example.yaml config.yaml
# 编辑 config.yaml — 设置您的 API 密钥和串口
```
或者使用环境变量:
```
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..." # optional, for voice
export OPENROUTER_API_KEY="sk-or-..." # optional, for multi-model generation
```
### 运行
```
# CLI 模式(默认)
./bin/promptzero
# Web UI
./bin/promptzero --web
# 带有 WiFi 开发板的自定义端口上的 Web UI
./bin/promptzero --web --web-port 3000 --wifi
# 带语音输入的 CLI
./bin/promptzero --voice
# MCP 服务器(适用于 Claude Desktop / Claude Code)
./bin/promptzero --mcp
# 使用本地 Ollama 进行有效载荷生成(零外泄)
./bin/promptzero --gen-provider ollama --ollama-model qwen2.5-coder:14b
# 全部一起
./bin/promptzero --web --wifi --voice
```
## 模式
### CLI(默认)
交互式 REPL。输入自然语言命令,获取结果。
```
promptzero> scan the SD card and show me what signals I have saved
promptzero> transmit the garage door signal
promptzero> read the NFC tag on my desk
```
### Web UI(`--web`)
深色主题浏览器界面,位于 `http://localhost:8080`。包括:
- 带实时 WebSocket 通信的聊天界面
- 浏览器语音录制(无需 sox)
- 状态指示器和会话管理
### 语音(`--voice`)
CLI 模式下的按键通话。按下回车键但不输入文本即可通过麦克风录制(需要 `sox`)。音频通过 OpenAI Whisper 转写,然后作为普通命令处理。
### MCP 服务器(`--mcp`)
作为 [模型上下文协议](https://modelcontextprotocol.io/) 服务器运行,通过 stdio。使用方法:
## 生成流水线
核心差异化。描述你想要的内容,PromptZero 会创建它,写入 Flipper 并运行。
| 命令 | 发生过程 |
|---------|-------------|
| `"make me a Google login portal"` | AI 生成像素级 HTML -> 写入 `/ext/apps_data/evil_portal/index.html` -> 启动邪恶门户 |
| `"create a reverse shell payload for macOS"` | AI 生成适用于 Flipper 的 DuckyScript -> 写入 `/ext/badusb/` -> 准备执行 |
| `"I need a Samsung TV remote with all the buttons"` | AI 生成包含 NEC/Samsung32 协议命令的 .ir 文件 -> 写入 `/ext/infrared/` |
| `"generate a 433MHz garage door signal"` | AI 生成包含正确编码的 .sub 文件 -> 写入 `/ext/subghz/` |
### 支持的有效载荷类型
- **邪恶门户** — 单文件 HTML 捕获门户(表单动作 `/get`,字段 `email`/`password`,最大 20KB,无外部资源)
- **BadUSB** — Flipper 兼容的 DuckyScript,包含扩展命令(`STRINGLN`、`HOLD`/`RELEASE`、`MOUSEMOVE`、`MEDIA`、`SYSRQ`、`ID` 欺骗)
- **Sub-GHz** — `.sub` 文件(解析键格式,含 52 种协议)和 RAW 格式(时序数据)
- **红外** — `.ir` 文件(14 种协议,如 NEC、Samsung32、RC5、RC6、SIRC 等)和原始信号
- **NFC** — `.nfc` 文件(Mifare Classic、NTAG/Ultralight、ISO14443)
### 多提供者生成
```
# 默认:Claude 生成有效载荷
./bin/promptzero
# 本地 Ollama:有效载荷永不离开您的机器
./bin/promptzero --gen-provider ollama --ollama-model llama3.1
# OpenRouter:用于生成的任意模型
./bin/promptzero --gen-provider openrouter
```
## Flipper Zero 兼容性
### 固件
针对已解锁全部功能的修改版固件进行测试:
| 固件 | 状态 |
|----------|--------|
| **Momentum**(前身为 Xtreme) | 主要目标 |
| **Unleashed** | 支持 |
| **RogueMaster** | 支持 |
| **官方(OFW)1.x** | 支持(功能受限——锁定频率、无额外协议) |
### 串口协议
- **连接**:USB CDC ACM(Linux 上为 `/dev/ttyACM0`)
- **波特率**:对 CDC ACM 虚拟串口无意义(约定为 230400)
- **DTR**:必须置位(自动处理)
- **命令终止符**:`\r`(CR,0x0D)
- **提示符**:`>: `(对子 shell 如 `[nfc]>: ` 进行 ANSI 转义剥离)
- **文件写入**:使用 `storage write_chunk` 协议(非交互式 `storage write`)
### Marauder(WiFi 开发板)
- **固件**:ESP32 Marauder v1.11.1+
- **连接**:USB CDC ACM(官方 Flipper WiFi 开发板为 `/dev/ttyACM1`)
- **波特率**:115200
- **命令终止符**:`\n`
- **提示符**:`> `
## 构建
```
make build # Build for current platform
make run # Build and run
make clean # Remove build artifacts
make tidy # go mod tidy
make lint # golangci-lint (requires golangci-lint installed)
```
### 交叉编译
```
GOOS=linux GOARCH=arm64 go build -o promptzero-linux-arm64 ./cmd/promptzero
GOOS=darwin GOARCH=arm64 go build -o promptzero-darwin-arm64 ./cmd/promptzero
GOOS=windows GOARCH=amd64 go build -o promptzero-windows-amd64.exe ./cmd/promptzero
```
## 许可证
MIT
由 [Claude](https://claude.ai) 构建,贡献者 [xunholy](https://github.com/xunholy)
标签:AI 助理, AI 安全操作, AI风险缓解, AI 驱动的渗透测试, BLE 攻击, Claude 集成, ESP32, Evil Portal, EVTX分析, Flipper Zero, Marauder, PromptZero, USB 串行, WiFi 攻击, 开源安全工具, 无限制 AI, 日志审计, 生成式 AI, 硬件安全, 社会工程, 逆向工程平台