河合塾オープン模試解答漏洩事件に関する簡易技術的解説(common.jsなど)

2026年10月26日深夜に、あるツイッターアカウントが「common.jsを解析すればオープン模試の実施日一ヶ月前から解答が閲覧できる」と暴露したことで、大きな話題になりました。

ツイートから24時間程度後には解答は閲覧できないように解答ファイルを移動させたようですが、解答pdfを販売するアカウントも出てきているようです。

模試不正なんて普通に受ける人からしたら「どうでもいい」と言えそうですが、大量に不正者が出ると同じ実力でも偏差値が低く出てしまい、判定も狂ってしまうので、普通に受ける人までが影響を受ける重大な問題です。(しかし、河合塾は返金対応等を行わないそうです(ソース)。)

今回は、どのような原因で流出したのか、common.jsとは何なのか、どの手順を踏めば解答が閲覧できるのかについて少しだけ解説してみます。(なお、現在はこの方法で閲覧できないことを確認してから書いています。記事の収益化もしません。)

流出の原因

これは、河合塾が解答のpdfファイルを誰でも閲覧できる状態で保存していたためです。

また、pdfファイルはURL直打ち(河合塾がどこかのページにPDFファイルへのリンクを置いていたわけではない)によって閲覧できますが、その直打ちの難易度があまりにも低すぎました。

閲覧の大まかな手順

1.common.jsというプログラムを読み、「模試コード」を特定します。なお、模試コードは類推することが不可能ではないため、最悪プログラムすら読む必要はありません。(模試コードについては後述)

2.https://moshi-navi.kawai-juku.ac.jp/xxxxxx/yyyy/(模試コード)/zzzz/www/(0001〜数値).pdf にアクセスします(念のため、x,y,z,wはぼかしてありますが、一度でもオープン模試を受けたことがあれば簡単にわかります)

これだけで終わりです。なお、pdfは河合塾と全くの関わりのない第三者でも閲覧できます。

common.jsの内容

common.jsはスクロールの制御や模試成績グラフ表示、模試などのデータ結合など他にもかなり多くのことを取り扱っていますが、今回は「模試コード」の生成部分にフォーカスを当てていきます。

ちなみに、模試コードは受けた模試のバーコード表記からも確認できます。25年度①名大オープンの場合256371011…と記述されていて、最初の9桁が模試コードとわかります。

模試コードあたりの処理を一言で表すと、「選択中の模試コード(年度・小行事・回数)を文字列分解し、連動する過去回やドッキング対象の模試コードを組み立てる処理」 です。

模試コードは

[年度2桁] + [小行事コード] + [回数1桁] + [受験区分]

で構成されます。年度2桁はまあそのまま26とか27で、小行事コードはXX大オープンや全統記述、全統共テなど模試の種別(東大opなら633)、回数は第n回全統共テ模試などのnの部分で、受験区分は高3高卒・高2・高1(高3高卒は011)です。全て数値表記です。

common.jsには他に東北大、東科大などの小行事コードも記載されているため、このようにして模試コードを特定することができます。この模試コードによって回答を閲覧することが可能です。

「誰」が悪いのか?

これは完全に私見ですが、簡単に閲覧できるようにした河合塾が99%悪いのはもちろん、模試が終わっていないのにこの事実を暴露した人にもある程度の責任があると考えています。

この事実を河合塾などにこっそり報告せずいきなりツイッタで暴露した場合、得をするのは不正をする人のみであって、普通に受けたい人から河合塾までが損をすることになります。誰もが損をすることを暴露するのが「悪くない」わけがありません。

ただ、今からその暴露した人を責めても仕方がないです。これを書いた意図として、暴露した人を責める気は全くありませんが、暴露した人に責任がないと思っている方には届いてほしいと思います。

まとめ

閲覧の手順は、比較的難しくないとはいえ模試不正をするような人は多分自力ではたどり着けないのでもしかしたら大した問題ではないかもしれないのが幸いです。

また、河合塾はデジタル化を推進し、今年から模試の解答の紙配布を廃止しましたが(印刷費の問題と考えられるけど)、あまりにも拙速すぎると感じます。

今回の流出は「不正アクセス」ですらなく、「pdfファイルの場所の推測」でログインなどすらせずに簡単に閲覧できてしまいました。

河合塾は生徒に「情報Ⅰ」の問題を解かせる前に、まずは自分で解いたほうがいいと思います。

コメント

タイトルとURLをコピーしました