tmytのらくがき

個人の日記レベルです

SWIMMER OSINT CTF 2026 Write up

SWIMMER OSINT CTF 2026 にちょっぴり参加してました。Write upを書くといいらしいので書きます。

総合成績

4位でした。すごいね!ただオムライス(後述)はもうちょっといけたんじゃないかっていう説と、そもそも早くても3位には追い付けてなかったという説があります。

解けた問題

cx

2025年春、かつて香港に存在していた空港の100周年を記念して、特別なフライトが実施されたようです。 このフライトの便名を解答してください。 例えば、便名が JL2026 のとき、Flag は SWIMMER{JL2026} となります。

かつて香港に存在していた空港の100周年を記念して、特別なフライト をキーワードにGoogle検索をすると、香港経済新聞 がヒットすします。 記事を読むと

キャセイパシフィック航空の特別機CX8100が香港上空を低空飛行

とあるので、SWIMMER{CX8100} を回答してCorrect。CXと言われればキャセイパシフィックですね。

pilot

cx の問題で示されたフライト中、添付画像の席に座っていた人物の名前を英語で解答してください。 (なお、添付画像は座席を示すためのものであり、当該フライトの実際の写真ではありません) 例えば、人物の名前が John Doe のとき、Flag は SWIMMER{John Doe} となります。

問題に添付されている画像は、航空機の右側の席を示しています。右側の席はCo-pilotの座席で、先ほどのCX8100便の副操縦士は…というと cx8100 pilotGoogle検索すると Catherine Zhu さんのLinkedInの投稿が見つかります。このなかに

Cathay Pacific Captain Adrian Scott co-piloting CX8100

とあります。 SWIMMER{Adrian Scott} と回答してCorrectです。

obsolete

2025年11月、「台湾有事」を巡って日中関係が悪化しました。 その中で、在日本中国大使館のSNSアカウントは国連憲章の「敵国条項」について言及する投稿を行いました。 これに対し、日本の外務省は「その条項は 1995年の国連決議 によって死文化(obsolete)している」と反論したことが報じられています。

さて、この決議において、投票を 棄権 した国がいくつかあります。それはどこの国か、解答してください。 決議に関する公式記録に記載されている国名をアンダーバー (_) で区切ったもの(順不同)をFlagとします。

たとえば、UNITED STATES(アメリカ合衆国)とRUSSIAN FEDERATION(ロシア連邦)と記載されていた場合、Flagは SWIMMER{UNITED STATES_RUSSIAN FEDERATION} となります。

めっちゃ時事~~~~とか思いました。そもそも棄権した国はどこかということについては 敵国条項 1995 とかでGoogle検索するとWikipediaが出てくるのでみると

賛成155、棄権3(北朝鮮朝鮮民主主義人民共和国)、キューバリビア

