https://adventar.org/calendars/12609
ライトな話題でもよいそうなのでポエムでも。
CTFとは大雑把には「なんらかのお題が与えられ、その背後にフラグとなる隠された文字列があって、それを探してくださいね〜」というようなものです。
特にセキュリティに関連するようなお題なのが特徴的なのでしょうか。それだけではないと思いますが。
例えば、バッファオーバーフローを起こして、違うアドレスにある変数に書き込むことでフラグを見せるようにしたり。
例えば、SQLインジェクションをして、参照できないはずのテーブルにあるデータを読み取ったり。
例えば、RSA暗号の仕組みでフラグが暗号化されていて、そのパラメータが与えられていて、計算を頑張って、よろしくお願いしまーーーすと言ったり。
まあ色々あるわけですな。
…
私も昔にはSECCONやオンラインの常設CTFをやったりもしてました。
とはいえ、知らない分野は何も分からないので、その場で調べながら、なるほど〜〜(何もわからんの顔)、なんてよくやってました。
普段のお仕事に近いWeb系の問題でも、わからないこと知らないこと思いつかないことがいっぱいで、頭のいい人たちの考えることはすごいんだな〜、とよく思ってました。
そう、CTFを色々と楽しむためには専門的な知識が必要でハードルが高いんです。
それに近いような仕事をする(診断員とかペンテスターとか?あんまりわかってない)と勝手に知識や経験がつくとは思いますが、それはちょっと自分には違うかな〜と思ってました。
なので私はその世界を深めていくことを諦めてしまいました。わかる範囲で、興味が続く範囲で閉じてしまいました。
…
しかし!AIが台頭してきた今は話が違います。
ブルートフォースでフラグを探したい?AIが一瞬でスクリプトを書いてくれます。
解法の処理が遅すぎるから効率化したい?AIがいい感じに最強のアルゴリズムを持ってきてくれて、いい感じに探してくれるスクリプトにアップグレードしてくれます。
どうやってバッファオーバーフロー起こすかわからない?AIがコード読んでくれたり、バイナリ読んで変換してくれたりして、答えを見つけようとしてくれます。
特定の文字列がブロックされてSQLインジェクションできない?AIが穴を見つけて、こうやってインジェクション出来ますよ、と教えてくれます。
スコアを得たいなら丸任せでいける問題もいっぱいあるでしょう。学びを得たいなら二人三脚形式でヒントをもらったり相談しながら進められるでしょう。
昔と比べてCTFを楽しむ入口へのハードルは大幅に下がっているはずです。
気軽に、ゲーム感覚、パズル感覚でCTFをやってみてはどうでしょうか。
と!いうわけで!Daily AlpacaHackをご存知ですか?
初心者向けのシンプルな問題を毎日更新してくれています(神なの???)
私はclaude codeやGeminiにちょこちょこ聞きながら、ちょこちょことやっています。
AIに聞かなくてもわかる問題はそのままやったり、解法が思いつくけれどスクリプト書くのが面倒だな〜というものは作ってもらったり。そもそも解法の方針をゼロから相談したり。
やらなすぎて謎すぎるPwnやCryptoの問題に対しては、めちゃくちゃ苦手意識があって意図的に触ってませんでしたが、AIと二人三脚してたらほんのちょっとだけわかってきました。ちょっとでも出来ると面白くなってきて、さあ次の問題もやってみるか…!となりがち。苦手意識はどこへやら。
そんな感じで(忘れていない限り)毎日数分〜数十分、楽しく取り組んでいます。ありがとうAlpaca CTFチームのみなさん。
CTFをやったことないよーって人も、AIをお供にチャレンジしてみてはどうでしょうか!
ちなみに、このAlpacaHackのサイト内には過去の問題もいっぱいあります。Dailyだけじゃ足りない人はそっちにも挑戦してみましょう!
https://alpacahack.com/challenges
(私はAlpaca CTFとは何の関係もなくただの紹介です)