Skip to main content

paoloctf

PyPI version GitHub License GitHub Issues GitHub Pull Requests

About

paoloctf is a command-line tool for creating and managing CTF challenges. It is designed for the PascalCTF cybersecurity event and ensures compatibility with the CTF-Checker validation tool.

Installation

Install from PyPI:

pip install paoloctf

Install from source:

git clone https://github.com/PascalCTF/CTF-Tools.git
cd CTF-Tools
pip install -e .

Optional Dependencies

For challenge checker functionality (pwntools, requests):

pip install paoloctf[checker]

Usage

Generate a New Challenge

Create a new CTF challenge directory structure:

paoloctf generate web
paoloctf generate pwn --name buffer_overflow
paoloctf gen crypto -n rsa_challenge

This creates a challenge directory with the following structure:

challenge/
├── attachments/        # Files to distribute to participants
├── src/                # Source code (not distributed)
├── writeup/            # Official writeup
├── checker/            # Automated flag checker
│   └── __main__.py
├── authors.txt         # Challenge authors
├── description.md      # Challenge description
├── endpoint.txt        # Connection details
├── flags.txt           # Challenge flags
├── order.txt           # Display order
├── points.txt          # Point value
├── tags.txt            # Category tags
├── timeout.txt         # Checker timeout
└── title.txt           # Challenge title

Export Challenges to CSV

Parse CTF challenges into a CSV file for CTFd import:

paoloctf load ./challenges
paoloctf load ./challenges --output ctfd_import.csv
paoloctf export ./challenges -o export.csv

Command Reference

paoloctf --help
paoloctf generate --help
paoloctf load --help

Development

Setup

git clone https://github.com/PascalCTF/CTF-Tools.git
cd CTF-Tools
pip install -e ".[dev]"

Build

python -m build

Publish

python -m twine upload dist/*

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

Contributing

Contributions are welcome. Please submit a pull request or open an issue on GitHub.

Metadata

Release files for paoloctf 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paoloctf 0.1.2
File Size Uploaded
paoloctf-0.1.2.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for paoloctf 0.1.2
File Interpreter ABI Platform
paoloctf-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 38.8 kB

Release files / paoloctf-0.1.2.tar.gz

Download URL paoloctf-0.1.2.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8296dbdae1cfd0460792756f2fc77f7ae88cda55754f3038b7227ab056ffa5c1
BLAKE2b-256 checksum
How to use checksums
c29bb0e0800e4c1bd6aa4bf0730f6558e55fd93bb643e48532b2b23a9270dbd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / paoloctf-0.1.2-py3-none-any.whl

Download URL paoloctf-0.1.2-py3-none-any.whl
Size 19.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8df870f030d59ee347ec4ca55d3c27319ac701b74d1de170a5a9e399e9e1895
BLAKE2b-256 checksum
How to use checksums
da253f66c69ea2a45d913dd7627f77ad8330c9abe3438f5ff01b0d0024dc665f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page