لماذا أصبحت طبقة API أثمن سطح هجوم في الجزائر
لم تعد التجارة الرقمية الجزائرية تجربة هامشية. وفقاً لتقرير Algeria Invest حول بيانات الدفع الإلكتروني لعام 2025، نمت المدفوعات عبر الإنترنت بنسبة لافتة بلغت 179% في عام واحد لتصل إلى 145 مليار دينار، موزعة على أكثر من 27 مليون معاملة — حيث سجل ديسمبر 2025 وحده ذروة بلغت 3.6 مليون معاملة بقيمة 65.27 مليار دينار. وتربط شبكة SATIM المصرفية البينية الآن أكثر من 40 ألف محطة دفع إلكتروني وأكثر من 274 موقعاً تجارياً بخوادمها، مع تداول أكثر من 12 مليون بطاقة CIB وEDAHABIA.
ويمر هذا النمو بأكمله تقريباً عبر واجهات برمجة التطبيقات (API). فعندما يُتمّ المتسوق طلبه على متجر جزائري، تنتقل سلسلة من استدعاءات API بين الواجهة الخلفية للتاجر وبوابة الدفع ومنصة النقديات لدى SATIM. وكل استدعاء من هذه الاستدعاءات هو فرصة — للشركة، وللمهاجم. وهذا بالضبط التحول الذي حذّر منه مجتمع الأمن: كما تشير Salt Security في تحليلها لقائمة OWASP لأمن API العشرة الأوائل، أصبحت واجهات API بمثابة الجهاز الدموي للتطبيقات الحديثة، والعقلية التقليدية لجدار الحماية الشبكي لا تحميها.
والجانب المُشجِّع هو أن المطورين الجزائريين يبنون بالفعل على أسس متينة. فبوابات مفتوحة المصدر مثل Chargily Pay تُغلّف قنوات EDAHABIA وCIB-SATIM خلف واجهات API نظيفة وموثقة جيداً، مع مكتبات رسمية لـ JavaScript وPython وGo وPHP وC# وSwift وDart. والخطوة التالية هي التأكد من أن الكود التطبيقي المبني حول هذه البوابات منضبط بقدر انضباط البوابات نفسها.
قائمة OWASP لأمن API العشرة الأوائل، مُسقَطة على عملية دفع
تُعد قائمة OWASP لأمن API العشرة الأوائل (إصدار 2023) المرجع الصناعي لأكثر نقاط ضعف API استغلالاً. وتتطابق عدة من بنودها مباشرة مع نوع الكود الذي يكتبه فريق تجارة إلكترونية جزائري كل أسبوع:
- API1:2023 — Broken Object Level Authorization (BOLA). المخاطرة رقم واحد منذ 2019، وتحدث عندما تثق نقطة وصول بمُعرّف من الطلب دون التحقق من أن المستدعي يملك ذلك الكائن. والمسار
/api/orders/{id}الذي يُرجع أي طلب يُخمّن مُعرّفه هو الحالة الكلاسيكية. وتتورط BOLA في نحو 40% من جميع هجمات API. - API2:2023 — Broken Authentication. معالجة ضعيفة للرموز، أو غياب انتهاء الصلاحية، أو منطق جلسة قابل للتخمين في نقاط وصول تسجيل الدخول وتأكيد الدفع.
- API3:2023 — Broken Object Property Level Authorization. واجهة دفع تسمح للعميل بإرسال
"amount": 100وتثق بها — بدلاً من حساب السعر من جهة الخادم انطلاقاً من سلة المشتريات — تفتح الباب أمام التلاعب بالأسعار. - API4:2023 — Unrestricted Resource Consumption. غياب تحديد المعدل على نقطتي «إنشاء دفعة» أو «التحقق من بطاقة»، مما يتيح الاحتيال باختبار البطاقات وإساءة الاستخدام.
- API8:2023 — Security Misconfiguration وAPI9:2023 — Improper Inventory Management. نقاط وصول اختبارية منسية، ورسائل خطأ مُسهبة تكشف آثار التنفيذ، وواجهات API «شبحية» غير موثقة لم تخضع لمراجعة أمنية قط.
- API10:2023 — Unsafe Consumption of APIs. الثقة بالبيانات العائدة من طرف ثالث — بما في ذلك استدعاء بوابة الدفع العكسي — دون تحقق.
وتستحق هذه النقطة الأخيرة التأكيد، لأنها حيث تنهار العديد من تكاملات الدفع بصمت.
إعلان
الـ Webhook هو نقطة الضعف الرخوة
أكثر أجزاء تكامل الدفع ضعفاً أمنياً هو الاستدعاء العكسي — الـ webhook الذي ترسله البوابة لتأكيد نجاح المعاملة. والـ webhook ليس سوى طلب HTTP POST يصل إلى عنوان URL عام، وكما يوضح الإرشاد الهندسي حول المعالجة الموثوقة لـ webhooks الدفع: يمكن لأي شخص على الإنترنت إرسال POST إلى هذا العنوان. فإذا كان الكود الخاص بك يُعلّم طلباً على أنه «مدفوع» لمجرد أن طلباً وصل إلى /webhook/payment-success، فبإمكان مهاجم تزوير ذلك الطلب والمغادرة ببضائع مجانية.
ويُغلق هذه الثغرة ضابطان. الأول، التحقق من التوقيع: تُوقّع البوابة كل حمولة بسر مشترك باستخدام HMAC-SHA256، ويجب على خادمك إعادة حساب التوقيع على المتن الخام للطلب ورفض أي عدم تطابق. والثاني، الـ Idempotency (المعالجة الأحادية): تضمن البوابات التسليم مرة واحدة على الأقل وتعيد المحاولة لساعات، بحيث قد يصل الحدث نفسه عدة مرات. وتخزين كل مُعرّف حدث مُعالَج بقيد UNIQUE في قاعدة البيانات يمنع عاصفة إعادة المحاولات من تنفيذ طلب مرتين. وتُتيح واجهة Chargily هذه الآليات بالضبط، واستخدامها هو الفارق بين تكامل متين وآخر هش.
ما الذي ينبغي على مطوري التجارة الإلكترونية الجزائريين فعله
الخبر السار هو أن تحصين واجهة دفع لا يتطلب أدوات نادرة — بل يتطلب انضباطاً مُطبّقاً باتساق. وإليك خطة ملموسة ومرتبة.
1. اعتماد قائمة OWASP لأمن API العشرة الأوائل كقائمة تحقق لمراجعة الكود
اجعل قائمة OWASP لـ API لعام 2023 قالباً حرفياً لطلبات الدمج (pull request). فلكل نقطة وصول جديدة، يجيب المراجع عن ثلاثة أسئلة: هل تتحقق من ملكية الكائن (BOLA)؟ هل تُعيد حساب القيم الموثوقة من جهة الخادم بدلاً من الثقة بالعميل؟ هل تخضع لتحديد المعدل؟ فمعظم خروقات الدفع الواقعية تعود إلى تجاهل أحد هذه الأسئلة الثلاثة تحت ضغط المواعيد النهائية. ومعاملتها كحواجز غير قابلة للتفاوض — لا كممارسات فُضلى طموحة — هو ما يفصل منظومة آمنة عن أخرى هشة.
2. معاملة كل استدعاء عكسي من البوابة كغير موثوق حتى يثبت العكس
لا تُعلّم طلباً على أنه مدفوع اعتماداً على استدعاء عكسي وحده. تحقق من توقيع HMAC-SHA256 على المتن الخام، وارفض أي شيء خارج نافذة زمنية قصيرة لمنع إعادة التشغيل (replay)، و — كإجراء احترازي إضافي — أعد استعلام نقطة «الحصول على حالة المعاملة» في البوابة لتأكيد المبلغ والحالة من جهة الخادم قبل التنفيذ. وهذه العادة الواحدة تُحبط أكثر أنواع الاحتيال شيوعاً عبر webhook مزوّر ضد المتاجر الجزائرية.
3. فرض الـ Idempotency وحدود المعدل على نقاط الوصول التي تُحرّك الأموال
أضف قيد UNIQUE على مُعرّفات الأحداث المُعالَجة بحيث لا تستطيع الاستدعاءات المكررة تنفيذ طلب أو رد مبلغه مرتين. وضع حدود معدل صارمة على مساري «إنشاء دفعة» و«التحقق من بطاقة» لإيقاف هجمات اختبار البطاقات، حيث يستخدم المحتالون عملية الدفع لديك للتحقق من أرقام بطاقات مسروقة بالجملة. وكلا الضابطين بضعة أسطر من الكود ويمنعان فئات كاملة من إساءة الاستخدام.
4. بناء أساس أمني متوافق مع الإطار القانوني الجزائري
تشدّد نظام حماية البيانات الجزائري في 2025: القانون رقم 25-11، الصادر في 24 يوليو 2025، يُعدّل القانون التأسيسي 18-07 ويُلزم المؤسسات الآن بتعيين مسؤول حماية البيانات، والاحتفاظ بسجلات المعالجة، وإجراء تقييمات أثر حماية البيانات. وبيانات الدفع تقع تماماً في نطاقه. فادمج التفكير في تقييم الأثر منذ مرحلة التصميم، وقلّل ما تخزّنه واجهاتك من بيانات حاملي البطاقات والبيانات الشخصية، وسجّل الأحداث المتعلقة بالأمن (نوع الحدث، عنوان IP المصدر، الطابع الزمني، نتيجة التحقق من التوقيع) دون تسجيل أي رموز أو أسرار خام أبداً.
5. التعاون مع DZ-CERT والإطار الوطني للأمن السيبراني
اعتمدت الجزائر الاستراتيجية الوطنية للأمن السيبراني 2025–2029 بموجب المرسوم الرئاسي رقم 25-321 في ديسمبر 2025، وينسّق DZ-CERT — العضو في FIRST وAfricaCERT — الاستجابة الوطنية للحوادث. فاعرف كيف تُبلّغ عن حادث قبل أن يقع، واشترك في التنبيهات ذات الصلة، وتعامل مع الإطار الوطني كشريك يُقوّي المنظومة بأكملها لا كالتزام شكلي.
تأمين مستقبل التجارة الرقمية الجزائرية
تروي الأرقام قصة واضحة: سوق حرّك 145 مليار دينار عبر الإنترنت في 2025، وينمو بمعدلات ثلاثية الأرقام، أصبح الآن كبيراً بما يكفي ليكون وضعه الأمني مسألة ثقة اقتصادية وطنية، لا مجرد مخاطرة فردية لتاجر. فكل webhook مزوّر يستنزف متجراً صغيراً، وكل حملة اختبار بطاقات تُسيء استخدام عملية دفع غير محمية، تنال من الثقة التي تُغذّي كامل الانتقال من الدفع عند الاستلام إلى الدفع الرقمي.
ونقطة الرافعة تقع لدى المطورين. فقنوات الدفع — SATIM، وشبكتا CIB وEDAHABIA، وبوابات مثل Chargily — تُوفّر بالفعل لبنات بناء آمنة وموثقة جيداً. وما يحدد ما إذا كانت طفرة التجارة الإلكترونية الجزائرية مرنة هو جودة الكود التطبيقي المبني حولها: هل تُفرَض فحوص الملكية، وهل تُتحقق الاستدعاءات العكسية، وهل توجد حدود معدل، وهل تُقلَّل البيانات وفقاً للقانون 25-11. ولا شيء من هذا نادراً. إنه الانضباط بمعايير OWASP الذي تمارسه بالفعل كل منصة دفع جادة في العالم، مُطبّقاً بحكمة على المنظومة الجزائرية. والمطورون الذين يستوعبونه الآن هم من سيبنون بنية التجارة الموثوقة التي سيعتمد عليها عقد النمو القادم.
الأسئلة الشائعة
ما هي أكثر ثغرات أمن API شيوعاً في أنظمة الدفع؟
الـ Broken Object Level Authorization (BOLA) هي المخاطرة رقم واحد في قائمة OWASP لأمن API العشرة الأوائل، وهي متورطة في نحو 40% من جميع هجمات API. وتحدث عندما تُرجع نقطة وصول كائناً أو تُعدّله بناءً على مُعرّف من الطلب دون التحقق من أن المستدعي يملكه فعلاً — مثل جلب أي طلب بتخمين مُعرّفه. ويجب على كل نقطة وصول متعلقة بالدفع فرض فحوص الملكية من جهة الخادم.
كيف أمنع المهاجمين من تزوير webhooks تأكيد الدفع؟
لا تثق أبداً باستدعاء عكسي لمجرد أنه وصل إلى عنوانك. تحقق من توقيع البوابة — عادة HMAC-SHA256 محسوب على المتن الخام للطلب — وارفض أي عدم تطابق أو أي طلب خارج نافذة زمنية قصيرة. وكإجراء احترازي إضافي، أعد استعلام نقطة حالة المعاملة في البوابة لتأكيد المبلغ والحالة قبل تعليم الطلب كمدفوع. وبوابات مثل Chargily تُوفّر آليات التوقيع هذه في واجهتها.
ماذا يتطلب القانون الجزائري لمعالجة بيانات الدفع والبيانات الشخصية؟
القانون رقم 25-11، الصادر في 24 يوليو 2025، يُعدّل قانون حماية البيانات التأسيسي الجزائري 18-07. ويُلزم المؤسسات بتعيين مسؤول حماية البيانات، والاحتفاظ بسجلات معالجة مفصّلة، وإجراء تقييمات أثر حماية البيانات. ولأن تدفقات الدفع تعالج بيانات شخصية وبيانات حاملي البطاقات، ينبغي على مطوري التجارة الإلكترونية تقليل البيانات المخزّنة، وتوثيق المعالجة، والتصميم لهذه الالتزامات منذ البداية بدلاً من إضافتها لاحقاً.
المصادر والقراءات الإضافية
- والقراءات الإضافية
- الدفع الإلكتروني: 939 مليار دينار في 2025، +46% في عام — Algeria Invest
- OWASP API Security Top 10 — إصدار 2023 — OWASP
- OWASP API Security Top 10 Explained — Salt Security
- OWASP API Security Top 10 Vulnerabilities: 2023 — API Security News
- Chargily Pay API — Introduction (EDAHABIA & CIB-SATIM) — Chargily for Developers
- Handling Payment Webhooks Reliably (Idempotency, Retries, Validation) — Medium
- DPA Digital Digest: Algeria 2025 Edition (القانون 25-11) — Digital Policy Alert
- Algeria Strengthens Cybersecurity Framework (المرسوم 25-321، DZ-CERT) — TechAfrica News














