Skip to main content

CLI tool for CTF management

Project description

pwnv

pwnv is a CLI tool for organizing Capture-the-Flag (CTF) challenges, solving them locally or remotely, and keeping your CTF workflow structured, synchronized, and efficient.


✨ Features

Feature Description
🗂 Workspace Organized folder structure for CTFs and challenges
📦 Virtual Envs Initializes isolated Python environments using uv
🔄 Remote Sync Pull challenges directly from CTFd instances using ctfbridge
🚀 Flag Submission Submit flags to remote platforms directly via CLI
🔎 Challenge Tagging Add searchable tags to solved challenges (e.g., fsop, xss, buffer overflow) for easy retrieval

🚀 Quickstart

# 1. Initialize environment
$ pwnv init --ctfs-folder ~/CTF
$ source ~/CTF/.pwnvenv/bin/activate

# 2. Create a CTF
$ pwnv ctf add picoctf-2025

# 3. Add a challenge
$ pwnv challenge add warmup

# 4. Solve the challenge and submit
$ cd warmup
$ pwnv solve

🌐 Fetch from remote CTF

When adding a CTF, you'll have the option to connect to a remote server. If you choose to do so, pwnv will pull all challenges into your local workspace — including attachments — and store .env and .session files for future authenticated access. All of this is powered by ctfbridge.


🧰 Commands

pwnv init                 Initialize a new workspace (creates folders, installs deps)
pwnv reset                Delete config files and/or workspace for a fresh new start
pwnv ctf add              Add a CTF (local or remote)
pwnv ctf remove           Remove a CTF and all associated challenges
pwnv ctf start/stop       Mark a CTF as active or inactive
pwnv challenge add        Add a challenge to a CTF
pwnv challenge remove     Remove a challenge from a CTF
pwnv challenge filter     List solved challenges by tags
pwnv challenge info       View metadata for a challenge
pwnv solve                Mark a challenge as solved (optional: submit flag to server)

Use --help on any subcommand for more info.


🏗️ Installation

From source (recommended for dev)

git clone https://github.com/CarixoHD/pwnv
cd pwnv
pip install -e .

📄 License

MIT © Shayan Alinejad

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pwnv-0.3.2.tar.gz (80.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pwnv-0.3.2-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file pwnv-0.3.2.tar.gz.

File metadata

  • Download URL: pwnv-0.3.2.tar.gz
  • Upload date:
  • Size: 80.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for pwnv-0.3.2.tar.gz
Algorithm Hash digest
SHA256 2c57a561aab9550e27ce0e16cfd546992b93422414195cc3a7f4c1947bf1f302
MD5 14e5469839b34dd8db626461160258b8
BLAKE2b-256 2ab9d2401eab9548a5609da30e1db976a76bbcc37be3d1345022cc254eb1f901

See more details on using hashes here.

File details

Details for the file pwnv-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: pwnv-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for pwnv-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 beb3ca101cdeeee2a389cfc2173e00a0999c4b25f4b3719522a1f6340c15f4b0
MD5 2e12bc044405b45479b36a96e78df9bd
BLAKE2b-256 12b080a2bf6cb8d41f0a26f363ff70b2d78ef0d2a71f69599b1989f45a5c122a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page