セブン-イレブンアプリの7pay機能。7月23日現在も、新規登録・チャージなどはできないままの状態が続いている。 Business Insider Japan

7payをめぐる脆弱性の懸念が解決しないまま、不正使用事件発覚から約3週間が経った。この間、実行犯とみられる複数の中国籍の容疑者が逮捕され、また外部ID連携の実装の不備から、セキュリティーの懸念を指摘する報道が続いている。

セブン&アイHDは7月中を目処に、今後の対応策などを公表する予定だ。

しかしここへきて、これまでとは異なる、別の問題が浮上してきた。

7payにも関連する、ECアプリ｢オムニ7｣の設計図にあたるソースコードが漏洩していた可能性がある。オムニ7アプリはセブン-イレブンアプリとは別アプリだが、ログインまわりの設計は非常に似通っているとみる専門家もいる。

事実であれば、アプリ開発の管理体制、アプリ自体やサービスのセキュリティーに関するリスクの有無についても、一層の警戒が必要になる可能性がある。


｢オムニ7アプリ｣のソースコードがGitHub上で公開されていた？

Business Insider Japan

｢7pay問題に関連すると思われる、プログラムのソースコードが漏洩している可能性があります｣

7月上旬のある日、首都圏のIT企業につとめるプログラマーのユースケさん（仮名）は、そう言ってソースコードの実物を取材班に見せた。

ユースケさんがこの問題に気づいたのは、7月16日の記事のタロウさんと同様にセブン-イレブンアプリの通信解析をしていたからだ。

外部ID連携に設計上の問題があるのでは、との指摘は、報道が始まる以前から一部のITエンジニアらの間で噂になっていた。

ユースケさんもそんなうちの一人だった。しかし、他の人と違ったのは通信解析を試す中で偶然、解析中に表示されたオムニ7の｢APIサーバー｣の名前を、GitHubで検索してみようと思ったことだった。GitHubは開発者の間で一般的に使われている開発支援サービスプラットフォームだ。

ユースケさんによると、このソースコードは、少なくとも7月10日ごろまではGitHub上に存在した。一目見て｢今回の問題に関連する重要な情報だ｣と感じたユースケさんは、事前にGitHubのスクリーンショットを残していた。

同ソースコードは、その週のうちに削除されている。このソースコードをアップロードしたと思われるのは、“iからはじまる7文字のアカウント”の人物だ。

削除される前のリポジトリ（GitHub上の保存場所）のスクリーンショット。 提供：取材協力者

ユースケさん自身はソースコードの内容詳細までは解析していない。

しかし、ざっと見たところ、iOS向けのソースコードで、コードの一部に開発会社らしき複数のメールアドレスが書かれていること、またフォルダー名などからオムニ7アプリの一部のように見える、ということにも気づいた。

削除直前の足跡から、このソースコードはGitHub上で2015年5月〜7月頃に公開されたもので、それ以来更新されることなく、削除される2019年7月10日付近まで公開状態が続いていた可能性が高い、とユースケさんは言う。

事実であるならば、セキュリティーの観点から無視できない管理上の不手際ということになる。

別のソースコードを日本の企業が削除した痕跡

オムニ7アプリ。現在もAppStoreなどで配信中だ。 撮影：7pay取材班

ソースコード漏洩の懸念については、別の気になる動きもあった。

ユースケさんが発見したソースコード（便宜的にソースコードAと呼称）が削除されて以降も、同様にオムニ7のAPIサーバーの名前で検索すると別のリポジトリ（保存場所）がヒットする状況だった。そこには、消えたソースコードAより古い、開発初期と思われるソースコード（ソースコードBと呼称）の断片があった。

以下は7pay取材班が、7月19日時点で公開状態にあったことを確認した画面のスクリーンショットだ。またソースコードBに関連するアカウントには、ソースコードAのときと同様に“iからはじまる7文字のアカウント”も含まれる。

