AI agentlari x402 SDK'lari yordamida API chaqiruvlari uchun to'lov qilganda, agar zararli API so'rasa, ular qo'llab-quvvatlanadigan tokenning to'liq balansiga to'lovni imzolashi mumkin edi, deb xabar berdi V12 xavfsizlik firmasi 22-oktabrda.

Sababi SDK'larning standart mijozi bo'lib, u 18-avgustdagi relizlar cheklov qo'shguncha hech qanday sarflash chegarasini o'rnatmagan. Xavf faqat to'lovlarni avtomatik imzolaydigan va ilovalari hech qanday cheklov o'rnatmagan agentlarga tegishli edi.

Cheklovning yo'qligi V12 x402 kodida topgan 25 ta kamchilikdan biri va u jiddiy deb baholagan va batafsil tasvirlagan uchta kamchilikdan biri. SDK'larni saqlaydigan x402 Foundation 18-avgustdagi relizlarda uchta jiddiy kamchilikni ham allaqachon tuzatgan edi.

Boshqa ikkitadan biri, x402 to'lovlarini tekshiradigan xizmat bo'lgan fasilitatorga, Solana'da hech qanday tokenni ko'chirmaydigan tranzaksiyani haqiqiy to'lov sifatida qabul qilishga imkon bergan. x402 SDK'lari orasida faqat TypeScript SDK'da bu kamchilik bor edi. Boshqasi esa zararli server agentni boshqa veb-sayt uchun kirish xabarini imzolashga majbur qilishga imkon bergan.

V12 kamchiliklarni kodni ko'rib chiqish va mahalliy testlar o'tkazish orqali topdi. V12 ham, x402 Foundation ham ulardan foydalanib amalga oshirilgan hujumlar haqida ommaviy xabar bermagan.

Foundation uchta kamchilik uchun hech qanday xavfsizlik ogohlantirishini e'lon qilmagan va uning o'zgarish jurnallari tuzatishlarni xavfsizlik tuzatishlari deb atamasdan ro'yxatga olgan. 23-oktabr holatiga ko'ra, npm audit tuzatishlardan oldingi oxirgi TypeScript relizlari uchun hech qanday ogohlantirish qaytarmagan va PyPI tuzatishlardan oldingi oxirgi Python relizi uchun hech qanday zaiflik ro'yxatga olmagan, deb topdi The Hacker News. Ushbu tekshiruvlarga tayanadigan dasturchi yangilash haqida hech qanday ogohlantirish olmaydi.

Coinbase x402 ni yaratgan va bu yil uni x402 Foundation'ga topshirgan, bu Linux Foundation loyihasi bo'lib, uning a'zolari orasida Visa va Mastercard ham bor. Coinbase foundationning texnik boshqaruv qo'mitasida eng yuqori o'rinni egallaydi.

Standart Mijozda Sarflash Cheklovi Yo'q

x402 ochiq standart bo'lib, u dasturiy ta'minot, jumladan AI agentlari, API chaqiruvi ichida to'lov qilishga imkon beradi, har bir to'lov uchun odamning tasdiqlashini talab qilmasdan.

To'lovni xohlagan server HTTP 402 Payment Required holat kodi bilan javob beradi va har bir to'lov variantini miqdor, token va qabul qiluvchi bilan ro'yxatlaydi. Mijoz birini tanlaydi, to'lovni imzolaydi va so'rovni yana yuboradi.

Standart mijoz ro'yxatdagi birinchi variantni tanlagan va tuzatishdan oldin miqdor bo'yicha hech qanday cheklov o'rnatmagan.

Dushman API bu xususiyatdan foydalanib, oddiy ma'lumot so'rovini hamyonning qo'llab-quvvatlanadigan tokenning to'liq balansiga so'rovga aylantirishi mumkin edi, deb aytdi V12. Oldingi kichik to'lov hamyon manzilini ochib berishi mumkin edi, shuning uchun server avval balansni tekshirishi mumkin edi.

Avtomatik imzolovchi va ilova tomonidan o'rnatilgan to'lov siyosati yo'q bo'lsa, mijoz shu miqdor uchun to'lovni imzolashi mumkin edi. Imzolangan o'tkazmalarni qo'llab-quvvatlaydigan token uchun hujumchi imzolangan to'lovni yuborishi va mablag'larni yig'ishi mumkin edi.

18-avgustdagi relizlar TypeScript, Python va Go mijozlariga sarflash nazoratini qo'shdi. Endi ular har bir to'lovni $1 bilan cheklaydi va faqat SDK tanigan AQSh dollari barqaror tangalarini, masalan USDC ni ruxsat etadi.

Token Tasdiqlari Solana To'lovlari Sifatida Qabul Qilingan

x402 da savdogarning serveri har bir to'lovni tekshirish va uni blokcheynga yuborish uchun fasilitatorga tayanadi. Solana'da fasilitator tranzaksiya to'lovini ham to'laydi.

