hackingpal/hackingpal
GitHub: hackingpal/hackingpal
一款以 engagement 为核心流程、由 Claude AI 辅助的授权安全测试工作区,集成了 75+ 渗透测试与取证工具并自动生成报告。
Stars: 4 | Forks: 1
HackingPal
用于授权测试的 AI 辅助安全工作区。
**一个用于授权测试的 AI 辅助安全测试工作区。**
应用的核心是 **engagement**:一个针对单一工作项划分了范围且具名的容器。你可以创建一个(包含明确的目标和排除项),选择一个 playbook 或逐一挑选工具,而每一个结果——扫描输出、发现、屏幕截图——都会自动附加到该 engagement 中,并在最后生成报告。一个由 Claude 驱动的 copilot 会监视会话,帮助你解读结果、建议下一步检查并起草报告——但它**只提供建议,不执行操作**。每一个激活的检查都需要等待人工批准。
```
Engagement → Targets → Playbook → Tools → Evidence → Report
```
该产品正是围绕这一流程构建的。75+ 个独立工具——发现、侦测、Web exploit、AD、云、取证——是存在于 engagement 内部的**库**,而不是产品本身。你仍然可以直接启动任何工具(侧边栏 / ⌘K 面板的工作方式相同),但 engagement 上下文才是将工具启动器转变为安全工作区的关键。
混合的 **Electron + React + TypeScript** 前端,搭配一个内置的 **FastAPI + Python** sidecar,负责处理所有的网络/取证/exploit 逻辑。请参阅 [ROADMAP.md](ROADMAP.md) 了解发展方向,以及 [CLAUDE.md](CLAUDE.md) 获取架构 + 贡献者指南。
```
myhackingpal/
├── backend/ FastAPI server — one router per tool
│ ├── lib/ shared libs: target_policy, web_fuzz, hids_notify, …
│ ├── routers/ tool routers/endpoints, one per page or capability
│ ├── main.py
│ └── network-tools-backend.spec PyInstaller spec (sidecar)
└── frontend/
├── electron/ main + preload (Electron host)
├── src/
│ ├── pages/ one .tsx per sidebar entry
│ ├── components/ Sidebar, ChatBubble, CommandPalette, …
│ └── lib/ theme, nav, sessionLog
├── package.json
└── tailwind.config.js
```
内部 sidecar 二进制文件仍命名为 `network-tools-backend`(为了构建流水线的简便性保持不变)——只有面向用户的品牌名称是 **MyHackingPal**。
## 安装
### 选项 1 — 下载(推荐)
发布资产是公开的,无需登录 GitHub 即可下载。(以下链接使用 GitHub 的 `releases/latest/download/
` 重定向,因此它们始终指向最新发布的版本。)
| 平台 | 下载 | 说明 |
|---|---|---|
| macOS (Apple Silicon) | [MyHackingPal-macos-arm64.dmg](https://github.com/myhackingpal/myhackingpal/releases/latest/download/MyHackingPal-macos-arm64.dmg) · [.zip](https://github.com/myhackingpal/myhackingpal/releases/latest/download/MyHackingPal-macos-arm64.zip) | 挂载 DMG 并拖拽到 `/Applications`,然后运行下方的 Gatekeeper 绕过操作。`.zip` 是一个通过 `ditto` 打包的 `.app`,适用于无法挂载 DMG 的工具链。 |
| Linux (x86_64) | [MyHackingPal-linux-x86_64.AppImage](https://github.com/myhackingpal/myhackingpal/releases/latest/download/MyHackingPal-linux-x86_64.AppImage) | `chmod +x` 然后运行 |
**macOS 首次启动(构建版本未签名)。** MyHackingPal 尚未获得付费的 Apple Developer 证书,因此操作系统在首次运行时会拒绝普通的双击打开,提示“无法打开 MyHackingPal,因为 Apple 无法检查其是否包含恶意软件。”有两种解决方法:
1. 在 Finder 中 **右键点击 → 打开**(然后在对话框中点击 **打开**)。这是 Apple 官方认可的未签名应用绕过方法——该选择会被记录下来,因此随后的启动将正常工作。如果你不想接触终端,推荐使用此方法。
2. **在终端中剥离隔离属性**,然后启动:
xattr -cr /Applications/MyHackingPal.app && open /Applications/MyHackingPal.app
`xattr -cr` 会清除 macOS 附加到下载文件上的 `com.apple.quarantine` 标志;`open` 会启动该应用包。如果你将 `.zip` 解压到了 `/Applications` 之外的位置,请使用此方法。
一旦启动过一次,随后的启动就会恢复正常。
原生 Windows 构建可能仍会出现在 CI/发布中,但 Windows 是实验性的,并不是 v1.0 的支持目标。如果你从 Windows 工作站进行测试,请使用 Docker/远程 backend 模式。
请参阅 `docs/` 中特定平台的指南以获取更多首次启动详细信息,并查看 [docs/SIGNING.md](docs/SIGNING.md) 了解代码签名实际需要什么。已安装的应用会通过 [electron-updater](https://www.electron.build/auto-update) 自动检查更新——在 Windows 和 Linux 上这也会自动安装;在 Mac 上,操作系统会拒绝未签名的替换文件,因此可以检测到更新,但需要重新下载 DMG。
每次提交的 CI 构建产物(包括 Linux arm64 AppImage 和 `.deb`)仍可在 [Actions 标签页](https://github.com/myhackingpal/myhackingpal/actions/workflows/build.yml) 中找到。
### 选项 2 — Docker(仅限 backend API)
Docker 镜像以无头模式运行 FastAPI backend——适用于服务器部署或远程使用。容器中没有 Electron GUI;你可以通过浏览器、curl 或其他客户端通过 HTTP 与其通信。
```
git clone https://github.com/myhackingpal/myhackingpal.git
cd myhackingpal
docker compose up -d
curl http://127.0.0.1:8765/health
# {"status":"ok","version":"0.1.0","pid":"1"}
```
compose 文件授予了 `NET_RAW` + `NET_ADMIN` 权限,以便 tcpdump 和 nmap 的 SYN/UDP/OS 扫描能够正常工作。要在 Linux 主机上的主机网络中进行 LAN 扫描,请切换到 `network_mode: host`(参见 `docker-compose.yml` 中的内联注释)。需要特定操作系统 API 的 endpoint 会返回带有提示信息的 501/503 状态码——例如,`/macos/posture` 仅限 macOS,`/linux/posture` 仅限 Linux,`/windows/posture` 仅限 Windows。
交互式 API 文档位于 `http://127.0.0.1:8765/docs`。
### 选项 3 — 从源码构建
首先在 macOS 和 Linux 上运行。Windows 可能在开发环境下能够启动,但它是实验性的/在 v1.0 版本中暂缓支持。请参阅下方的 [开发](#development) 了解双终端开发循环,以及 [构建发布版本](#building-a-release) 了解如何生成打包的二进制文件。
### 特定平台安装指南
- [macOS](docs/README-macos.md) — Gatekeeper、Keychain、sudoers drop-ins
- [Windows](docs/README-windows.md) — 实验性/暂缓支持;SmartScreen、Credential Manager、Npcap *(非 v1.0 目标)*
- [Linux](docs/README-linux.md) — capabilities、Secret Service、AppImage 说明 *(进行中)*
### 平台支持矩阵
| 支持层级 | 平台 | 状态 | 说明 |
|---|---|---|---|
| 第 1 层级 | macOS | 主要的 v1.0 桌面基准 | 首个精细优化的 UX 目标;Keychain、posture、WiFi、tcpdump/nmap sudoers 以及签名构建工作首先集中在这里。 |
| 第 1 层级 | Linux | 主要的 v1.0 实验室/高级用户基准 | 最适合安全工具、Docker 主机、systemd/防火墙/用户审计以及 homelab 使用。 |
| 第 1 层级 | Docker | 实验室/服务器/远程 backend 模式 | 适用于可信网络、VPN/Tailscale 和 homelab 部署的 backend/API 模式。请勿公开暴露。 |
| 暂缓支持 | Windows | 实验性 | 在简单的地方保持干净的防护/501 响应并避免回归,但原生 Windows 的功能对等并不是 v1.0 的阻碍。 |
特定平台的路由器通过 `src/lib/nav.ts` 中每个 NavItem 上的 `platforms` 数组进行标记,并通过 `GET /system/info` 在错误的操作系统上自动隐藏。不受支持的 endpoint 应返回带有有用提示的干净的 501/503 响应,而不是崩溃。如果维护成本低廉,Windows CI 冒烟测试很有用,但 Windows 的功能对等已暂缓。
## 首次运行
首次启动时,第一次接触特权工具(tcpdump、nmap SYN/UDP/OS)时会提示创建新的 Keychain 条目。对于 AI 助手,打开 **Settings → API keys** 并粘贴一个 Anthropic API key。Claude 是第一个支持的提供商;路线图应保持提供商层的灵活性,以便日后支持更便宜或本地模型。
## 工具库
该库是**在 engagement 中调用的资源**,而不是产品本身。你可以从侧边栏 / ⌘K 面板启动任何工具并独立运行它(实验室模式),但是一旦你激活了一个 engagement,相同的工具就会变成“engagement 中的下一个检查项”——它们的结果会作为证据自动附加,并且 AI 在起草报告时可以提取这些信息。
以下部分与侧边栏相对应。
### DISCOVERY
| 工具 | Endpoint(s) | 功能 |
| ---------------- | ---------------------------------- | ------------------------------------------------------- |
| LAN Scan | `WS /ws/lan-scan` + `/lan/info` | 本地 /24 网段的 ARP 扫描 |
| IP Checker | `GET /ip/{addr}`, `POST /ip/bulk` | Geo/ASN/DNSBL 查询 + 滥用报告联系信息 |
| DNS Recon | `GET /dns/recon/{domain}` + WS | A/AAAA/MX/NS/TXT, 域传输探测, 子域暴力破解 |
| WHOIS · ASN | `GET /whois/{target}` | Domain & IP WHOIS, ASN 分配 |
| Local Discovery | `WS /ws/local-disco` | mDNS / SSDP / LLMMR 被动嗅探 |
| Ping | `WS /ws/ping` | 流式 ping |
### RECON
| 工具 | Endpoint(s) | 功能 |
| ---------------- | ---------------------------------- | ------------------------------------------------------- |
| Port Scanner | `WS /ws/port-scan` | 带 banner 抓取的 TCP connect 扫描 |
| Nmap | `/nmap/*` + WS | 完整 nmap 接口 (600+ NSE 脚本), 多目标 |
| Network Audit | `WS /ws/audit` | LAN 扫描 + 单主机风险评级 |
| TLS Auditor | `GET /tls/audit/{host}` | 证书, 协议, HSTS, 加密算法 |
| Fingerprint | `GET /fingerprint/{host}/{port}` | Banner 抓取服务识别 |
| HTTP Probe | `WS /ws/http-probe` | 内容发现暴力破解 + header 分析 |
| TCPDump | `WS /ws/tcpdump` | 实时数据包捕获 (通过 sudoers drop-in 实现免密) |
### OSINT
| 工具 | Endpoint(s) | 功能 |
| ----------- | --------------------------------- | -------------------------------------------------------- |
| CT Logs | `GET /ct/search/{domain}` | 证书透明度子域枚举 |
| Email Sec | `GET /email/audit/{domain}` | SPF / DMARC / DKIM / BIMI / MTA-STS |
| Takeover | `GET /takeover/check/{fqdn}` + WS | 子域接管签名检查 |
| Reverse IP | `GET /reverse-ip/{target}` | 托管在同一 IP 上的其他域名 |
### WEB RECON
| 工具 | Endpoint(s) | 功能 |
| ---------------- | -------------------------- | ------------------------------------------------------- |
| Subdomain Enum | `WS /ws/subdom-enum` | 聚合器: 免费 crt.sh / HackerTarget / OTX / RapidDNS;通过 Keychain 密钥使用 SecurityTrails / VirusTotal / Shodan |
| CMS / Stack | `GET /cms/fingerprint` | Wappalyzer 风格技术指纹 |
| JWT | `POST /jwt/decode` | Header/payload 解析 + 弱密钥检查 |
| GraphQL | `GET /graphql/introspect` | Introspection 枚举 |
### WEB EXPLOIT *— 受授权限制,激活状态*
所有工具都采用带有 `FUZZ` 标记的请求模板(URL、body、header 值或 cookie 值)。每个工具都强制要求勾选“我已获得授权”复选框,除非你也勾选了“Allow internal”,否则将阻止访问 RFC1918 / loopback / metadata IP。
| 工具 | 检测 | Exploit 选项 |
| --------------------- | ---------------------------------------------------------------------- | ------------------------- |
| XSS | 15 个 polyglot + 上下文感知 payload;上下文 = body / attr / JS / URL | 无(仅反射) |
| SQL Injection | error / boolean / time / union, 涵盖 MySQL/PG/MSSQL/SQLite/Oracle | 提取 DBMS 版本 |
| Command Injection | 基于时间 (Unix `; sleep 5` + Windows `& timeout 5`) + 输出 (`id`) | 读取 /etc/passwd |
| LFI / 路径遍历 | `../`, 编码, 双重编码, 绝对路径, PHP wrappers, /proc/self/ | 导出 /etc/shadow 及相关文件 |
| SSRF | loopback + 十进制/十六进制/进制 IPv4 + AWS/Azure/GCP IMDS + file:/gopher: | 完整的 IMDS / 凭据导出 |
| IDOR | 遍历 ID,对比 OWNER 认证配置与 N 个攻击者配置 | 标记 200 + 长度接近的响应 |
### RED TEAM
| 工具 | Endpoint(s) | 功能 |
| ------------- | ---------------------- | ---------------------------------- |
| Reverse Shell | `/revshell/*` + WS | Payload 生成器 + 监听器 |
### CRYPTO
| 工具 | Endpoint(s) | 功能 |
| ------------- | ---------------------- | ------------------------------------------------------ |
| Hash Cracker | `/hash/*` + WS | 识别 + 字典攻击;通过 PyInstaller spec 捆绑 rockyou |
### MONITORING
| 工具 | Endpoint(s) | 功能 |
| -------------- | ---------------------------- | ---------------------------------------------------------------- |
| IDS | `WS /ws/ids` | 轻量级主机 IDS — 新的监听端口、失败的认证事件 |
| Systemd Units *(linux)* | `/systemd/*` | 列出 + 检查 units,跟踪日志 |
| Firewall Rules *(linux)*| `GET /firewall/rules`| 将 nft / iptables-save 解析为 chains + rules |
### FORENSICS
| 工具 | Endpoint(s) | 功能 |
| ---------------- | ---------------------------- | ---------------------------------------------------------------------------------- |
| Persistence | `GET /persistence/audit` | Mac: launchd。Linux: systemd + cron + autostart + rc.local。Windows: 注册表 Run + 启动 + 计划任务。 |
| Processes | `GET /processes/list` + kill | 运行中的进程 + 监听器 + 签名状态 |
| Steganography | `/stego/*` | LSB 隐写/提取 (PNG/BMP/WAV), JPEG 分析, AES-GCM |
| macOS Posture *(mac)* | `GET /macos/posture` | SIP / Gatekeeper / FileVault / firewall / XProtect |
| Linux Posture *(linux)* | `GET /linux/posture` | SELinux / AppArmor / firewall / sshd / sysctl / sudoers / LUKS |
| Windows Posture *(windows)* | `GET /windows/posture` | BitLocker / Defender / UAC / firewall / SmartScreen / Secure Boot / updates |
| Users Audit *(linux)* | `GET /users/audit` | passwd / sudoers / lastlog / authorized_keys 指纹扫描 |
### UTILITIES
| 工具 | Endpoint(s) | 功能 |
| ---------------- | ----------------------- | ----------------------------------------------------------------------------- |
| WiFi Integrity | `GET /wifi/report` | SSID/BSSID/gateway/DNS 完整性检查 *(mac + linux;Windows 移植待定)* |
| VPN Manager | `/vpn/*` | WireGuard `wg0` 启动/停止/状态 *(mac + linux;Windows 使用不同的服务)* |
| Terminal | `POST /terminal/exec` | 一次性 shell 执行 (无 PTY) |
| Packages | `/brew/*` + WS | Homebrew (mac) / apt (Debian) / dnf (Fedora) / pacman (Arch) 搜索 + 安装 |
## 贯穿性特性
### AI 聊天助手
位于右下角的浮动气泡 (`components/ChatBubble.tsx`)。使用带有自适应思考和摘要显示的 `claude-opus-4-7`。通过来自 `POST /chat/stream` 的 SSE 进行流式传输。
- 前端的会话日志 (`lib/sessionLog.ts`) 会记录每一个成功的 `api()` 响应(最后约 50 条记录,每条截断为约 1.2KB)。
- 每一轮聊天都会发送最后 30 条会话日志条目以及当前活动页面作为上下文,以便助手能够解读你最新的扫描结果。
- API key 存储在 macOS Keychain 中,服务名为 `MyHackingPal`,账号为 `anthropic_api_key`。
- 在向 Claude 解释每个工具类别的(庞大且稳定的)system prompt 上启用了 prompt 缓存。
### 主题
深色 / 浅色 / 系统主题,持久化到 localStorage。顶部栏按钮可循环切换。颜色是 `:root` 和 `:root.light` 下的 CSS 变量(参见 `src/index.css`);Tailwind 类使用 `rgb(var(--xxx) / )`,因此透明度修饰符仍能正常工作。
### 命令面板 — ⌘K
对所有页面进行模糊搜索。通过邻近度 + 词边界 + 位置 0 加权对子序列匹配进行评分;平局时优先选择较短的标签。Section 名称(如 "WEB EXPLOIT")也会匹配。侧边栏导航通过 `src/lib/nav.ts` 与面板共享。
### 侧边栏 — ⌘B
切换隐藏。状态持久化到 localStorage。隐藏时通过 `pl-[88px]` inset 保留了 macOS 的红绿灯按钮。
## 配置
### Anthropic key(聊天必需)
在应用内:打开 **Settings → API keys** → 粘贴 `sk-ant-…` → 保存。或者:
```
security add-generic-password -a anthropic_api_key -s MyHackingPal -w 'sk-ant-…' -U
```
### 付费版 subdomain-enum API(可选)
设置 UI 将在 v0.2.0 版本中推出。在此之前,启动后通过 curl 配置:
```
curl -X POST http://127.0.0.1:8765/settings/keys/securitytrails_api_key \
-H 'Content-Type: application/json' -d '{"value":""}'
curl -X POST http://127.0.0.1:8765/settings/keys/virustotal_api_key \
-H 'Content-Type: application/json' -d '{"value":""}'
curl -X POST http://127.0.0.1:8765/settings/keys/shodan_api_key \
-H 'Content-Type: application/json' -d '{"value":""}'
```
Subdomain Enum 页面会在打开时重新获取源状态,并在配置了 key 后点亮相应的复选框。
### Target 策略
`backend/config.json` → `target_policy` 控制对于任何基于 `target_policy.check_target` 进行拦截的工具,什么情况算作软“警告”,什么情况算作硬“拒绝”。默认允许私有 / loopback / Tailscale 网段,并对外部 target 仅发出警告。Schema 请参见 `backend/lib/target_policy.py`。
### Sudoers drop-ins
`tcpdump` 和 `nmap` 通过 `osascript` 提示的管理员权限安装一次性 sudoers 条目。Endpoint:`POST /tcpdump/install`,`POST /nmap/install`。每个工具都会写入 `/etc/sudoers.d/network-tools-`,属主为 `root:wheel`。
## 安全 / 授权
WEB EXPLOIT 工具是双刃剑。内置的默认设置:
- **授权复选框** — 在你勾选“我已获得测试此 target 的授权”之前,每个页面都拒绝启动。
- **Scope 防护** — 默认拒绝 RFC1918 / loopback / link-local / 云 metadata IP。勾选“Allow internal targets”以覆盖此设置。
- **速率限制** — 每个页面上都有滑动条,默认 8 req/s,最大 30。
- **停止按钮** — 每次扫描都可以在运行中中断。
- **审计跟踪** — 每一个成功的 HTTP 请求都会记录在会话日志中,并呈现给聊天助手。
其目的是让 *容易的* 路径成为 *安全的* 路径。这些措施都无法阻止蓄意的滥用——它们的存在是为了防止意外误操作(例如不小心对你自己的局域网网关进行 fuzzing)。
## 开发
两个进程,每个终端运行一个。
```
# 终端 1 — 后端(FastAPI 在 8765 端口,自动重载)
cd backend
python3 -m uvicorn main:app --reload --port 8765
# 终端 2 — 前端(Vite 在 5173 端口,然后是 Electron)
cd frontend
npm install # one-time
npm run dev:all # vite + electron
# 或者直接使用 Vite:
npm run dev # open http://localhost:5173
# 终端 3 — Android 伴侣应用(可选)
cd mobile
flutter pub get
flutter run
# 在 Settings 中将应用指向您的后端 IP
```
当 `app.isPackaged` 为 true 时,Electron 会从 `Contents/Resources/backend/network-tools-backend` 启动内置的 sidecar,并等待 `/health` 响应。在开发环境中,它期望你自己运行 uvicorn。
### 添加新工具
1. Backend:放入 `routers/.py` 暴露一个 router;在 `backend/main.py` 中注册。
2. Frontend:放入 `src/pages/.tsx`;在 `App.tsx` 中导入并添加到三元运算符中;在 `src/lib/nav.ts` 中将条目添加到相应的 section(侧边栏和命令面板会从此文件读取)。
3. 元数据:声明支持的 platforms、模式要求、风险级别,以及该工具是否接受 target。
4. 安全性:将接受 target 的工具通过 scope 强制执行、命令预览、审计日志进行串联,并在激活时通过授权限制。
5. AI:扩展工具目录/prompt 元数据,以便助手能够解读结果并恰当地推荐该工具。
### 构建发布版本
```
cd frontend
npm run dist:dir # PyInstaller backend → Vite build → electron-builder
# → dist-electron/mac-arm64/MyHackingPal.app
```
安装到桌面:
```
# 先退出正在运行的实例,否则 electron-builder 可能会失败。
osascript -e 'quit app "MyHackingPal"' 2>/dev/null
rm -rf ~/Desktop/MyHackingPal.app
cp -R ~/network_tools/frontend/dist-electron/mac-arm64/MyHackingPal.app ~/Desktop/
```
CI 会在每次推送时生成跨平台构建版本(参见 [路线图](#roadmap)):
Windows `.exe` (NSIS + 便携版),Linux `.AppImage` + `.deb`,macOS `.app` —— 全部通过 `.github/workflows/build.yml` 中的 `windows-latest` / `ubuntu-latest` / `ubuntu-24.04-arm` / `macos-latest` 矩阵完成。PyInstaller 无法交叉编译,这就是为什么矩阵要在每个操作系统上原生运行的原因。
特定平台的路由器通过 `src/lib/nav.ts` 中每个 NavItem 上的 `platforms` 数组进行标记,并通过 `GET /system/info` 在错误的操作系统上自动隐藏。核心平台辅助函数位于 `backend/lib/platform_util.py`(`IS_DARWIN` / `IS_LINUX` / `IS_WINDOWS`,`app_data_dir()`,`require_darwin()` / `require_linux()` / `require_windows()` 辅助函数)。
## 贡献
欢迎各种贡献。目前最简单的贡献方式是:
- **Bug 报告** — 开启一个 issue 并附带复现步骤
- **Preset 文件** — 为新的攻击场景提交一个 .mhp playbook(参见 CONTRIBUTING.md)
- **新工具** — 遵循上方“添加新工具”中的 3 步模式
- **平台测试** — 帮助验证 macOS、Linux 和 Docker 构建。欢迎 Windows 测试,但属于实验性/暂缓支持。
在提交 PR 之前,请阅读 CONTRIBUTING.md 和 DISCLAIMER.md。
## 路线图
### v0.1.0-beta — 已发布 ✅
- [x] 涵盖 9 个类别的 40+ 个工具
- [x] 带有会话上下文的 Claude 驱动的 AI 助手
- [x] 攻击 playbook / preset 系统
- [x] 所有激活工具的 WebSocket 流式传输
- [x] 所有 exploit 工具上的授权限制
- [x] Scope 防护 + 速率限制
- [x] 所有凭据使用 macOS Keychain
- [x] 命令面板 (⌘K) + 侧边栏 (⌘B)
- [x] 深色 / 浅色 / 系统主题
### v0.2.0-beta — 跨平台 + 移动端 ✅ (当前版本)
- [x] Windows 构建 (.exe NSIS 安装程序 + 便携版)
- [x] Linux 构建 (.AppImage + .deb, x64 + arm64)
- [x] Docker backend 镜像 (无头 API 服务器)
- [x] Android 配套应用 (Flutter,7 个工具 + 聊天)
- [x] 跨平台持久化审计
(launchd / systemd / Registry)
- [x] 跨平台 posture
(macOS / Linux / Windows)
- [x] 跨平台 WiFi 扫描
(CoreWLAN / nmcli / netsh)
- [x] 跨平台软件包
(Homebrew / apt / dnf / pacman)
- [x] Linux 专用工具
(Systemd Units, Firewall Rules, Users Audit)
- [x] 每次推送到 main 分支时运行 CI 矩阵构建
### v0.3.0 — 稳定性 + 优化
- [ ] 所有工具的全面错误处理
- [ ] 每个 endpoint 的输入验证
- [ ] 测试套件 (pytest backend + Vitest frontend)
- [ ] 首次启动向导
- [ ] 带有应用内 API key 管理的设置页面
- [ ] Engagement / 会话管理 + 发现跟踪器
- [ ] PDF/markdown 报告导出
- [ ] 代码签名 + 公证 (macOS + Windows)
- [ ] 通过 electron-updater 自动更新
### v0.4.0 — 移动端扩展
- [ ] iOS 配套应用 (Swift)
- [ ] Android:与桌面端实现完全的工具对等
- [ ] 移动端发现与桌面会话同步
- [ ] 长时间扫描的推送通知
### v1.0.0 — 社区
- [ ] 社区 preset 库 (.mhp 文件)
- [ ] NGFW 集成 (pfSense, OPNsense, Palo Alto)
- [ ] 插件 / 自定义工具 API
- [ ] GitHub Releases 上的签名发布版本
## WebSocket 协议
流式 router 都遵循相同的结构:
1. 客户端打开 `ws://127.0.0.1:8765/ws/`。
2. 客户发送一个 JSON 对象作为握手信息(target、选项等)。
3. 可选:随时发送 `{"action":"stop"}` 以中止。
4. 服务器发送一系列 `{"type": ...}` 事件,以 `done` 或 `error` 终止。
web-exploit 系列还在 init 消息中额外要求包含 `confirm_auth: true`。规范示例请参见 `routers/port_scanner.py`。
## 技术栈参考
- **Backend:** Python 3.11+,FastAPI,uvicorn (asyncio loop),httpx,websockets/wsproto,anthropic SDK,Pillow,cryptography,python-multipart。
- **Frontend:** React 18,Vite,TypeScript,Tailwind (CSS-variable theme),Electron 33。
- **Mobile:** Flutter 3.x (Dart),目标为 Android 7+ (minSdk 24),compileSdk 36。包名 `dev.adamsjack.myhackingpal`。通过 Tailscale 连接到 FastAPI backend。
- **Container:** Docker (`python:3.11-slim`),内置 nmap 7.95 + tcpdump 4.99.5 + 云 SDK (boto3, azure-mgmt-*, google-cloud-*) + AD 工具 (ldap3, impacket, bloodhound)。具有 `NET_RAW` + `NET_ADMIN` capabilities。
- **打包:** PyInstaller (backend → 独立二进制文件),electron-builder (Electron + sidecar + 图标 → `.app`)。
- **持久化:** 所有 API key 使用 macOS Keychain / Linux Secret Service / Windows Credential Manager。Docker:`ANTHROPIC_API_KEY` 环境变量。不在磁盘上存储凭据。标签:AI辅助, AV绕过, Electron, FastAPI, 域环境安全, 安全测试, 实时处理, 密码管理, 攻击性安全, 数据泄露, 漏洞报告, 漏洞挖掘, 请求拦截, 逆向工具