Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DIVER OSINT CTF を支える技術 2025

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

DIVER OSINT CTF を支える技術 2025

Avatar for Ryusei Ishikawa

Ryusei Ishikawa

June 30, 2025

More Decks by Ryusei Ishikawa

Other Decks in Technology

Transcript

  1. スコアサーバはどう用意する? 5 • 今年はVultrでVPSを借りてその上にCTFdを用意 ◦ ちなみにCTFdはPythonで動いていて、重いことで有名 • 今年はメール検証機能を設定した ◦ ユーザはパスワードの変更が可能になる

    ◦ ユーザ登録リンクを、Gmailから送る設定にしていた ◦ 1日あたりのユーザ登録数が250人を超えるとGmailの制限に引っか かるため、Resendを契約 • 鯖の監視ではMackerelの有料版を契約 ◦ 開始後3分で10000リクエスト以上来ていた ことがわかった もっと知りたい人向け資料 : https://y-chan.dev/blog/diver-osint-ctfd-postfix/
  2. CTFdの問題点 6 • 問題を登録するのに設定する項目が多すぎる • 入力項目が15個もある ◦ 場合によってはもっと (複数のフラグを設定など) •

    今年のDIVERの問題数は40問 ◦ つまり600項目入力しなければならない ◦ 面倒だし、ミスするわけにいかない
  3. ctfcliを使う 7 https://github.com/CTFd/ctfcli • 設定ファイルからCTFdのスコアサーバに デプロイするツール • 設定を全てテキストで記載するので、 Git (+GitHub

    レビュー), CI, CDとの相性も◎ • CTF問題の最新の状態を 1つに定義できる ◦ 「Single Source of Truth」になる 設定ファイルの例 Next: そもそもこの設定ファイルで 必要な項目を書き忘れないようにするにはどうした ら?
  4. 8 https://github.com/diver-osint-ctf/ctfd-config-generator • ctfcliの設定ファイルや、 作問に必要なファイルを自動生成 するツール • OSSをDIVER OSINT CTF用にカスタマイズ

    ↑ 作問者が変更する範囲 Next: 作問者が変更した内容で、 記述ミスしないようにするにはどうしたら?
  5. Linter for ctfcli config 9 • CI上で設定ファイルを自動チェック ◦ YAMLのフォーマット ◦

    Exifに不要な情報がないか ◦ 配布するファイルのパス ◦ ファイルサイズ ▪ CTFdの配布ファイルは上限1MB ◦ +他......
  6. その他の技術・テクニック 10 • adminへの質問にチケット制度を導入した ◦ 24hで200くらい送られてきた • 問題を解くために必要なWebサイトの鯖落ちを監視 • solve

    check review with LLM ◦ Cursorを契約して、いくつかのモデルで検証 ◦ 問題によってはLLMで解けることを許容 • プラグインを自前実装 ◦ 座標指定プラグイン ◦ Report問題用プラグイン ◦ ブルートフォース対策プラグイン