Satoooonの物置

雑多に色々と何かをしている

KosenXm4sCTF 運営反省

12/24 9:00 ~ 12/25 21:00に開催されたKosenXm4sCTFで作問・運営に協力しました。

この記事は公式の総括ではなく個人的な反省です。インフラなど自分が関わっていないものは話しません。

作問体制

作問体制は私が雑に提案をし、仲間が枠組みを作ってくれました。

github.com

GitHubのOrganizationで作問を管理しました。問題ごとにリポジトリを作り、そこで作業を行います。

問題が完成したら問題を管理する総合リポジトリにPRを送り、そこで一人以上のレビューを受けます。その後レビュワーからApproveを貰えたらMergeをして出題を確定させます。

また、GitHub ActionsでCIを組みGitHub PackagesにDocker Imageを自動でPushできるようにしています。

やってみて

  • 体制は良かった
    • 非想定解の指摘などメリットを受けることはできた。
  • (私含め)一部の人がGitHubに慣れておらずレビューに手間取ることがあった。
    • 最初に流れを例示して全員で理解を共有するべきだった。

スケジュール

スケジュール無しの見切り発車で進めていました。

以下の文章で起きた悪いことは全て自分も含んでいます。また、随分前のことなため間違いがあるかもしれません。

  • 12/9 メンバーが集まる
  • 12/10 大まかな作問体制が決まり、作問が始まる
  • 12/11~ PRが一つ立つが、レビュワーが付かずこのあたりで停滞する
  • 12/17~19 レビューもされ始めるが、なかなかMergeまで進まない
  • 12/20 そろそろまずいのではと気が付き始める
  • 12/21 スコアサーバが作られる PRも少し進む
  • 12/22~23 Twitterで告知 作問ラッシュが始まる
  • 12/24 ~9:00 開始直前まで作問・デプロイをするもまだ問題数が足りない
  • 12/24 9:00~ 開催中に作問をして完成次第まとめて出題するという行動に出る
  • 12/25 0:00 作問終了

本当に反省していて、時間に余裕さえあればここまで悪い状況にはなりませんでした。

例えば一番不評だったadvanced_caesarは私がレビューを担当したのですが、Guessingを感じつつ「このくらいなら許容範囲かな」と思って通してしまいました。残り期間に余裕があれば妥協せず更に検討をできたかなと思います。

諸々の反省

  • Docker・CI・Webサーバの構築(Apache/nginx)・TLS/SSL化など様々な知識が足りなかった

    どれも初めての経験でした。悪いというわけではなく学びもあったのですが、次が問題です。

  • わからない点を質問しなかった

    質問すれば解決しそうなことを「忙しそう」でしませんでした。運営という立場である以上、忙しいときに質問するより質問せずに自分で調べて遅れる方が迷惑です。

    このせいで諸々が遅れたし、出題したかった問題も出題できませんでした。反省します。

  • フラグにミスがあった

    CTFdで設定した正解フラグに後ろに空白が入っているミスがありました。

    流れてくるSubmitを偶然見て最初に気付けたからいいものの、発覚が遅れたらもっと大変でした。

  • 既出を気にしすぎた

    今回は初心者向けCTFと銘打っているので既出でもある程度は仕方ないと許容すべきでした。

    他の人のアイデアも「既出ですよ」と切ってしまったので、それも選択肢を狭める悪い主張でした。(少なくとも言い方がある)

まとめ

わからないところがあったら、聞こう!!!!

スケジュールは、最初に決めよう!!!!