Duneの不正検知システムと戦ってみた
Duneは素晴らしいサービスだ!2022年からプライベートで気になるプロジェクトのデータなどを分析するために使っていた。
数日前から仕事でDune API経由でデータ取得することになって、一旦プライベートのアカウントで軽く試してみようと、無料で月2500クレジットで試すことにした。 あくまで検証目的なので、数アドレスで検証してたが、chainのgenesisからデータ取ろうとしたところで、無料の枠を使い切ってしまった。
まあ、仕方ないかということで、新しいアカウントを作って、APIキー発行して、同じ検証を繰り返してたんだが、クレジットの減り方が異常に早くて数クエリで使えなくなった。アカウントの問題かと思い、さらに別のアカウントを作って試してみたが、同じ結果だった。無料で使えるクレジットは最初のアカウントだけだったのか?と疑ってる内に強制ログアウトされた。前に作ってアカウントも全部ログインできなくなった。23時だと寝るか?!
朝起きて dune.com 開いてみたら、cloudflareでアクセス制限されてて開けなかった。どうやらDuneは不正検知システムで、IPアドレス単位で制限がかかったみたいだ。 VPN経由でテストしてみたらアクセスできたので、IPアドレス単位で制限がかかってるのは間違いない。
翌日、仕事用のメールアドレスにDuneの招待が来てそれを使って開発を進めることにした。 我が家のIPアドレスは固定ではないので、新しいIPになるまでVPNで頑張るか!
しかし、4年も使ってたアカウントをどうにか救えないかとDuneサポートに問い合わせメールを書いた、3日経っても返事なし!もう一度書く。その日に返事が来た。
「お前のアカウントは利用規約違反により停止された。今お前ができることは新しいアカウントを作って有料プランにして、停止されたアカウントをそのチームに招待すればアカウントの制限を解除してあげよう」
なるほど、こんな汚い手があるのか?要するにはお金払えということだな。 有料プランを見ると最低月$75が必要だった。目的はDuneを有料プランで使い続けるのではなくBANされたアカウントを復活させたいだけなので、少し悩んだ。 これはお金だけの問題ではない、このルールに納得行かない、だめならだめでいい、お金払ったら制限解除ってなんだ?!
どうせプライベートでは本格的に大量のデータを扱うこともないし、検証用のアカウントもう一つ作ってみようか。
-
メールアドレスはメインで使ってるgmailの + 機能を使って新しいアカウント作った。クエリ一つ書いて保存したらまた強制ログアウトされて、ログインできなくなった。うん?!メールアドレスでBANされたアカウントと紐づけられてこいつもBANされたのか?
-
メールアドレスの問題ね?https://10minutemail.com を使って使い捨てのものでやろう。サインアップで弾かれた。なるほど、有名なところのメールアドレスはブラックリストに入ってるのか?
-
https://temp-mail.org/en で試してみたら、サインアップできた。数分経ったところでBANされたw、これは非同期の不正検知システムに引っかかったやつだな
-
念の為VPNでIPを別の国にして、メールアドレスも使い捨てのものではない普通のやつにして、サインアップできた。数十分経っても、異常なし、不正検知突破できた。「ざまみろ」というユーザー名で使わせていただいてます。
duneの不正検知は何をやりたかったのか?アカウントの無料クレジット分繰り返し使うのを防止にはこのような方法しかなかったのか?