تصور کنید ساعتها وقت خود را صرف رفع باگی کنید که اصلاً وجود ندارد؛ این دقیقاً همان اتفاقی است که برای توسعهدهندگان ۹ درگاه پرداخت در اواخر اکتبر ۲۰۲۶ رخ داد. در تاریخ ۱۵ و ۱۶ اکتبر ۲۰۲۶، نه نقطه پایانی (Endpoint) پرداخت فعال بهطور اشتباه به عنوان «خراب» علامتگذاری شدند، زیرا یک ابزار نظارتی تفاوت در پروتکلها را با شکست فنی سیستم اشتباه گرفت. اعتبارسنج Observatory متعلق به شرکت Payload این هشدارهای دروغین را صادر کرد و توسعهدهندگان را به دنبال باگهایی فرستاد که در واقعیت وجود نداشتند.
بررسیهای خودکار برای حفظ سلامت لایههای پرداخت در هوش مصنوعی زاینده (Generative AI) — شبیه به یک نگهبان است که مدام درها را چک میکند تا مطمئن شود باز هستند — حیاتی هستند، اما اعتبار آنها تنها به اندازه دقت تجزیهکننده (Parser) آنهاست. در این مورد، ابزار نتوانست تفاوت بین یک پاسخ معیوب و ناتوانی خودش در خواندن یک پاسخ معتبر را تشخیص دهد. این یک تله رایج در نظارت بر زیرساخت است: تلقی کردن فرمتهای «ناشناخته» به عنوان وضعیت «شکست». این چالش با گزارشهای مثبت کاذب در بازرسی حفاظهای هوش مصنوعی شباهت زیادی دارد که نشان میدهد ابزارهای نظارتی اغلب در تشخیص خطاهای واقعی از تفاوتهای ساختاری دچار مشکل میشوند.
همانطور که در تحلیلهای قبلی ما دربارهی استانداردهای پرداخت در مدلهای زبانی اشاره کردیم، دقت در لایهی پروتکل برای جلوگیری از توقف خدمات ضروری است.
زمینه و جزئیات شکست
ابزار Observatory شرکت Payload، درگاههای پرداخت x402 را که بهصورت عمومی فهرست شدهاند، با استفاده از پروبهای «متد-آگاه» (method-aware) و بدون پرداخت هزینه بررسی میکند. هدف این است که یک درخواست به درگاه ارسال شود بدون اینکه هزینهای پرداخت گردد، سپس چالش پرداخت (Payment Challenge) بازگشتی خوانده شود و ثبت گردد که آیا یک کلاینت استاندارد میتواند بر اساس آن اقدام کند یا خیر.
در طول اسکنهای ماه اکتبر، اعتبارسنج برای ۹ درگاه وضعیت INCOMPLETE_CHALLENGE را بازگرداند. این موارد شامل دو درگاه از Strale، چهار مورد از Waltsoft و یک مورد از هر یک از شرکتهای uxus.finance، SlamAI و itsgloria بود.
به نقل از گزارش dev.to، علت ریشهای این خطا، عدم تطابق نسخه در منطق شناسایی شبکه بود. در حالی که اعتبارسنج توانست شناسههای CAIP 2 را تشخیص دهد، در تجزیه (Parse) فرمتهای معتبر و قدیمی (Legacy) شبکه x402 شکست خورد. در واقع، ابزار فرمتی را که قادر به تجزیه آن نبود، به عنوان مدرکی بر شکست درگاه تلقی کرد.
تحلیل فنی حادثه
تیم Payload برای بررسی این حادثه، بهجای اینکه به اعتبارسنج به عنوان یک مرجع اعتماد کند، آن را به عنوان یک «متهم» در نظر گرفت. آنها پیش از ردیابی منطق شناسایی شبکه، مشاهدات اولیه و ورودیهای رجیستری را حفظ کردند. آنها متوجه شدند که نسخه در حال اجرای ابزار (Runtime copy) از یک قانون قدیمی «فقط CAIP 2» استفاده میکند، در حالی که اصلاحیه این مشکل پیش از این در مخزن گیتهاب Payload Observatory در بازبینی (Revision) 8c9ace89be839514e621207befc8abe7144fbd85 موجود بود.
اعتبارسنج اصلاحشده بدون تغییر در دادههای Observatory نصب شد. برای اطمینان از یکپارچگی دادهها، هر ۱۱ فایل دادهای پیش و پس از تعویض کد بررسی شدند؛ هش (Hash) این فایلها بهجز بهروزرسانیهای مورد انتظار در رجیستری و اعتبارسنجی، کاملاً یکسان بود.
به محض استقرار کد اصلاحشده، نتایج فوراً تغییر کرد:
- هر ۹ درگاه وضعیت
VALID_402گرفتند و در رجیستری به حالتACTIVEبازگشتند. - تأیید شد درگاههای Strale از چالشهای معتبر x402 v1 با استفاده از اسلاگ شبکه پایه قدیمی (Legacy base network slug) استفاده میکنند.
- درگاههای Waltsoft و uxus.finance دارای یادداشتهای سازگاری برای اسلاگهای شبکه قدیمی بودند.
- درگاههای SlamAI و itsgloria چالشهای معتبری را بدون نیاز به یادداشتهای سازگاری بازگرداندند.
- نسخه اصلاحشده اکنون میتواند چالشهای بدنه (Body challenges) x402 v1 را نیز تشخیص دهد و خطاهای پروکسی خروجی مشترک (Shared egress proxy failures) را بهجای مقصر دانستن درگاه، به عنوان
PROXY_BLOCKEDطبقهبندی کند.
هزینه مثبتهای کاذب (False Positives)
این خطا هزینهی مالی مستقیم در تراکنشها نداشت، اما ساعتهای زیادی از وقت مهندسان را تلف کرد. وقتی یک ابزار، «محدودیت تجزیهکننده» و «چالش معیوب» را در یک دسته قرار میدهد، اثرات پاییندستی آن شدید است. توسعهدهندگان وقت خود را صرف دیباگ کردن سیستمهای سالمی میکنند که هیچ مشکلی ندارند و مارکتپلیسها ممکن است بر اساس شواهد ناقص، رتبه خدمات سالمی را بهطور ناعادلانه کاهش دهند. این نوع عدم دقت در لایههای عملیاتی میتواند مشابه نقصهای مسیریابی در عاملهای AI باشد که منجر به اتلاف منابع و بودجههای API میشود.
برای جلوگیری از این اتفاق، Payload یک چکلیست سختگیرانه برای تأیید پیشنهاد میدهد:
- ثبت دقیق متد درخواست، URL، وضعیت پاسخ، بدنه، هدرها و زمان پروب.
- اعلام صریح اینکه ابزار کدام نسخههای x402 و فرمتهای شبکهای را میشناسد.
- تست اعتبار چالش در یک فرمت قدیمی پشتیبانیشده، پیش از آنکه شناسهی شبکه را «نامعتبر» اعلام کند.
- جداسازی خطاهای پروکسی، تایماوتها یا محدودیتهای تجزیهکننده از حکم نهایی درگاه.
- بازبینی مجدد (Reprobe) با تجزیهکننده اصلاحشده پیش از گزارش هرگونه نقص.
- حفظ نتیجه اصلی در زمان تغییر حکم، تا فرآیند اصلاح قابل حسابرسی (Auditable) باشد.
برای کسانی که به تشخیصهای عمیقتر نیاز دارند، ابزار callx402 (با پشتیبانی Veyline) ارائه شده است. این لایه پولی با هزینه ۰.۱۰ دلار (از طریق x402) یا ۲.۰۰ دلار (از طریق کارت) شواهد شکست پرداخت را طبقهبندی میکند، هرچند بازیابی سیستم را تضمین نمیکند. همچنین کاربران میتوانند از بسته npm رایگان callx402 برای بررسی وضعیت محلی پیش از رفتن به سراغ تشخیصهای عمیقتر استفاده کنند. در مقابل، برخی شرکتها مانند Capsule26 با استفاده از لایههای SQL سعی کردهاند با ایجاد سیستمهای ثبت تراکنش دقیق، جلوی خطاهای مالی و شارژهای تکراری را بگیرند.
درس اصلی این حادثه آن است که «شواهد باید پیش از سرزنش باشند». وقتی یک ابزار و یک درگاه با هم اختلاف نظر دارند، اولین قدم همیشه باید تأیید صحت خودِ ابزار باشد.
گام بعدی شما
- اگر از ابزارهای نظارتی خودکار استفاده میکنید، بررسی کنید که آیا «خطای ناشناخته» را بهطور پیشفرض «شکست سیستم» تلقی میکنند یا خیر.
- در صورت دریافت گزارش خطا از ابزارهای Third-party، ابتدا صحت ابزار را با یک درخواست دستی (Manual Request) تأیید کنید.
- برای توسعهدهندگان x402، استفاده از ابزارهای محلی
callx402پیش از گزارش نقص به پلتفرمها توصیه میشود.
اما تأثیر این خطاهای کوچک بر اعتماد بازار به درگاههای پرداخت هوش مصنوعی بسیار عمیقتر است — به تحلیل ما دربارهی امنیت تراکنشهای Agentic مراجعه کنید.




گفتگو