ディスカッション (11件)
やあ!共同創業者のTarunと共に「Kampala」を開発したAlexです。Kampalaは、MITM(中間者攻撃的)プロキシを活用して、脆弱なブラウザ自動化やComputer Useエージェントに頼ることなく、既存のワークフローをエージェント的にリバースエンジニアリングできるツールです。Webサイトはもちろん、モバイルアプリやデスクトップアプリにも対応しています。デモ動画はこちら: https://www.youtube.com/watch?v=z_PeostC-b4 多くの人が、レガシーなダッシュボードやオンプレミス環境で、日々何時間もかけてプラットフォーム間のデータ照合を行っています。現在の自動化手法の主流であるブラウザ自動化やAIエージェントは、壊れやすく、動作が遅く、結果が非決定的なのが悩みでした。私はこれまで7〜8年間、Webのリバースエンジニアリング分野で、スニーカーやチケットの抽選販売、スポーツベッティングのログイン自動化など、手動で統合処理を構築してきました。その経験を通じて、多くの企業をブラウザベースのインフラから直接リクエストを叩くレイヤーへと移行させてきました。私たちの会社Zatannaでは、歯科テック分野で保険関連のダッシュボードやレガシーな管理システムと格闘していました。どんなシステムとも統合できるのが私たちの強みで、そのために開発したツールが現在のKampalaです。既存のMITMプロキシが抱えていた「厳格なアンチボット検知」「不十分なMCP(Model Context Protocol)」「ワークフロー構築の柔軟性不足」という課題を解決しました。Kampalaは、既存のセッション情報やアンチボット用Cookieをそのまま利用できるため、超高速かつ確定的にタスクを自動化します。プロンプトから直接スクリプトやAPIを生成することも、一度ワークフローを手動で実行した後に好みのコーディングエージェントへKampala経由で再現させることも可能です。完成したAPIやスクリプトはエクスポートして実行したり、ホスティングすることも可能です。私たちの考えでは、自動化の未来は「LLMにスクリーンショットを送ること」ではなく「コンピューターが実際に理解しているレイヤー(通信層)を操作すること」にあります。皆さんのフィードバックや質問を楽しみにしています!
面白いプロダクトだね(Caidoの共同創業者です)。認証を完璧にこなすのは本当に難しいし、エンドユーザーからは最も軽視されがちな側面だと思う。うちは脆弱性再現のためのPoCに関して、これと似たようなものに取り組んでいるところだよ。
フィンガープリントを完璧に一致させるのも至難の業だけど、その戦略をどうしているのか興味がある。僕の経験上、複数のTLSライブラリをバンドルでもしない限り、100%の再現はほぼ不可能だと思ってる。どのライブラリもすべてのTLS拡張をカバーしているわけじゃないからね。
いいね!ただ、ページ内のリンクが機能していないみたい。少なくとも僕の環境ではダメだね。例:https://www.zatanna.ai/kampala#how-it-works
あと、対象がローカルマシンのアプリなのか、ネットワーク上のアプリなのかもページからは読み取れなかった。もう少し明確な例やユースケースがあると分かりやすいかも。
関連する話だけど、うちでもサードパーティのWebアプリをいくつか使っている。パブリックなAPIは公開されていないけど、全部シングルページWebアプリだ。そこでClaude CodeをこれらのWebアプリに接続して、限定的なユースケースで使いたいと考えたんだ。
まずChromeを開いてサイト全体を巡回し、ネットワークタブからHARファイルをダウンロードした。それをClaudeに渡して、APIのドキュメントをOpenAPI JSON形式で出力させるよう指示したんだ。これがすごくうまくいったよ。
次に、簡単なPythonスクリプトを書いた。片方でstdio MCPを実装し、もう片方でサードパーティアプリが公開している内部APIを呼び出すようにしたんだ。唯一足りないのは認証ヘッダーだけだった。
ここからが最高に面白いところだ。ClaudeがMCPに接続すると、MCPがPlaywrightで制御されたブラウザを起動し、対象のWebアプリを開く。そしてユーザーがログイン済みかを検知し、Playwrightを使って認証情報を取得してローカルのキャッシュファイルに保存し、ブラウザを閉じる。あとは直接APIにアクセスするだけ。その後はブラウザは不要だ。
Claudeで1時間分くらいのトークンを消費しただけで、各ユーザーの認証情報を使ってローカルで動作するMCPサーバーがかなり安定して構築できた。これまでガチガチに制限された企業環境でも、これで問題なく動かせているよ。
自分もWebサイト向けに同じようなものを作ったよ[0]。僕はWebサイトのハッキングよりも、Claudeの再帰を使ってClaude自身をチューニングすることに興味があるんだ。エージェントが自分自身を書き換えるというね。あらゆるトランスポートを分解するために、再帰的なClaudeエージェントが自分自身を47回イテレーションして書き換えたというのは良いデモになったよ。
YouTube、Twitch、Ticketmaster、Yahoo Financeでテスト済みだ。JSON、WebSocket、GraphQL、SSE、Protobuf、UDP、WebRTCなど、どんなトランスポートも検知できる。3時間くらいかけて指示を出したら、ChatGPT + Cloudflare Turnstileのリバースエンジニアリングにも成功したけど、まだ本体にはマージしていないな。
仕組みとしては、ClaudeがCDP(Chrome DevTools Protocol)を使ってすべてのトラフィックをインターセプトしているんだ。
[0] https://github.com/adam-s/intercept?tab=readme-ov-file#how-i...
リリースおめでとう!
全く関係ないんだけど、名前の由来が気になってね。僕はウガンダ人で、カンパラ(ちなみにウガンダの首都だよ)で生まれ育ったからさ。
とにかく、おめでとう。
おめでとう。「リバースエンジニアリング」という表現は避けたほうがいいかもしれないね。ほとんどのアプリの利用規約で禁止されているはずだから。「アプリをリプレイする」とか、それに近い表現にするといいんじゃないかな。
おめでとう!
SSLピンニングはどうやって扱ってるの?僕が触るアプリのほとんどはSSLピンニングを実装していて、そこを回避するのが一番の難所なんだよね。Kampalaも試してみたけど、いつものところで詰まってしまった。有効にした途端、ChatGPTが動かなくなるんだ。iPhoneアプリのほとんども反応しなくなってね。
このツールを使って、ジムの予約を自動で行うエージェントを作れたら最高なんだけどな。ひどい出来のアプリをわざわざ使わなくて済むようにしたいんだ。でも、そんな比較的単純な(iOSの)アプリでさえ、プロキシを有効にした瞬間に動かなくなってしまったよ。
かなりHTTP中心(Webのほとんどがそうだけど…)な感じだね。ページには見当たらなかったんだけど、gRPCやWebSocketを通るサービスコールもインターセプトや「リバースエンジニアリング」できるのかな?gRPCのトラフィックがgrpc-web/Envoyを使っていれば、少なくとも部分的には「イエス」かな?
素晴らしいプロダクトだと思う。SPAの自動テストにはかなり強力そうだ。
結構面白いね。OpenAPIとか、それに準ずる仕様を出力できたりする?
以前、HARファイルからリクエストとレスポンスのDAG(有向非巡回グラフ)を構築して、パラメータがどうマッピングされているか調べて仕様を作ろうと試みたことがあるんだ。
ただ、かなり壊れやすかった。今ならLLMを使えばもっと現実的だろうね。クライアント生成や負荷テストへの応用は常に面白いユースケースだと思っていたよ。
僕はHingeのプロキシをリバースエンジニアリングして、1分間に数百件のプロフィールをフィルタリングしていたらBANされたよ。ボットが自動で80%を弾いて、残りの20%を僕がショートカットキーで複数のプロフィールを同時に見ながら処理する仕組みだった。
デモ動画でそんなのを見るとはね。規約違反なのは明白なのに。