| Tool | Why | Install |
|---|---|---|
| Python 3.12+ | Runtime | sudo apt install python3 python3-pip |
| uv | Python dependency manager | curl -LsSf https://astral.sh/uv/install.sh | sh |
| Node.js 18+ & npm | Runs the Playwright MCP browser server | sudo apt install nodejs npm |
| ffuf (recommended) | Directory/endpoint fuzzing (skipped gracefully if absent) | sudo apt install ffuf |
| Ollama | Local LLM for the primary-testing agent | curl -fsSL https://ollama.com/install.sh | sh |
| NVIDIA NIM API key | Remote LLM for discovery & sequencing | Get a key from https://build.nvidia.com |
git clone <your-repo-url> && cd api-sec-agent
uv syncThe discovery agent drives a real headless browser (@playwright/mcp). Install its Chromium:
npx -y playwright@1.62.0-alpha-1783623505000 install chromium(npx downloads @playwright/mcp automatically on first run.)
cp .env.example .envEdit .env — at minimum:
NIM_API_KEY=your_nvidia_nim_api_key # discovery & sequencing LLM
OLLAMA_MODEL=dolphin3-cyber # primary-testing LLM (local)
OLLAMA_BASE_URL=http://localhost:11434 # local Ollama endpoint
WORDLIST_PATH=/usr/share/SecLists/Discovery/Web-Content/common.txt # for ffuf (optional)This agent is designed to test authorized targets. The recommended one is crAPI (intentionally vulnerable API):
cd crAPI/deploy/docker
docker compose up # web UI: http://localhost:8888Or point it at any target you have permission to test.
# Back to the repo root:
uv run python main.py --url <TARGET_URL>
# e.g.
uv run python main.py --url http://localhost:8888A live dashboard with the browser explorer, endpoint list, workflow, and findings:
uv run python main_web.py # open http://localhost:8080sudo docker compose build
sudo docker compose up # CLI mode
MODE=web sudo docker compose up # Web UI mode on :8080