| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Important
It's been a few months that we didn't upload any new release. And the reason is that we are working on a better version for the harness (our current pro version that we plan to release).
We will post the roadmap soon but here is some information (open to discussion in the discord),
Join us on the discord to discuss more about it !
Autonomous pentesting agent using feedback-driven iteration Achieves ~80% on the full XBOW validation benchmark with Kimi K2.5 at ~US$122 total API cost for that end-to-end run, with a model-agnostic architecture that supports other deployable LLMs.
Like the project or want to know more? Feel free to reach out!
Warning
Active Development: This project is undergoing active development. Core features are stable and production-ready, but we're continuously improving the interface, workflows, and adding new capabilities based on user feedback. Check out the roadmap or open a issue for a future issue.
Note
For discussions, research, and feature ideas, join the community Discord: Deadend CLI Discord.
📄 Read Technical Deep Dive | 📊 Benchmark Results (use VScode ANSI colors to view)
Deadend CLI is an autonomous web application penetration testing agent that uses feedback-driven iteration to adapt exploitation strategies. When standard tools fail, it generates custom Python payloads, observes responses, and iteratively refines its approach until breakthrough.
Key features:
Benchmark results: ~80% on the XBOW validation suite with Kimi K2.5 at ~US$122 total cost for the full benchmark run, including blind SQL injection exploits where other agents achieved 0%.
Read the architecture breakdown in our technical article →
The agent uses a two-phase approach (reconnaissance → exploitation) with a supervisor-subagent hierarchy:
Supervisor: Maintains high-level goals, delegates to specialized subagents Subagents: Focused toolsets (Requester for HTTP, Shell for commands, Python for payloads) Policy: Confidence scores (0-1.0) determine whether to fail, expand, refine, or validate
Key innovation: When standard tools fail, the agent generates custom exploitation scripts and iterates based on observed feedback—solving challenges like blind SQL injection where static toolchains achieve 0%.
Read full architecture details →
Note: To visualize the benchmark results properly, install an ANSI colors extension (e.g., ANSI Colors for VS Code) to render the rich output.
Evaluated on XBOW's 104-challenge validation suite (black-box mode, January 2026).
Models latest results: Kimi K2.5 (~80%, ~US$122 for the full 104-challenge XBOW validation run), GLM-5 (Zhipu AI)—also very strong in practice.
Strong performance: XSS (91%), Business Logic (86%), SQL injection (83%), IDOR (80%) Perfect scores: GraphQL, SSRF, NoSQL injection, HTTP method tampering (100%)
The framework focuses on intelligent security analysis through:
The following models have been tested with Deadend CLI. Compatibility and performance may vary:
Moonshot AI
Anthropic
Zhipu AI
DeepSeek
OpenAI
Tip: For best results, we recommend Moonshot AI (Kimi), Anthropic (Claude), or Zhipu AI (GLM-5)—all thoroughly exercised on Deadend CLI and strong across the workflow.
Recommended: Install from release (Linux x86_64 / macOS ARM64)
# Install latest release
curl -fsSL https://raw.githubusercontent.com/xoxruns/deadend-cli/main/install.sh | bash
# Or install a specific version
curl -fsSL https://raw.githubusercontent.com/xoxruns/deadend-cli/main/install.sh | bash -s -- --version v1.0.0
# Custom installation directory (default: ~/.cache/deadend/server)
curl -fsSL https://raw.githubusercontent.com/xoxruns/deadend-cli/main/install.sh | bash -s -- --install-dir /path/to/installThe installer will:
In the first run we will be greeted with a presetup view to initialize the model you want to use and
deadend --target "http://localhost:3000" --prompt "find SQL injection vulnerabilities"Note: If deadend is not found, ensure the installation directory is in your PATH:
# Linux
export PATH="$HOME/.local/bin:$PATH"
# macOS
export PATH="/usr/local/bin:$PATH"
# Add to ~/.bashrc or ~/.zshrc to make it permanentBuild from source
git clone https://github.com/xoxruns/deadend-cli.git
cd deadend-cli
uv syncRun CLI
To run the maintained CLI for development:
cd cli/deadend
bun run dev# Test OWASP Juice Shop
docker run -p 3000:3000 bkimminich/juice-shop
deadend --target http://localhost:3000 --prompt "test the login endpoint for SQL injection"deadend --target https://api.example.com --prompt "test authentication for broken access control"Start interactive security testing session
The configuration file containing model specifications and API keys is located at ~/.deadend/config.json. This file handles both text generation models (for agent reasoning) and text embedding models (for RAG/vector search).
When defining a model, use the following schema. The key format <provider>:<model_name> follows LiteLLM's naming convention:
"<provider>:<model_name>": {
"provider": "<provider>", // Provider name (e.g., openai, anthropic, ollama)
"model_name": "<model_name>", // Model identifier (e.g., claude-sonnet-4-5, gpt-4)
"api_key": "<api_key>", // API key (optional if ENV var is set, but recommended to add here)
"base_url": "<base_url>", // Base URL for custom gateways or providers (e.g., Ollama)
"type_model": null, // Set to "embeddings" only for embedding models
"vec_dim": null // Vector dimension for embedding models (defaults to 1536)
}Key Format: The JSON key must be in the format <provider>:<model_name> where:
Here's an example config.json with both a text generation model and an embedding model:
{
"anthropic:claude-sonnet-4-5": {
"provider": "anthropic",
"model_name": "claude-sonnet-4-5",
"api_key": "sk-ant-api03-...",
"base_url": null,
"type_model": null,
"vec_dim": null
},
"openrouter:qwen/qwen3-embedding-8b": {
"provider": "openrouter",
"model_name": "qwen/qwen3-embedding-8b",
"api_key": "sk-or-v1-...",
"base_url": "https://openrouter.ai/api/v1/embeddings",
"type_model": "embeddings",
"vec_dim": 4096
}
}Text Generation Models (type_model: null):
Embedding Models (type_model: "embeddings"):
Deadend CLI uses LiteLLM for model abstraction, which provides a unified interface to multiple LLM providers. Models follow LiteLLM's naming convention: provider:model_name.
Models are specified using the format <provider>:<model_name> in both config.json and settings.json. The provider name corresponds to the LiteLLM provider identifier.
Examples:
Deadend CLI supports all providers compatible with LiteLLM. For a complete list of supported providers and their model names, see the LiteLLM Providers Documentation.
Popular providers include:
For embedding models, use the same format and set type_model: "embeddings" in config.json:
Note: Some providers may require additional configuration such as base_url or specific API key formats. Refer to the LiteLLM Provider Documentation for provider-specific setup instructions.
The CLI interface uses a separate settings.json file located at ~/.deadend/settings.json to store default preferences and UI settings. This file contains:
{
"provider": "anthropic", // Default LLM provider
"model": "claude-sonnet-4-5", // Default model name
"executionMode": "yolo", // Default execution mode: "yolo" or "supervisor"
"showComponentStatus": true, // Show component health status in UI
"autoCollapseStatus": false, // Auto-collapse status messages
"lastTarget": "", // Last target URL used
"embedding": { // Default embedding model configuration
"provider": "openrouter",
"model": "qwen/qwen3-embedding-8b"
}
}| File | Purpose | Contains |
|---|---|---|
| config.json | Model specifications | API keys, model definitions, base URLs, vector dimensions |
| settings.json | CLI preferences | Default model selection, execution mode, UI settings, embedding defaults |
The CLI interface reads from settings.json to determine which model to use by default, while config.json provides the actual API keys and connection details for those models.
Backend/Agent:
CLI Interface:
The current architecture proves competitive autonomous pentesting is achievable on XBOW at ~80% with Kimi K2.5 (~US$122 for the full validation run). Next challenges:
Goal: Make autonomous pentesting accessible (open models), comprehensive (hybrid testing), and robust (works against real defenses).
Contributions welcome in:
See CONTRIBUTING.md for guidelines on how to contribute.
@software{deadend_cli_2026,
author = {Yassine Bargach},
title = {Deadend CLI: Feedback-Driven Autonomous Pentesting},
year = {2026},
url = {https://github.com/xoxruns/deadend-cli}
}For authorized security testing only. Unauthorized testing is illegal. Users are responsible for compliance with all applicable laws and obtaining proper authorization.
Have questions, feedback, or want to collaborate?
📄 Architecture Deep Dive 📊 Benchmark Results 🐛 Report Issues ⭐ Star this repo
| Back | FazBrowse Home | New Git URL |