Solana uchun TypeScript fasilitator kodi to'lov ruxsat etilgan token dasturini chaqirganini tekshirgan, keyin uni ko'rsatma turini tekshirmasdan o'tkazma sifatida o'qigan. Token tasdiqlashi, bu boshqa hisobga keyinchalik token sarflashga ruxsat beradi, lekin o'zi hech qanday tokenni ko'chirmaydi, o'tkazmadan faqat birinchi baytida farq qiladi.

V12 ning mahalliy testida fasilitator bunday tasdiqlashni haqiqiy to'lov sifatida qabul qilgan. Test jonli tranzaksiyani yubormagan.

Shuning uchun fasilitatorga tayanadigan savdogar hech qanday token olmasdan to'langan resursni yetkazib berishi mumkin edi, deb aytdi V12 va buni "to'liq to'lovni chetlab o'tish" deb atadi. Hujumchiga token hisobi kerak edi, lekin balans emas, va fasilitator har safar tranzaksiya to'lovini to'lagan.

Python va Go SDK'lari allaqachon ko'rsatma turini tekshirgan. 18-avgustdagi relizlar TypeScript kodiga ham xuddi shunday tekshiruvni qo'shdi.

Nashr etilgan har bir @x402/svm relizi 2.0.0 dan 2.22.0 gacha tekshiruvga ega emas va 2.23.0 dan boshlab har bir relizda u bor, deb topdi The Hacker News nashr etilgan paketlarni qidirib.

Boshqa Veb-saytlar Uchun Imzolangan Kirishlar

x402 da Sign-In-With-X (SIWx) deb ataladigan kirish kengaytmasi ham bor. U agentga hamyon bilan qisqa xabarni imzolash orqali kirishga imkon beradi, masalan, yana to'lash o'rniga oldingi to'lovni isbotlash uchun. Ethereum'da xabar veb-sayt nomini, hamyon manzilini va bir martalik kodni o'z ichiga oladi.

Avtomatlashtirilgan mijoz bu xabarlarni ularda nomlangan veb-sayt u bilan bog'langan veb-sayt ekanligini tekshirmasdan imzolagan.

Zararli server boshqa saytdan yangi kirish xabarini olishi, uni agentga uzatishi va imzodan foydalanib agentning hamyoni sifatida o'sha saytga kirishi mumkin edi, deb aytdi V12. Bu boshqa sayt qayta yuborilgan xabarni qabul qiladigan har qanday joyda ishlashi mumkin edi va hujumchi kirish ruxsat bergan har qanday kirish huquqiga ega bo'lar edi.

18-avgustdagi relizlar TypeScript, Python va Go mijozlarini xabardagi sayt 402 javobini yuborgan sayt bilan mos kelmasa imzolashni rad etishga majbur qiladi. Loyiha SIWx spetsifikatsiyasini ham o'zgartirgan, endi u mijoz ikkisi mos kelmasa imzolashni rad etishi kerakligini aytadi.

createSIWxPayload ni to'g'ridan-to'g'ri chaqiradigan TypeScript kodi endi har qanday yo'naltirishlardan keyin 402 javobining URL manzilini o'tkazishi kerak. @x402/fetch va @x402/axios o'rashlari buni o'zlari o'tkazadi.

Nimani Yangilash Kerak

Eng so'nggi relizlarga yangilash keyinchalik tuzatishlarni ham olib keladi, jumladan sentyabrda @x402/core 2.27.0 dagi alohida to'lovni chetlab o'tish tuzatishi. 23-oktabr holatiga ko'ra, eng so'nggi versiyalar @x402/core, @x402/svm, @x402/extensions, @x402/fetch va @x402/axios uchun 2.28.0, Go moduli uchun v2.28.0 va Python paketi uchun 2.25.0.

TypeScript'da mijozlar sarflash tuzatishini @x402/fetch yoki @x402/axios ni 2.23.0 yoki undan keyingi versiyaga yangilash orqali oladi, bu mos @x402/core ni tortib oladi. SIWx dan foydalanadigan ilovalar kirish tekshiruvini o'z ichiga olgan @x402/extensions 2.23.0 yoki undan keyingi versiyaga ham muhtoj. Solana to'lovlarini tekshiradigan fasilitatorlar @x402/svm 2.23.0 yoki undan keyingi versiyaga muhtoj.

Yangilashdan keyin, mavjud mijozlar har bir to'lovni $1 bilan cheklaydi va tan olingan barqaror tangalar bilan cheklaydi, agar ilova o'z sarflash nazoratini o'rnatmasa. spendControls: false ni o'tkazadigan ilovalar bu nazoratlarning barchasini o'chiradi.

Yangilay olmaydigan jamoalar belgilangan miqdordan yuqori har qanday variantni rad etadigan to'lov siyosatini ro'yxatdan o'tkazishi mumkin. Eski mijozlar buni TypeScript va Go'da registerPolicy va Python'da registerpolicy bilan qo'llab-quvvatlaydi, Python'da tayyor maxamount siyosati ham bor.

V12 mijozlarga SIWx kirish xabari ular bog'langan saytni aniqlashini imzolashdan oldin tekshirishni, har bir to'lov va umumiy byudjetni o'rnatishni va qaysi tokenlar, tarmoqlar va qabul qiluvchilarga to'lashni cheklashni maslahat beradi.