# 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` / `README_zh.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.