とあるので棄権したのはこの3国。英語表記なんだっけ…とおもったんですが、そもそも問題を読むと「公式記録に記載されている国名」とあるので公式記録の文書を探す必要がありました。 これは、「国際連合総会決議50/52」というもので決議されたそうなので、だいたいこんなもんPDFあるやろ。と思い、何で検索したのか忘れたんですが9115 UN Yearbook というのにたどり着き、SWIMMER{Cuba_Democratic People's Republic of Korea_Libyan Arab Jamahiriya} でCorrectでした。

paint

添付画像に写っている航空機は、ある映画にちなんだ特別塗装機です。 この特別塗装機は、2017年3月21日に就航開始しましたが、2025年に引退が発表され、去る2026年1月9日、この塗装での最後の運航を終了しました。

さて、2017年にこの特別塗装が行われた建物はどこでしょうか。座標を地図上で示してください。

この問題に添付されている写真はANAスターウォーズ、特にC-3POペイントです。軽度の飛行機オタクなので開いた瞬間これはANAってなりました。 さてこの塗装がどこでされたのかということなのですが、ANAスターウォーズ塗装機はボーイングなのでまぁエバレットか羽田あたりちゃうんか知らんけど。とか思いながら、ANA スターウォーズ 塗装 工場 と検索するとどうやらC-3POは伊丹で塗装されたそうです。ならまぁあとは伊丹の格納庫の場所を調べるだけの話になり、ピンを刺してCorrectでした。

debris

2025年12月8日、日本のあるテレビ番組で、高速道路のパトロール隊への密着取材の様子が放映されました。 パトロール隊の108号車は、路上に落下していたトン袋の回収を命じられました。トン袋が最初に落下していた地点はどこでしょうか? マップ上で示して解答してください。

content warning : 交通事故の映像が含まれる映像を視聴する必要があります(人が巻き込まれるシーンはありません)。

2025年12月8日 高速道路のパトロール隊への密着取材 で検索すると、YouTubeが出てきます。それを見ていると「首都高池袋線 音羽 4.02kp」付近のカメラ映像でトン袋が落下していることが分かります。 首都高 キロポストで検索すると首都高全線をキロポスト付きで走行してくれている素晴らしい動画が見つかります。5号池袋線下り4kp付近を見ながら、Google ストリートビューであたりをつけてピンを刺してCorrectでした。

rain_04_source2

rain が2番目に作成した偽記事には、「rainが未公開の情報を見つけた」ということが書かれているようです。しかし、これは虚偽だと思われます。 この人物の嘘を暴くには、正確な出典を探す必要があります。

この画像の出典となる古い書籍は電子化されており、詳細が参照できるはずです。 その資料のデジタルオブジェクト識別子(DOI)を解答してください。 例えば、答えが 12.34567/890123 の場合、Flagは SWIMMER{12.34567/890123} となります。

この問題の前にrain という人物のブログのURLが分かっています。このURLにアクセスしそれっぽい画像を見るとこれがあります。

この画像で画像検索するとみての通り国会議事堂です。国会議事堂の設計デザインが掲載された資料を探せばいいようです。 なんやかんやありまして、洪洋社編『議院建築意匠設計競技図集』, 洪洋社, 大正9【422-13】 で検索するとだいたいよさそうな気がしてきます。

出てきたページでDOIを探すと 10.11501/967480 となっているので、 SWIMMER{10.11501/967480} でCorrectです。

rain_05_date

rain は2025年12月25日 (JST)、ある場所に来たことをX上で投稿しています。 しかし、この画像は2025年の別の日に撮影された写真のようで、事実とは異なるようです。 この写真が本当に撮影された日を YYYY/MM/DD の形式で解答してください。 ただし、撮影日は日本時間(JST)を基準とします。 例えば、答えが2025年6月8日の場合、Flagは SWIMMER{2025/06/08} となります。

指定されているXの画像は大阪城公園の写真です。ただ、12/25は平日なのに入場口なんて看板が出ていて若干不自然です。まぁ平日でもイベントやってることはありますが… 画像中央付近に、「ご招待・報道受付」とあってその上にイベントのロゴがあります。これを画像検索したところうまく見つからなかったんですが、大阪であることはわかっているので大阪をキーワードにしたところ、サントリー1万人の第九であることがわかりました。 あとはこの開催日を回答すればよいので、 SWIMMER{2025/12/07} でCorrectでした。

debeyohiru_01_social

調査対象の人物はソフトウェアエンジニアで、2026年以降には debeyohiru というIDでの活動が確認されています。 この人物がこのIDでの活動を開始したのは2026年1月のようです。この人物がこれ以前に使用していたIDを特定できないでしょうか?

2026年1月時点で、noteというサービスに古いIDのアカウントが残存しているようです。 このアカウントのIDを解答してください。

例えば、digital_jpn_gc が対象のアカウントの場合、 Flag は SWIMMER{digital_jpn_gc} となります。

Googledebeyohiru で検索するとBluesky のアカウントがヒットします1。この中にnote のスクショがあり、スクショのURLをみると furaigo5 であることが分かります。 SWIMMER{furaigo5} でCorrectです。

debeyohiru_02_profile

debeyohiru は2026年1月時点で求職中で、プロフィールページをウェブ上に公開していたようです。 このページを探り出し、そのURLを解答してください。

例えば、 https://example.com/foobar が対象のページの場合、 Flagは SWIMMER{https://example.com/foobar} となります。

まぁたぶんGitHubあるでしょ。ってことで https://github.com/furaigo5 をたどるとプロフィールページが出てきて、そこからGitHub PagesでホストされたWebページが見つかります。

SWIMMER{https://furaigo5.github.io/profile/} を回答してCorrectです。

debeyohiru_03_email

debeyohiru が2026年現在、普段使っているメールアドレスが知りたいです。 この人物が現在使用中とおぼしきメールアドレスを探り出し、解答してください。

例えば、メールアドレスがfoobar@example.comの場合、Flagは SWIMMER{foobar@example.com} となります。 警告: このアドレスに対してメールを送信してはなりません。解答に際して、メールを送る必要は一切ありません。

先ほどのGitHubページの中にメールアドレスがあるのでそのまま回答すればOKです。SWIMMER{furaigo5.onionsoup(アットマーク)gmail.com} でCorrectです。

debeyohiru_05_hidden1

debeyohiru の本名が知りたいです。 この人物の実名と考えられるものを解答してください。 ローマ字(アルファベット)表記で入力してください。漢字の表記を考慮する必要はありません。

例えば、Sanae Takaichiが実名の場合、Flagは SWIMMER{Sanae Takaichi} となります。

本名なぁ~ん~とおもってF12押してSourceを眺めていたらJavaScriptのヘッダに @author 書いとるやんけ!!!!となりました。 SWIMMER{Tsubasa Gotanno} と回答してCorrectでした。

番外編

lilica_03_virtual_world

チームメンバーから「VRChatのワールド特定しないといけないんですけど、ナギサ?ってかいてるんです。」といわれ、NAGiSAのURLを共有しました。 「なんでナギサがここなんです?」って聞かれたんですが、

私「VRChatでナギサっていえばおそらく間違いなくここです、そういうもんなんです。」

VRChatやってないとGoogleレンズで検索したりするらしいです。

debeyohiru_04_meal

最難関オムライス。ターゲットが食べたオムライスを答えないといけないんだけど、全然わからん。 Googleのクチコミに投稿されている画像のオムライスを回答すると正解だったんですが、まじでわかんなかったやつでした。

あまりにもわからなさすぎて、ずっとオムライスとにらめっこしてた結果終わった後ポムの樹食べました。

まとめ

たのしかったです!

OSINT CTFあんまり得意じゃないんですがとても楽しかったです!! 今回はチームで参加したんですが、DiscordでVCつなぎながら、各自担当している問題の状況をシェアしたり、スレッド立てて状況メモしたりしながらやってました。 楽しかったのでまたやりたいですね!!!次はDIVER...?


  1. 運悪くアダルティな検索結果が混ざってくるのでびっくりします