編集部が7月19日時点で保存したスクリーンショット。コミット者の名前として“iからはじまる7文字のアカウント”の人物も確認できる（モザイク処理をしています）。開発の初期段階のバージョンなのか、フォルダー構造などは異なる。 7pay取材班

ソースコードBにはその後、興味深い動きが起こる。

GitHub上で日本企業が、アメリカのデジタルミレニアム著作権法（DMCA）にからんだ申し立てをし、運営から受理され、その後削除にいたったのだ。そのログも公開されている。日付は現地時間の7月18日。

申し立て内容の要点をまとめると、

この ソースコードの権利者は｢Seven & i Net Media Co.,Ltd.｣ である

である オリジナルのソースコードは7月11日に削除。 しかし、そこからフォーク（複製）されたソースコードを発見した（ソースコードBのこと）

しかし、そこからフォーク（複製）されたソースコードを発見した（ソースコードBのこと） フォークされた｢関連するソースコード｣の権利者が我々であることは、以下 ｢omniMbaas〜〜〜｣で始まる一連の4つのソースコードの権利表記で証明 できる

できる DMCAテイクダウンの申請者はNTT DATA MSE社

というものになる。

11日に削除したオリジナルのソースコードが｢ソースコードA｣を指すのかは不明だが、日付からするとユースケさんが見つけたものである可能性は高い。

数週間前から元のソースコードの調査を進めていた

実は、7pay取材班は、DMCAの申し立てが発覚する以前の数週間前の段階から、本件について調査を進めていた。

DMCAの申し立てが発覚する以前に、取材班が独自入手したソースコードについて、国際大学GLOCOM客員研究員の楠正憲氏に分析を依頼していた。楠氏はアプリ開発やセキュリティーに詳しい識者だ。

楠氏は当時、断定は避けながらも、セブンネットショッピングと関係があるソースコードである可能性が高いと語った。楠氏のコメント公開は今回が初めてだ。

楠氏のTwitterアカウントより。セキュリティーや技術系の論客としても定評がある。 Twitter

｢（ソースコードには）iOSデバイスへのプッシュ通知に必要な電子証明書が含まれており、（これを根拠として）セブンネットショッピングと関係あるソースコードである可能性が高い。 BaaS（※）に接続するSDK（※）に含まれるヘッダーファイルからは、（すでにBI Japanが報道している）外部IDログインに関して指摘されているのと同様の脆弱性を発見した。 リソースファイルに直接、“外部IDログインに必要なシークレット”などが直書きされている。 これらのファイルが長い期間、GitHub上で公開されていたのだとしたら、かなりずさんな管理が行われていたことが推察される｣（楠氏）

また、今回のDMCAの申し立ての発覚を受け、楠氏は次のように改めてコメントを寄せた。

｢スマートフォンのアプリ開発では、インターネットに接続していることを前提とした開発環境が多く、昔のようにインターネットから隔離することで秘密保持するのは難しくなった。 特にiOSの場合Macで開発することが一般的で、開発会社のMac向けデータ漏洩対策は、Windowsと比べて出遅れているケースがある。秘密保持できている前提ではなく、漏れることも想定した上で監視する必要があるのではないか｣（同）

BaaSとは：Backend as a Serviceの略。スマホなどの端末内アプリを出入り口として、目的の機能を提供するためクラウド上で動作しているサービス本体のこと。 Backend as a Serviceの略。スマホなどの端末内アプリを出入り口として、目的の機能を提供するためクラウド上で動作しているサービス本体のこと。 SDKとは：Software Development Kitの略。ソフトウェア開発キットのこと。

セブン＆アイHDの回答

セブン&アイHD広報が事実関係の問い合わせに回答。担当者は｢本件については現在確認中です｣とのコメントにとどめた。

7月中にセブン側が公表を予定する｢今後の対応策｣のなかに、ソースコードの漏洩の可能性についての情報が含まれるかどうかは、現時点で明確な回答はなかった。

編集部より：セブン&アイHD広報の回答を追加し、｢セブン&アイHDの回答｣以下の文章をアップデートしました。 2019年7月24日19:10

（文・7pay取材班）