太陽がまぶしかったから

C'etait a cause du soleil.

X(Twitter)の激安非公式APIを使うリスクとプラットフォーマーAPIラッピング型SaaS is Deadについて

サカナとヤクザ ~暴力団の巨大資金源「密漁ビジネス」を追う~ (小学館文庫)

格安X記事収集に蓮舫のR4を想起する

バズってるX記事を全自動&格安で収集する方法【Claude Code】

Claude Codeに「バズってるX記事を集めて」と言ったら5分後に545件の記事がレポートになって出てきた。コスト約25円。いいね数、RT数、ブックマーク数、閲覧数、フォロワー数、記事の全文テキスト。全部入り。しかも日本語の記事だけ自動で分類されてる。

X APIが従量課金制になったことは以前に書いたのだけど、それでは実現できなかったX記事のリサーチと全文取得を格安で実現したという記事が流れてきた。SocialData APIという「サードパーティAPI」を使うことで、X API v2の25分の1のコストでデータが取れるらしい。技術的な達成感がにじんでいる記事で、確かに工夫は面白いのだけど、2009年に蓮舫氏が改造コードについて質問した件を想起してしまった。

DS「イナズマイレブン2」の改造コードの入れ方をどなたかご存知ですか?私にはさっぱり…。

これに対して、改造コードが使えるR4を利用しているのではなないかという指摘が相次いだ。R4とはニンテンドーDSの非公式フラッシュカートリッジで、吸い出したゲームROMを起動できる海賊版ゲームのプレイに使われることが多い機器だなのだけど、ここに蓮舫氏が合法か違法かの問いを飛ばして「どう使うか」だけを聞くナイーブさへの反応があった。後に改造コード(プロアクションリプレイ)を利用するためだったと弁解しているのだけど。

非公式APIの素性を確認せずに利用を公言するリスク

SocialData APIのサービス公式における「どうやってデータを取っているのか」という問いに対する回答が「We are using various sources to get the data, but all of it is public data」だ。「色々な方法を使っているけどパブリックデータだからいいよね」というふわふわした答えで、X公式の認可を受けたリセラーかどうかという肝心の点は何も答えていない。

Xから当該サービスURLをポストしようとするとブロックされる挙動があり、おそらくブラックリストに入っているプロキシ経由のスクレイピング代行である可能性が高いにもかかわらず、APIが応答してデータが返ってくるから「使っていい」「安くて素晴らしい」という話になっている。もちろん密猟した鮑は安い。

パブリックデータという言葉も同じ構造の欺瞞を持っている。Xに投稿されたポストは確かに公開されているが、それを大量に機械的に収集・再販することは明確に規約違反である。図書館の本は公開されているが、全冊スキャンして販売すれば著作権問題になる。「見えている」と「自由に使える」は違う。それを「格安でXデータが取れる抜け道を見つけた!」と技術記事で紹介するのは、R4の使い方を公にするようなものなんじゃないかと思ったりもする。

もちろん、なんの違反もないように適切な運用がなされている可能性もないわけでもないが、公式におけるPay-Per-Useの課金体系を壊すようなサービスの許諾を恒久的に出すとは思えないので、使うのであれば慎重に判断すべきであり、特に会社名を出したアカウントで何も考えずに利用を公言するリスクは少し考えた方が良いだろう。

動いたら許可されたと思い込む問題

このような話は定期的にあって、「動いたら許可された」という倫理的な錯覚が問題なのだろうと思っている。2020年6月、LINEのプロフィール画像アップロードAPIに存在したアクセス制御の不備を突いて、公式アカウントや個人アカウントのプロフィール画像を芸能人の画像に差し替えた16歳と19歳の少年2名が不正アクセス禁止法違反で逮捕された事件がある。

LINEプロフィール画像改ざん事件、脆弱性検証から逸脱した行為と判断(LINE)

根本原因はサービスの不具合ですが、多数の被害が発生したため不正アクセス禁止法違反として刑事事件化しました。

本人たちの動機は「試してみたかった」だったという。APIが動いた、画像が差し替わった、だから問題ないと思い込んだのだろう。しかし「できた」と「許可された」は別の話だ。SocialData APIのエンドポイントが200を返すことは、Xがそのアクセスを許可していることを意味しない。LINEの脆弱性APIが200を返したことが逮捕を免れる理由にならなかったように。

プラットフォーマーAPIラッピング型のSaaS is Dead

ところで、LステップというSaaSについて、Claud Codeで簡単に実現できるという話が話題になっていた。Lステップはシナリオ設計やステップ配信などLINE上でのマーケティング自動化を提供するSaaSで、LINEの公式APIをラップしたサービスを提供している。LINEからパートナー認定されていることからも非公開APIやバルク利用費などの特契がモートになるものと思っていたが、現時点においてはLINEのAPIはオープン化されているため、そこの差異はあまりないという。

つまり純粋な機能と運用の勝負になるが、AIエージェントの発達によって最低限に満たさなければならないPOPは公式も後発も実現できてしまうことが前提となり、PODのための特別なAPIは公式が自ら開発して提供する方が利益が上げられるという構造にあるため、プラットフォーマーAPIのサードパーティSaaS is Deadは起こり易くなっているのかもしれない。

XについてもAPI利用費をリテールからも直接徴収していく方法を考えるほどに非公式のプロキシが「Xよりも安くXのデータを提供する」という構造を潰す動きをせざるを得ず、対応していないAPIも公式として整備していくインセンティブが働く。XのデータをXより安く売られたらXの収益性が下がるだけで、プラットフォーマーがそれを許諾するとは思えないというのは先述のとおりだ。

そして、Xに対して脱法行為を行っている可能性があるサービスに、クレジットカードを登録する意味がわかるだろうか。「色々な方法を使っているけどパブリックデータだからいいよね」とデータの取得方法を答えられないサービスが、カード情報の管理についてだけは誠実なのかについて考えてみるべきだろう。