POC — Coinswap.io(Swapzone)エクスプロイト報告
概要
このリポジトリは、Swapzone.ioの価格提示ロジックに関するPOC(Proof‑of‑Concept)報告をまとめたものです。著者はSwapzoneがChangeNOWオファーを扱う際、一部のBTCスワップ算出をChangeNOWの旧Node v1.9経由で行っていることを発見しました。Node v1.9はChangeNOWのメインプラットフォームでは直接到達できなくなっており、古い経路を通すことで最新のレート・手数料が反映されないケースが発生します。結果としてアグリゲーターが提示するレートに不整合が生じ、誤った価格をユーザーに提示する可能性があります。リポジトリは最小限のファイル(readme.mdとproof.png)から成り、問題の説明・影響範囲・再現のヒントを含みます。
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 2
- ファイル数: 2
- メインの言語: 未指定
主な特徴
- Swapzone と ChangeNOW 間の価格算出フローに関するPoC報告
- ChangeNOW Node v1.9 を経由することで生じるレート不整合の示唆
- 最低限の証拠(proof.png)と解説(readme.md)を含む軽量リポジトリ
- 責任ある開示を意識した記述(詳細なエクスプロイトコードは含まれない)
技術的なポイント
本件の本質は「アグリゲーターが外部サービスの複数バージョンや経路を透過的に扱う際に起こるデータ整合性の欠如」にあります。Swapzoneのようなサービスは複数の流動性提供者(ChangeNOWなど)からオファーを取得し、比較・フィルタリングして最適なスワップルートを提示します。問題となるのは以下の技術要因です。
- エンドポイント差分(Nodeバージョン差): ChangeNOWのNode v1.9と最新APIではレート算出方法や手数料構成、最小スワップ量の扱いが異なる可能性がある。古いノードを経由すると最新の市場状況や修正済み手数料が反映されない。
- キャッシュ/同期の問題: アグリゲーターが古いノードやミラーにフェッチしたキャッシュ済みデータを優先すると、リアルタイム性の低いレートがユーザーに提示される。
- フォールバック/ルーティングロジック: サービス間のフェイルオーバー実装が不完全だと、非推奨の経路へリクエストが流れることがある。内部ルールやDNS、ロードバランサ設定の不整合も原因になり得る。
- 手数料・スリッページ計算の不一致: プロバイダ毎に手数料計算やスリッページ処理の順序が異なると、アグリゲーター側で統一した比較を行わない限り「見かけ上有利だが実際には不利」なレートが提示される。
- 信頼性・監査: レート整合性を監査する仕組みが弱いと、外部の古いノードや退役中のエンドポイントが混入しても検知が遅れる。
影響としてはユーザーへの誤提示により損失やトランザクション失敗が発生する点、そしてアグリゲーターとプロバイダ間の信頼低下が考えられます。POCは具体的な攻撃コードを公開するのではなく、問題の存在を示すためのスクリーンショットやアクセス経路の記述に留められています。推奨対策は次の通りです:プロバイダごとにAPIバージョンの一覧化と互換性チェックを行う/取得したレートのサニティチェック(異常値閾値)を実装する/ミラーや旧ノードへのフェッチを制限し、マニフェストや証明書で正当性を確認する/運用上のモニタリングとアラートを強化して想定外のエンドポイント利用があれば即時検出する、などです。
また、セキュリティ観点では「第三者の古いAPI経路を悪用して価格を操作する攻撃シナリオ」も理論的には存在します。これを防ぐために、API応答にタイムスタンプや署名を付与する、複数プロバイダから同時取得してクロスチェックする、重要な決定前にライブクォートを再取得する、といった実装防衛が有効です。
プロジェクトの構成
主要なファイルとディレクトリ:
- proof.png: file
- readme.md: file
まとめ
最小限のPoCだが、アグリゲーター運用における外部APIバージョン管理とレート整合性の重要性を明確に示す報告。
リポジトリ情報:
- 名前: POC-Coinswap.io-Exploit-Report
- 説明: POC of swapzone.io exploit REPORT
- スター数: 1
- 言語: null
- URL: https://github.com/darksailor1337/POC-Coinswap.io-Exploit-Report
- オーナー: darksailor1337
- アバター: https://avatars.githubusercontent.com/u/234363114?v=4
READMEの抜粋:
Swapzone.io – ChangeNOW Rate Calculation Vulnerability
Overview
This report documents a pricing inconsistency discovered in the Swapzone.io aggregator, specifically when interacting with ChangeNOW offers through Swapzone’s API.
The issue stems from Swapzone’s integration still routing certain BTC swap calculations through ChangeNOW’s outdated Node v1.9, which is no longer directly accessible through ChangeNOW’s main platform.
Impact
- Affected parties: Swapzone.io, ChangeNOW
- *…