Skip to content
@ctfpilot

CTF Pilot

Building fully automated CTF infrastructure

CTF Pilot

Building fully automated CTF infrastructure

Tip

Looking for the CTF Platform?
CTF Pilot's CTF Platform is called CTFp. You can find more information about CTFp in the CTFp repository.

Looking for how to develop challenges for the CTF Pilot platform?
You can find information about developing challenges in the challenge-toolkit, Challenge schema, and Challenges template repository.

Projects

CTF Pilot provides a number of projects that focus on different parts of the infrastructure.

Project Description Latest Release
CTFp CTF Pilot's CTF Platform GitHub Release
challenge-toolkit CTF Pilot's Challenge Toolkit GitHub Release
challenge-ci CTF Pilot's Challenge CI GitHub Release
kube-ctf Challenge manager by DownUnderCTF GitHub Release
ctfd CTF Pilot's CTFd configuration GitHub Release
ctfd-kubectf-plugin CTFd plugin for Kube-CTF GitHub Release
ctfd-manager CTF Pilot's CTFd Manager GitHub Release
discord-bot CTF Pilot's Discord Bot GitHub Release
challenge-schema CTF Pilot's Challenge Schema GitHub Release
page-schema CTF Pilot's Page Schema GitHub Release
instancing-fallback Fallback service for challenge instancing GitHub Release
error-fallback Fallback service for handling errors GitHub Release

To support the projects, CTF Pilot also provides the following templates:

Project Description
challenges-template CTF Pilot's Challenge Repository Template.
An example is available at challenges-example.
Challenges Project board Template CTF Pilot's GitHub Project board template for managing challenges.
An example is available at Challenges example.

Dependencies

The following diagram roughly illustrates the dependencies between the various CTF Pilot projects:

CTF Pilot Dependency Diagram

Architecture

The CTF Pilot infrastructure is designed around DevOps principles, utilizing GitOps workflows, Infrastructure as Code (IaC), and Continuous Integration/Continuous Deployment (CI/CD) pipelines.

The architecture is split into two main categories:

  1. CTF Platform: This includes the core CTF Platform (CTFp) and its associated services, such as the CTFd Manager, Discord Bot, and CTFd configuration.
  2. Challenge Management: This encompasses tools and services for challenge development, deployment, and management, including the Challenge Toolkit, Challenge CI, Kube-CTF, and related schemas.

CTF Platform Architecture

CTF Pilot Platform Architecture

The Platform architecture diagram illustrates how CTFp orchestrates the various components into the collected platform, which runs in Kubernetes.

To learn more about the CTF Platform architecture, please visit the CTFp repository.

Challenge Management Architecture

CTF Pilot Challenge Management Architecture

The Challenge Management architecture diagram illustrates how challenges are managed, continuously configured and deployed within the CTF Pilot infrastructure.

You can learn more about the challenge architecture in the CTFp repository, CTF Pilot's Challenge Toolkit, and CTF Pilot's Challenges Template. An example challenges repository can be found at CTF Pilot's Challenges example repository.

Contribution

We welcome contributions of all kinds—from code and documentation to bug reports and feedback!

CTF Pilot includes both open-source and dual-licensed projects. To maintain the ability to distribute contributions across all our licensing models, all code contributions require signing a Contributor License Agreement (CLA).

Please check the Contribution Guidelines (CONTRIBUTING.md) within the specific project repository you are working on for detailed guidelines. You can review the CLA here. CLA signing happens automatically when you create your first contribution.

Project management

In order to keep track of contributions, we use GitHub Projects for project management.
One project board is created for the whole CTF Pilot project, which includes all repositories.

This can be found at CTF Pilot Project Board.
The project board is the north star for the project, leading what should be worked on next.

To shortly summarize the status columns:

  • Specification: New ideas and proposals that are being specified.
  • Backlog: Approved tasks that have been specified but might need a bit more planning and refinement.
  • Ready: Tasks that are ready to be picked up by contributors.
  • In Progress: Tasks that are currently being worked on.
  • In Review: Tasks that are completed and are awaiting review.
  • Done: Completed tasks that have been merged and deployed.

Code of Conduct

We expect all contributors to adhere to our Code of Conduct to ensure a welcoming and inclusive environment for all.

Background

CTF Pilot started as a CTF Platform project, originating in Brunnerne.

CTF Pilot is owned and maintained by The0Mikkel.

Pinned Loading

  1. ctfp ctfp Public

    CTF Pilot's CTF Platform

    HCL 6 1

  2. challenge-schema challenge-schema Public

    CTF Pilot's Challenge Schema

    1 1

  3. challenges-template challenges-template Public template

    CTF Pilot's Challenge Repository Template

  4. challenge-toolkit challenge-toolkit Public

    CTF Pilot's Challenge Toolkit

    Python

  5. challenge-ci challenge-ci Public

    CTF Pilot's Challenge CI

  6. ctfd-manager ctfd-manager Public

    CTF Pilot's CTFd Manager

    Go

Repositories

Showing 10 of 17 repositories

Top languages

Loading…

Most used topics

Loading…