
CTFd v3.8.7
必要なだけのCTF
CTFdとは?
CTFdは、使いやすさとカスタマイズ性に重点を置いたCapture The Flagフレームワークです。CTFを開催するために必要なものがすべて揃っており、プラグインやテーマを使って簡単にカスタマイズできます。

特徴
- 管理インターフェースから独自のチャレンジ、カテゴリ、ヒント、フラグを作成できます。
- 動的スコアリングチャレンジ。
- アンロック可能なチャレンジのサポート。
- 独自のカスタムチャレンジを作成できるチャレンジプラグインアーキテクチャ。
- 静的フラグと正規表現ベースのフラグ。
- カスタムフラグプラグイン。
- アンロック可能なヒント。
- サーバーまたはAmazon S3互換バックエンドへのファイルアップロード。
- チャレンジの試行回数制限とチャレンジの非表示。
- 自動ブルートフォース保護。
- 個人戦・チーム戦のコンペティション。
- ユーザーは個人でプレイすることも、チームを組んで一緒にプレイすることもできます。
- 自動タイブレーク機能付きスコアボード。
- スコアを一般公開しない設定。
- 特定の時刻にスコアを凍結。
- 上位10チームを比較するスコアグラフとチーム進捗グラフ。
- Markdownベースのコンテンツ管理システム。
- SMTP + Mailgunによるメールサポート。
- メール確認のサポート。
- パスワードを忘れた場合のサポート。
- コンペティションの自動開始・終了。
- チームの管理、非表示、BAN。
- プラグインとテーマのインターフェースを使用してすべてをカスタマイズできます。
- アーカイブ用のCTFデータのインポートとエクスポート。
- その他にも多数...
インストール
最も簡単に始める方法は、ホスト型CTFdインスタンスを利用することです。
自己ホストでのインストールについては、CTFdドキュメントでデプロイオプションとスタートガイドを確認してください。
以下は、CTFdを自己ホストするためのいくつかのオプションの概要です:
Docker
ソースリポジトリから次のコマンドでDocker Composeを使用できます:
docker compose up
自動生成されたDockerイメージを直接使用するには:
docker run -p 8000:8000 -it ctfd/ctfd
開発
- uvをインストールし、
uv syncを実行して、依存関係がインストールされたvirtualenvを作成します。- 既存の環境に
pip install -r requirements.txtでインストールすることもできます。これはuv.lockから生成されます。
- 既存の環境に
- CTFd/config.iniをお好みに合わせて変更します。
- ターミナルで
uv run serve.pyまたはuv run flask runを使用してデバッグモードに入ります。
ライブデモ
サポート
基本的なサポートを受けるには、MajorLeagueCyberコミュニティに参加してください:
商用サポートをご希望の場合や特別なプロジェクトがある場合は、お気軽にお問い合わせください。
マネージドホスティング
CTFdを利用したいが、インフラの管理は避けたいという方は、CTFdウェブサイトでマネージドCTFdデプロイメントを確認してください。
MajorLeagueCyber
CTFdはMajorLeagueCyberと緊密に統合されています。MajorLeagueCyber(MLC)は、イベントのスケジュール管理、チーム追跡、イベントへのシングルサインオンを提供するCTF統計トラッカーです。
CTFイベントをMajorLeagueCyberに登録すると、ユーザーは自動的にログインし、個人およびチームのスコアを追跡し、writeupを提出し、重要なイベントの通知を受け取ることができます。
MajorLeagueCyberと統合するには、アカウントを登録してイベントを作成し、CTFd/config.pyの該当箇所または管理パネルにクライアントIDとクライアントシークレットを設定するだけです:
OAUTH_CLIENT_ID = None
OAUTH_CLIENT_SECRET = None
クレジット
- ロゴ:Laura Barbera
- テーマ:Christopher Thompson
- 通知音:Terrence Martin
