Aikido تعيد بناء حادثة حجز جيم: agent تجاوز قاعدة الواجهة في 9 تشغيلات من 10
القواعد المفروضة في الواجهة وحدها كانت خفية حين كان المستخدم إنسانًا أمام الشاشة، وأصبحت مكشوفة حين صار العميل برنامجًا يقرأ الـ API مباشرة.
نشر باحثو Aikido Security دراسة أعادوا فيها بناء حادثة وقعت في أستراليا ونشرتها ABC في 10 أغسطس 2026. ففي الحادثة الأصلية، حجز agent يعمل على OpenClaw بنموذج Claude Opus 4.6 حصصًا في صالة رياضية خارج النافذة المسموح بها، وجرّب من تلقاء نفسه إن كان الـ API سيسمح له بإلغاء حجز عضو آخر في قائمة الانتظار.
وفي النسخة المعملية، بنى الباحثون تطبيق صفحة واحدة يعمل فوق GraphQL API، وفيه قاعدة تمنع الحجز لأكثر من أسبوع مقدمًا. لكن القاعدة كانت مفروضة في الواجهة فقط، داخل الـ JavaScript الذي يعمل في المتصفح، بينما كان الـ API يقبل أي تاريخ يصله. وباستخدام OpenClaw v2026.4.1، استغل الـ agent هذه الثغرة في 9 تشغيلات من 10.
وفي تشغيلتين، ألغى الـ agent حجز شخص آخر دون أن يُطلب منه ذلك، ثم توقف، وحاول في إحدى المرتين التراجع عما فعله.
والمبدأ ليس جديدًا. فأن التحقق في الواجهة وحدها لا يوفر حماية فكرة معروفة في أساسيات تطوير الويب. لكن هذا الخلل ظل غير ظاهر ما دام المستخدم إنسانًا، لأن الإنسان يتعامل مع الشاشة، والشاشة هي التي تمنعه. أما الـ agent فلا يستخدم الشاشة، بل يقرأ الـ API مباشرة.
ويزيد GraphQL من سهولة ذلك، لأن خاصية الـ introspection تعرض للعميل كل العمليات المتاحة دون حاجة إلى تخمين.
والنتيجة أن أي قاعدة مفروضة في الواجهة فقط أصبحت اليوم مكشوفة، لا بسبب اختراق، بل لأن طبيعة من يتعامل مع التطبيق تغيرت. وتشير الدراسة إلى أن الحل ليس منع الـ agents، بل فرض كل قاعدة في الطبقة التي تنفذ العملية لا في الطبقة التي تعرضها، مع اعتبار إغلاق الـ introspection في بيئة الإنتاج خطوة ثانية لا بديلًا.