Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DIVER OSINT CTF を支える技術 2025
Search
Ryusei Ishikawa
June 30, 2025
Technology
160
0
Share
DIVER OSINT CTF を支える技術 2025
第1回OSINT-JP勉強会
https://osintjp.connpass.com/event/360008/
Ryusei Ishikawa
June 30, 2025
More Decks by Ryusei Ishikawa
See All by Ryusei Ishikawa
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
630
OSINT CTFの リアル作問環境を体験してみよう!
xryuseix
0
360
OSINT CTFを支える技術
xryuseix
1
1.2k
HTTP通信を書きかえてみよう
xryuseix
0
89
Webアプリケーションのユーザ入力検証
xryuseix
3
1.3k
Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する
xryuseix
0
5k
CTFにおけるOSINT問題作問の難しさ
xryuseix
0
840
「Reactはビルド時にコメントが消えるから」と言ってコメントに💩を書いてはいけない
xryuseix
0
1.5k
Other Decks in Technology
See All in Technology
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
2
510
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
180
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
180
さきさん文庫の書籍ができるまで
sakiengineer
0
320
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
610
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
360
Kiro CLI v2.0.0がやってきた!
kentapapa
0
250
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
150
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
8.1k
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
1
530
運用を見据えたAIエージェント設計実践
amacbee
0
480
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
770
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
Information Architects: The Missing Link in Design Systems
soysaucechin
0
950
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
580
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
For a Future-Friendly Web
brad_frost
183
10k
It's Worth the Effort
3n
188
29k
Become a Pro
speakerdeck
PRO
31
6k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Transcript
DIVER OSINT CTF を支える技術 2025 石川琉聖 (xryuseix) @ryusei_ishika DIVER OSINT
CTF Admin / GMO Flatt Security Inc.
https://speakerdeck.com/xryuseix/osint-ctfwozhi-eruji-shu 今日の内容 : これの令和最新版です
DIVER OSINT CTFとは 3 「DIVER OSINT CTF 2025 公式解説&振り返り会」 スライドより引用
インフラチームは何をすべきか 4 • 快適なスコアサーバの提供 • 作問ミスをできるだけ減らす仕組み作り 大きく分けてこの二つ
スコアサーバはどう用意する? 5 • 今年はVultrでVPSを借りてその上にCTFdを用意 ◦ ちなみにCTFdはPythonで動いていて、重いことで有名 • 今年はメール検証機能を設定した ◦ ユーザはパスワードの変更が可能になる
◦ ユーザ登録リンクを、Gmailから送る設定にしていた ◦ 1日あたりのユーザ登録数が250人を超えるとGmailの制限に引っか かるため、Resendを契約 • 鯖の監視ではMackerelの有料版を契約 ◦ 開始後3分で10000リクエスト以上来ていた ことがわかった もっと知りたい人向け資料 : https://y-chan.dev/blog/diver-osint-ctfd-postfix/
CTFdの問題点 6 • 問題を登録するのに設定する項目が多すぎる • 入力項目が15個もある ◦ 場合によってはもっと (複数のフラグを設定など) •
今年のDIVERの問題数は40問 ◦ つまり600項目入力しなければならない ◦ 面倒だし、ミスするわけにいかない
ctfcliを使う 7 https://github.com/CTFd/ctfcli • 設定ファイルからCTFdのスコアサーバに デプロイするツール • 設定を全てテキストで記載するので、 Git (+GitHub
レビュー), CI, CDとの相性も◎ • CTF問題の最新の状態を 1つに定義できる ◦ 「Single Source of Truth」になる 設定ファイルの例 Next: そもそもこの設定ファイルで 必要な項目を書き忘れないようにするにはどうした ら?
8 https://github.com/diver-osint-ctf/ctfd-config-generator • ctfcliの設定ファイルや、 作問に必要なファイルを自動生成 するツール • OSSをDIVER OSINT CTF用にカスタマイズ
↑ 作問者が変更する範囲 Next: 作問者が変更した内容で、 記述ミスしないようにするにはどうしたら?
Linter for ctfcli config 9 • CI上で設定ファイルを自動チェック ◦ YAMLのフォーマット ◦
Exifに不要な情報がないか ◦ 配布するファイルのパス ◦ ファイルサイズ ▪ CTFdの配布ファイルは上限1MB ◦ +他......
その他の技術・テクニック 10 • adminへの質問にチケット制度を導入した ◦ 24hで200くらい送られてきた • 問題を解くために必要なWebサイトの鯖落ちを監視 • solve
check review with LLM ◦ Cursorを契約して、いくつかのモデルで検証 ◦ 問題によってはLLMで解けることを許容 • プラグインを自前実装 ◦ 座標指定プラグイン ◦ Report問題用プラグイン ◦ ブルートフォース対策プラグイン