105 lines
5.6 KiB
Markdown
105 lines
5.6 KiB
Markdown
# Platform Support
|
|
|
|
This project uses a layered platform model:
|
|
|
|
1. **Core knowledge layer**: `skills/`, `RULES.md`, `routing.md`, and `CTF-Sandbox-Orchestrator/`. This layer is platform-agnostic.
|
|
2. **Execution layer**: scripts, local tools, MCP servers, and path conventions. This layer is platform-specific.
|
|
3. **Client layer**: Claude Code, Codex CLI, Cursor, Cline, Windsurf, Kiro, or any Agent client that can load rules and call tools.
|
|
|
|
## Support matrix
|
|
|
|
| Platform | Status | Primary entry | Notes |
|
|
|---|---|---|---|
|
|
| Windows | Full primary path | `README.md`, PowerShell scripts | Original mainline. Uses `.ps1`, Windows paths, `winget` / GitHub release ZIPs. |
|
|
| Kali Linux | Full specialized path | `kali/README-kali.md` | Dedicated Kali layer with `apt`, bash scripts, and Kali-native security tooling. |
|
|
| Ubuntu / Debian Linux | Supported generic path | `docs/platforms/linux.md`, `skills/scripts/bootstrap-reverse.sh`, `skills/scripts/refresh-tool-index.sh` | Uses `apt`, `pipx` / venv, `npm`, GitHub releases, and optional Kali scripts as reference. |
|
|
| macOS | Supported generic path | `docs/platforms/macos.md`, `skills/scripts/bootstrap-reverse.sh`, `skills/scripts/refresh-tool-index.sh` | Uses Homebrew, `pipx` / venv, `npm`, app bundle paths, and manual IDA / Burp setup. |
|
|
|
|
## What is shared across platforms
|
|
|
|
The following are not tied to a platform:
|
|
|
|
- `RULES.md`
|
|
- `skills/SKILL.md`
|
|
- `skills/routing.md`
|
|
- most `SKILL.md` methodology files
|
|
- `CTF-Sandbox-Orchestrator/`
|
|
- MCP concepts and JSON configuration shape
|
|
- `burp-mcp-full/mcp-bridge.js`
|
|
- Java source under `burp-mcp-full/`
|
|
|
|
## What is platform-specific
|
|
|
|
The following must be adapted per OS:
|
|
|
|
- tool installation commands;
|
|
- executable names and paths;
|
|
- script language (`.ps1` vs `.sh`);
|
|
- package managers (`winget`, `apt`, `brew`, `pipx`, `npm`);
|
|
- desktop app locations such as IDA Pro and BurpSuite;
|
|
- Android SDK / platform-tools paths;
|
|
- MCP config file locations for each Agent client.
|
|
|
|
## Tool coverage by platform
|
|
|
|
| Capability | Windows | Kali Linux | Ubuntu / Debian | macOS | Notes |
|
|
|---|---|---|---|---|---|
|
|
| Java / JDK | Installer / winget | `apt` | `apt` | `brew` | Required by jadx, apktool, Burp. |
|
|
| Node.js / npm / npx | Installer / winget | `apt` / `nvm` | `apt` / NodeSource / `nvm` | `brew` / `nvm` | Required for MCP bridges and JS tooling. |
|
|
| Python | Installer | system Python + venv | system Python + venv | Homebrew Python + venv | Avoid global `pip` when PEP 668 is active. |
|
|
| jadx | GitHub release | `apt` or GitHub release | GitHub release preferred | `brew install jadx` | Ubuntu apt may not provide it. |
|
|
| apktool | release package | `apt` | `apt` or release jar | `brew install apktool` | Version can be old in apt. |
|
|
| adb | Android SDK | `apt` / platform-tools | `apt install adb` or platform-tools | `brew install android-platform-tools` | Use official platform-tools if distro package is old. |
|
|
| Frida | `pipx` / venv | `pipx` / venv | `pipx` / venv | `pipx` / venv | Package is usually `frida-tools`. |
|
|
| radare2 | release / installer | `apt` / GitHub release | GitHub release preferred | `brew install radare2` | Ubuntu 22.04 apt may not have a candidate. |
|
|
| Ghidra | manual / release | `apt` or release | GitHub release / Flatpak | `brew install --cask ghidra` or formula | Java required. |
|
|
| IDA Pro | manual app | manual Linux app | manual Linux app | manual app bundle | Commercial tool; scripts only wrap local installs. |
|
|
| BurpSuite | manual app | manual app / package | manual app | `brew install --cask burp-suite` | MCP extension still needs loading into Burp. |
|
|
| Graphviz | installer | `apt` | `apt` | `brew` | Used by diagram generation. |
|
|
| PlantUML | jar / package | `apt` | `apt` | `brew` | Optional diagram tool. |
|
|
| Nmap | installer | `apt` | `apt` | `brew` | Security testing. |
|
|
| sqlmap | Python / package | `apt` | `apt` / pipx | `brew` / pipx | Security testing. |
|
|
| ffuf | release | `apt` / release | `apt` / release | `brew` | Fuzzing. |
|
|
| hashcat | release | `apt` | `apt` | `brew` | GPU support differs by OS. |
|
|
| nuclei | release / go | package / release | GitHub release / go | `brew install nuclei` | Often absent in Ubuntu apt. |
|
|
| SecLists | Git clone | package / clone | Git clone | Git clone | Path convention differs by OS. |
|
|
|
|
## Recommended routing for setup docs
|
|
|
|
- Windows users: start from `README.md`.
|
|
- Kali users: start from `kali/README-kali.md`.
|
|
- Ubuntu / Debian users: start from `docs/platforms/linux.md`.
|
|
- macOS users: start from `docs/platforms/macos.md`.
|
|
- Kali users should use `kali/scripts/bootstrap-reverse.sh` and `kali/scripts/refresh-tool-index.sh`. Generic Linux/macOS users should use `skills/scripts/bootstrap-reverse.sh` and `skills/scripts/refresh-tool-index.sh`.
|
|
|
|
## Linux/macOS bootstrap and tool index
|
|
|
|
For generic Linux/macOS, list supported bootstrap capabilities:
|
|
|
|
```bash
|
|
bash skills/scripts/bootstrap-reverse.sh --list
|
|
```
|
|
|
|
Install or configure capabilities with the same capability names as the Windows PowerShell version:
|
|
|
|
```bash
|
|
bash skills/scripts/bootstrap-reverse.sh jadx apktool frida
|
|
bash skills/scripts/bootstrap-reverse.sh jshookmcp anything-analyzer
|
|
bash skills/scripts/bootstrap-reverse.sh idapro --start-services
|
|
```
|
|
|
|
Refresh the local tool index only:
|
|
|
|
```bash
|
|
bash skills/scripts/refresh-tool-index.sh
|
|
```
|
|
|
|
This writes:
|
|
|
|
```text
|
|
skills/tool-index.md
|
|
skills/tool-index.json
|
|
```
|
|
|
|
The generic Bash bootstrap uses the same core capability names as the Windows PowerShell version. Kali has a dedicated Bash bootstrap that covers those core names plus Kali-native extras. Refresh scripts only detect tools and suggest platform-appropriate installation commands. Use the platform guides for setup and manual-only tools.
|