こんにちは。ねぎぽよしです。
Fanboxの規約が変わってAIイラストの話がついにFanboxでやりにくくなってしまってどうしようかな…と思い以下のツイートをしたところ…
思ったより反響があったのと、知人からも読みたいという話があって、今月はこのネタで書いていくか!となりました。
あとは、おまけで6/28-6/30に開催されていたコンテンツ東京のultraleapブースに間借りして出展していましたのでその思い出などを書いていこうと思います。
ハッカーもまた人間なんだなという話
ある日一通のTwitterDMが来ました。
訳:
Discordの@poyocに私を追加するように言ってください(あなたがそのpoyocだと思うけども)。Luppetを無料で入手する方法があるので、FIXするのを手伝おうと思っています。もし、あなたがDiscordの追加をしないのであれば、私は、緊急事態を引き起こすためにエクスプロイトを公開することに満足しますよ。
---
このDMが送られてきた背景:
「脆弱性があってFixするのを手伝うことができるのでDiscordで色々やり取りしない?」的なことを事前にメールで言われていましたが…
1. "Fix"とは何が行われるのか具体的内容がわからなかった。
2. Luppetのコードを部外者に見せるのは、リスクが非常に高いと感じていた。
3. 当時は本業(当時はSHOWROOMの会社員として働いていた)が特別忙しく、重い判断する余裕がなかった+体調が良くなかった。
の3点で回答を渋っていたところに、こういう内容が届いたということです。
あんまりな内容にめっちゃ辛い気持ちになりましたが、かといって何年もかけて愛を持って作ったプロダクトが、Exploit版の配布でぐちゃぐちゃになったら凄く悔しいし、立ち向かっていかないとこの先の人生もずっと後悔するだろうなと思ったのでこのDMの方にDiscordでフレンドリクエストを送って、対話を始めました。
---
IDは教えてもらっていたのでDiscordで無事連絡が取れて挨拶もそこそこに、早速相手が動画をみせてくれました。
動画の内容としては、LuppetのTrial版の中身を改造して体験版をPersonal版のように動作させるというものです。
動画時間からわかるように、やり方さえ分かればかなり簡単にハックができてしまうもので非常にショッキングな内容でした。
(この時点だと、相手が良い人なのか悪い人なのかわからず、最悪な事態を想定して更に具合が悪くなりました。)
ただ直感として、DMの言葉は強かったけど事前にメールで教えてくれたということは、おそらく親切ベースで話しかけにきてくれてるはずだから、とりあえず相手の主張を全部を受け止めようと思って相手を理解するというのを優先しながら対話を続けました。
----
ちょっと話が逸れますが…
基本的に何も対策をしていないUnity製アプリはハックしやすいという問題があります。
一般的な知識として、Windows向けにビルドしたアプリに関して言うと、Monoビルドでリリースされているアプリに関しては中身のロジックも含めて全部見ることができるし、ロジックを書き換えることもできてしまいます。
参考:
もちろんそれは最初から認識していて、Luppetは当初からMonoビルドではなくIL2CPPビルドを施した上でリリースしています。
IL2CPPで完全にハックを防ぎきれるものではありませんが、ハックするためのコストは相当上がります。
---
そして、今回ハッカーに指摘された点に関しては、IL2CPPによって守られたロジック部分ではありませんでした。
指摘された主な部分はアセットの差し替えによるもので、こういうハックしたら行けちゃうけど大丈夫?というものでした。
(ハックの内容については具体的な言及を避けたいので曖昧な言い回しになってしまい申し訳ないです)
こうやって実際に指摘されてみて、開発段階ではその可能性には思い至っておらず、教えてもらって助かったな…と思う次第です。
会社のアプリだと、ハック可能性はQAによって明るみに出ることになりますが、個人開発だと作者の知識領域がそのまま出てしまうので難しいですね。
---
その後の対話では、やり方については動画を見ての通りだったので、それをふまえて自分が理解したことをハッカーに確認して、自分の理解が合ってることを確認しました。
聞いたことに対して丁寧に説明してくれるし、こちらの英語がアレでも配慮してくれたりしたので、この段階でやっぱり害するつもりはなく単純に親切に俺に連絡してきてる人だということがだんだんわかってきました。
そんなわけで警戒レベルを下げてとにかく感謝の念を伝えたわけですが、お互いがやや打ち解けてきたところで、実際にUnityアプリをハッキングするやり方やクラッキングに利用するソフト類のデモンストレーションをビデオ通話で見せてくれることになりました。
自分はものづくりをするのが大好きですが、"ちゃんとしたプロダクト"を作るには、ハッカー視点で何が簡単で何が難しいのか知ることは避けて通れない道だと思っています。
こうした知識は、一般的にセキュリティ講習とかで勉強すると思うのですが、今回は現役のハッカー本人に聞けるという人生でも中々ないチャンスだと思ったのでデモンストレーションのビデオ通話をお願いしました。
---
ビデオ通話ではいくつかのやり方を教えてもらいました。
・Unityアプリからアセットを抜き出す方法
・アセットを差し替える方法
・IL2CPPビルドのアプリの値の見方
・AssetBundleの解析方法
これらは貴重な機会だったので動画に残しており、その後の開発にあたって何度も見返しました。だいぶ勉強になった。
一通り教えてもらったあとは雑談で、普段どんなことをしてるのか~とか、日本の暮らしの話とか、VTuberは誰々が好きで~とか、アニメは何が好きで~みたいなことを話しました。
(ビデオ通話にGoogle翻訳を映して会話するという非常に情けないコミュニケーションをしました。英語が喋れると良かった案件がまたここにも発生しています。)
結果として、趣味でいろんなソフトをハッキングするのが好きな大学生らしいということがわかり、今回自分に連絡してくれた動機も親切ベースなのが改めて分かってよかった…!ということで一件落着しビデオ通話を終えました。
最後の最後に「最近はApexとかValoのチートを作ってるんだよね~」って話をされたときは「おい!!!」ってなりましたけども。
---
お金を払ってもらうアプリを作るためには本当に色んなことを知って、あらゆる可能性に備えておかないといけないなと改めて心が引き締まりましたし、自分の作ったアプリがハッカーに狙われて、そのハッカー本人と仲良く会話することなんて、まぁ今後は無いと思うので大変良い経験になりました。
相手も人間ですからクラッキングをなんとなくという感情で行うとはあまり思えないし、クラッキングによってただただ自分の力を見せつけたいだけだったという事例もよく見かけます。(もちろん金銭的要求やアプリに恨みがあって破壊したいだけという事例ももちろんありますが…)
決めつけをせず冷静に相手の目的を確かめることをしてよかったなと当時の自分を褒めたいですね。
何年もLuppet周りの作業をしていてこれが一番強烈でした。二度と体験したくない…。
6/28~6/30にかけて東京ビッグサイトのultraleapブースの一部をお借りしてLuppetXを展示してきました!
LynxR1やPico等のHMDに組み込むLeapMotionの展示や、オランダ製の3Dディスプレイをハンドトラッキングで操作するデモがあったりして、中々技術的に面白いブースになっていたのかなと思いますね。
意外とLuppetを知らない人が多かった
VTuber界隈だとLuppetの名前はまぁまぁ通ってるのかなと若干のうぬぼれがあったのですが、今回展示してて、VTuber事務所の方でもLuppetを知らない方がいて考えを改めさせられました。
思い返してみれば広告なんて打ったこともなく、こういう展示会も1人で出展するには準備コストがデカすぎるので出展したこともなかったし、Twitterをあまり見てない人にとっては知らないのはしょうがないか…と納得しましたね。
つまりちゃんと宣伝していけば、新しくLuppetを使ってくれる人が増えるということですのでポジティブにとらえています。
ビジネスのお話も数件いただいたので出展させてもらったことはとても良いことでしたね。
あとは、Luppet以前にVTuberをよく知らない人に体験させて、新鮮な反応をもらうのが非常に楽しかったですね!
久しぶりに界隈の外の人々に触れ合ったので自分も元気をもらえました!
中国のVTuber界隈最新情報を教えてもらった
中国大陸のVTuber最新情報はなかなかネットを検索しても出てくるものではなく、一回Luppetの中国展開に失敗したこともあってここ数年は情報を追っていなかったのですが…。
ブースに遊びに来てくれた中国企業の方によると、どうやら最近は3DのVTuberが増えてきているという情報を教えてもらいました。
昔(2019年)は3Dモデルがあっても、企業のスタジオを使うなどフルトラ前提となってしまうので数は増えなかったのですが、どうやら最近は何かのソリューションがあるのか3DモデルのVTuberが増えつつあるということです。
とはいえ今でも主流はLive2Dなのでその点は変わらないのですが、中国では3,40万人VTuberがいるという話があって、例えばその1割でも3Dなら3,4万人となるのでやっぱり数というものは強いですよね。
中国の話でいくと、実はultraleapさんは香港オフィスがあるという話を今日教えてもらいました(調べたらちゃんと公開情報だった)。
embed: www.ltddir.comLuppetはLeapMotionに依存しているので、中国展開しようとしてもデバイスがもし中国で売ってなかったら難しいなぁ…と思っていたのですが、その点は心配する必要はなさそうなので良かったですね!
Luppetは日本のLeapMotionの売上に貢献したのか?→してた!
2日目が終わった後、ultraleapの皆さんと日本代理店の皆さんとご飯をご一緒する機会があったので、せっかくだしちょっと突っ込んだ質問をさせてもらいました。
「Luppetは日本のLeapMotionの売上に貢献したのか」という点に関して、肌感覚として流石に少しは貢献したでしょ!というのは薄々思っていました。
実際に聞いてみたらその感覚は合っていたことがわかったので良かったですね。
他の分野のブースの話
今回はXR総合展と合同で様々なジャンルの展示会があったので、そこもチラチラと見てきました。
ChatGPTが広く一般に浸透して数ヶ月経ちましたが、そのおかげであらゆるところでAI、ChatGPTという単語を目にすることになりました。
◯◯にChatGPTを実装しました!という内容の展示が非常に多く、「いやいやChatGPTって単語を無理やり使いたいだけなんじゃないの…」というツッコミを入れたくなる企業がいっぱいいたのがなんか生産性の無いことやってんな…って若干呆れてしまいましたね。
明らかにLLMにやらせるべきでないことをChatGPTにやらせようとしている展示もあったので、結局そういう人たちにとっては「メタバース」みたいなバズワードでしかないのかなぁと思いました。
やっぱりちゃんと手を動かして人のためになるものを作っていくのはいつまでも大事にしたい気持ちですね。
そんなわけで今月は以上です!
来月はLuppetXをリリースする予定なのでそのへんの話とか、今後の技術革新でやりたいこととか色々書いていこうかな~というのを考えています。
お読みいただきましてありがとうございました!