Installation
Getting started with cookiecutter-poc.
Prerequisites
Python 3.12 or higher
uv installed (provides uvx and package management)
Install uv:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with pip
pip install uv
# Or with brew (macOS)
brew install uv
Quick Install
Using uvx (recommended):
uvx cookiecutter https://github.com/kwkeefer/cookiecutter-poc
Or using pip:
pip install cookiecutter
cookiecutter https://github.com/kwkeefer/cookiecutter-poc
From Local Template
If you have the template cloned locally:
uvx cookiecutter /path/to/cookiecutter-poc
Template Prompts
When you run cookiecutter, you’ll be prompted for:
project_name: Human-readable project name (e.g., “HTB Admirer POC”)
project_slug: Python package name (auto-generated from project_name)
target_url: Default target URL (can be changed later)
version: Project version (default: 0.1.0)
python_version: Python version requirement (default: 3.14)
Generated Project Structure
After generation, you’ll have:
your_project/
├── src/
│ └── your_project/
│ ├── cli.py # CLI entry point
│ ├── exploit.py # Your exploit code goes here
│ ├── utils/ # Utility modules
│ │ ├── output.py
│ │ ├── reverse_shells.py
│ │ ├── shell_catcher.py
│ │ └── ...
│ └── servers/
│ └── server.py # HTTP callback server
├── payloads/ # Files to serve (XSS, shells, etc)
├── logs/ # Server logs
├── tests/ # Tests (optional)
└── pyproject.toml # Project configuration
Run Your Project
No setup needed! Just run it:
# Run the CLI
uv run your_project --help
# Start the HTTP callback server
uv run your_project --server
# Run against a target
uv run your_project --target http://target.local
Next Steps
Read the Quick Start guide
Browse Examples for common patterns
Check the API Reference for detailed documentation