クックパッドのレシピ取り込み機能がどのように動いているか調べてみた

はじめに
このブログ記事は、あくまでも技術的に「クックパッドのレシピ取り込み機能がどうなっているか」を調べただけで、
- クックパッドや本機能を肯定・否定するものではありません。
- 生成 AI を肯定・否定するものではありません。
話題のツイート
どう動いているか気になったので、架空のレシピと画像を入れたウェブページを作成して、読み込ませてみた。
1 回目
とりあえず取り込ませてみる。クックパッドアプリ内に URL を貼り付け、ボタンを押した段階でこのリクエストがサーバーに飛んだ。
0.000 - - <自分の IP アドレス> - - [22/Mar/2026:11:03:57 +0900] "GET /test_cookpad_scrap/ HTTP/2.0" 200 5518 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1" "-"
これは iPhone でウェブサイトにアクセスすると同じようなログが残る。自分の IP アドレスが記録されているので、最初のアクセスはアプリから行われるようだ。
通常、善良なボットであれば、ユーザーエージェント (ログに残る文字列) にボットであることを載せてくれるのだが、クックパッドアプリの場合、iPhone で見られるのと同じようになっているので、ブロックすることができない。
また、この後次のようなリクエストも飛んだ。
0.000 - - 66.102.6.1 - - [22/Mar/2026:11:36:33 +0900] "GET /test_cookpad_scrap/ HTTP/1.1" 200 146 "-" "GoogleAgent-URLContext" "-"
これはどうやら Google AI Studio のユーザーエージェントらしい。つまり、このアクセスでページの情報を収集して、レシピを生成 AI に読み込ませ、クックパッドアプリに複製していると考えられる。

このリクエストの後、クックパッドに取り込まれたレシピが表示された。
2 回目 : 自分の IP をブロックすると
自分の IP からのアクセスを禁じてみる。

すると、レシピは作成されたが、なぜか画像の取り込みは上手くできなかった。画像だけアプリからダウンロードしているのだろうか?
3 回目 : Google だけのIPをブロックすると
次に、GoogleAgent-URLContext のアクセスだけブロックしてみる。
すると、なぜかそのままレシピが取り込まれてしまった!
と思っていたら、ログを確認すると、
0.000 - - 66.102.6.1 - - [22/Mar/2026:11:36:33 +0900] "GET /test_cookpad_scrap/ HTTP/1.1" 403 146 "-" "GoogleAgent-URLContext" "-"
0.000 - - 66.102.6.1 - - [22/Mar/2026:11:36:43 +0900] "GET /test_cookpad_scrap/ HTTP/1.1" 403 146 "-" "GoogleAgent-URLContext" "-"
0.000 - - 66.102.6.9 - - [22/Mar/2026:11:37:08 +0900] "GET /test_cookpad_scrap HTTP/1.1" 403 146 "-" "GoogleAgent-URLContext" "-"
と 3 回ほどリトライされた後、HTTPS ではなく HTTP でアクセスされていた。これは僕の設定ミスで、HTTP でのブロックを忘れていた。

試しに両方ブロックしてみると、クックパッドアプリにこのようなエラーが出てレシピが取り込まれなかった。
まとめ
現時点では、GoogleAgent-URLContext のユーザーエージェントをアクセス拒否すると、レシピ取り込みが防げそう。
nginx だと、こんな設定になる。
if ($http_user_agent ~* "GoogleAgent-URLContext") {
return 403;
}
(Google AI Studio にユーザーエージェント偽装してって言ったらやってくれるのかな……。)
ともあれ、これだと他の Google AI Studio からのリクエストもブロックされてしまうことになると思うので、そこは天秤にかけるしかない。
クックパッドもクックパッドで、例えば CookpadApp みたいなユーザーエージェントにして、アクセス拒否されたらそれを尊重する、みたいな挙動で良かったのにねぇ。