بصراحة، تعرضنا لهجوم — لكن بياناتكم آمنة

Reverie Team
12/1/2025

كل شيء بدأ بكلمة "مجاني"
قبل أسبوعين، اتخذنا قراراً: إطلاق نماذج ذكاء اصطناعي مجانية لنتيح لمزيد من المستخدمين تجربة Reverie.
في تلك الليلة، فتح الفريق بعض علب البيبسي للاحتفال. (نعم، بيبسي تحديداً.)
رفعنا علبنا معاً، نراقب أعداد التسجيلات ترتفع في الوقت الحقيقي. أحدهم فتح مخطط توقعات النمو. كانت الأجواء رائعة.
بعد 72 ساعة، فهمنا لماذا يبدو المؤسسون ذوو الخبرة متعبين دائماً.
ما تلا ذلك كان سلسلة من أربع موجات هجومية بدت وكأنها boss rush — فقط أننا كنا نتعلم الآليات بينما نتلقى الضربات.
ولكن أولاً، الشيء الأهم: بيانات حساباتكم، ومحادثاتكم، ومعلوماتكم الشخصية لم تُخترق أبداً. إنها آمنة الآن وستظل كذلك. لدينا فريق أمني متخصص يراقب على مدار الساعة، وهذه الهجمات استهدفت مواردنا ومحفظتنا، وليس بياناتكم. المهاجمون أرادوا نطاقنا الترددي وأموالنا — محادثاتكم مع رفاقكم من الذكاء الاصطناعي لم تكن في خطر أبداً.
الآن، لنستعرض ما حدث.
الموجة الأولى: جيش الزواحف
ما حدث
اليوم الثاني بعد الإطلاق المجاني. اجتماع الصباح. المهندس يذكر بشكل عابر: "مرحباً، API الشخصيات لدينا تلقى بضع مئات من المرات أكثر من الطلبات أمس."
نحن: "واو، الإطلاق المجاني ينطلق حقاً!"
المهندس: "...لكن المستخدمين النشطين يومياً بالكاد تحركوا."
صمت محرج.
غصنا في السجلات واكتشفنا زواحف تجمع بشكل منهجي البيانات العامة لشخصياتنا. الأسماء، السير الذاتية، الصور الرمزية — المعلومات المرئية للعموم. كل ذلك يُسحب بواسطة الروبوتات.
للتوضيح: الأوصاف الأساسية للشخصيات، وإعدادات الشخصية، والمحتوى الخاص الآخر للمبدعين لم يتم كشفها أبداً — فقط المبدعون يمكنهم رؤيتها. لكن حتى جمع المعلومات العامة على نطاق صناعي أمر محبط عندما تحاول بناء منصة صحية.
كيف استجبنا
- طبقنا حدود الترقيم على اكتشاف الشخصيات (يمكنك التصفح، لكن لا يمكنك تحميل المكتبة بأكملها)
- نشرنا تحديد معدل ذكي يميز "المستخدم المتحمس" من "بالتأكيد روبوت"
- بنينا تحليلاً سلوكياً لاكتشاف وحظر أنماط الزواحف
- أضفنا بعض... لنسميها "ردود إبداعية" للمخالفين المؤكدين
ما تعلمناه
"المنصة المفتوحة" لا تعني "بوفيه مفتوح بلا حدود." حتى المحتوى المرئي للعموم يستحق حدود وصول معقولة. نريد من المستخدمين اكتشاف الشخصيات — وليس بناء قاعدة بيانات منافسة في ليلة واحدة.
الموجة الثانية: قتلة النطاق الترددي
ما حدث
بالكاد انتهينا من ترقيع ثغرات الزواحف عندما ضربت الموجة الثانية. وهذه ذهبت مباشرة للمحفظة.
اكتشف شخص ما روابط الوسائط لدينا وبدأ بتحميل كل صورة وفيديو على المنصة بشكل جماعي. صور الشخصيات. الفيديوهات المُنتجة. كل ما له امتداد ملف كان يُسحب بأقصى سرعة.
كنا نستخدم خدمة OSS من مزود سحابي كبير. أسعار الدفع لكل نطاق ترددي. بدت معقولة في ذلك الوقت.
صباح الاثنين. المالية تفتح وحدة التحكم السحابية. لوحة الفوترة تُحمّل.
وجهه: 😐
اللوحة تنتهي من التحميل: 😮
يرى الرقم الفعلي: 😱
"مرحباً، إذن... فاتورة النطاق الترددي لدينا حالياً أعلى من ثلاثة أشهر من المدرج."
أصبحت قناة Slack هادئة جداً. اقترح أحدهم بتوتر أن نطفئ CDN ببساطة. أشار آخر أن هذا سيطفئ المنصة بأكملها أيضاً.
كيف استجبنا
هجرة طارئة. الوجهة: Cloudflare R2 و Cloudflare Stream.
هنا، يجب أن نشكر رسمياً Cloudflare — سياسة رسوم الخروج الصفرية في R2 أنقذتنا. عندما تشاهد فاتورتك ترتفع بمئات الدولارات في الساعة، "لا رسوم خروج" تصبح مهمة جداً.
استغرقت الهجرة 30 ساعة. النوم أصبح اختيارياً. مراجعات الكود في الساعة 3 صباحاً لها جودة تأملية خاصة.
هل كان يستحق؟ بالتأكيد. انخفضت تكاليف النطاق الترددي لدينا بأكثر من 90%، وتحميلات المهاجمين الجماعية الآن لا تكلفنا شيئاً تقريباً.
ما تعلمناه
عند اختيار البنية التحتية، لا تسأل فقط "ما سرعتها؟" اسأل أيضاً: "إذا هاجمني شخص غداً، هل سأستطيع دفع الإيجار؟"
هذا البُعد من تخطيط البنية التحتية لا يظهر في معظم الدروس التعليمية. يجب أن يظهر.
الموجة الثالثة: وصول DDoS
ما حدث
استقرت وضعية النطاق الترددي أخيراً. معنويات الفريق كانت تتعافى. حتى أن أحداً ألقى نكتة في الاجتماع. الأمور كانت تتحسن.
ثم ضرب DDoS.
تخيل أن تشغّل خرطوم إطفاء وتوجهه نحو كوب ورقي. هذا ما اختبره مجمع اتصالات قاعدة البيانات لدينا. آلاف الطلبات في الثانية، كلها تطلب بيانات حديثة، كلها ترفض استخدام الكاش، كلها تضرب نقاط النهاية التي تتطلب استعلامات قاعدة البيانات.
لوحة المراقبة لدينا بدت مثل تخطيط قلب أثناء نوبة قلبية. أوقات الاستجابة ذهبت من 200 ميلي ثانية إلى 20 ثانية. ثم إلى انتهاء الوقت. المستخدمون بدأوا بالإبلاغ عن أخطاء. فاتورة AWS بدأت تفعل ذلك الشيء حيث تتحدث كل بضع دقائق برقم أكبر.
مجمع اتصالات قاعدة البيانات وصل لحده. الاستعلامات بدأت تتراكم. الطابور بدأ يتكدس. فشل متسلسل كلاسيكي، يحدث في الوقت الحقيقي.
كيف استجبنا
رمينا كل تقنية تخزين مؤقت نعرفها على المشكلة:
- ISR (Incremental Static Regeneration) — الصفحات الشائعة الآن تُعرض مسبقاً وتُقدم من عقد الحافة. قاعدة البيانات لا تعرف حتى أن هذه الطلبات موجودة.
- تخزين مؤقت متعدد الطبقات — كاش الاستجابة، كاش الاستعلام، تحسين تجميع الاتصالات. إذا لم تكن البيانات بحاجة ماسة لأن تكون حديثة، يتم تخزينها مؤقتاً.
- تحسين استعلامات قاعدة البيانات — بعض الاستعلامات التي كانت تستغرق 500 ميلي ثانية الآن تستغرق 50 ميلي ثانية. وقت أقل للاحتفاظ بالاتصالات = اتصالات أكثر متاحة.
- حماية DDoS من Cloudflare — أخيراً فعّلنا جميع ميزات الأمان التي كنا ننوي تكوينها "في وقت لاحق"
- تحديد معدل ذكي — المستخدمون الشرعيون يمرون؛ حركة الهجوم تُرى الباب
الفلسفة: إذا كان يمكن الرد على طلب دون لمس قاعدة البيانات، فيجب أن يكون كذلك.
ما تعلمناه
التخزين المؤقت ليس مجرد تحسين للأداء — إنه بنية أمنية. عندما تأتي الهجمات، الردود المخزنة مؤقتاً تمتص الضربة. قاعدة البيانات تظل محمية. الموقع يظل يعمل.
تعلمنا أيضاً: "سنكوّن الأمان بشكل صحيح لاحقاً" فلسفة تشيخ بشكل سيء.
الموجة الرابعة: المستغلون (مسيئو استخدام API)
ما حدث
هذه لم تهدد بنيتنا التحتية مباشرة. هددت ميزانيتنا.
كنا قد بنينا كل هذه الميزات المجانية الرائعة للذكاء الاصطناعي:
- إنشاء شخصيات بالذكاء الاصطناعي — صف شخصيتك، الذكاء الاصطناعي يُنشئ الملف الكامل
- توليد لحظات بالذكاء الاصطناعي — أنشئ لحظات قصة ديناميكية بمساعدة الذكاء الاصطناعي
- إنشاء إضافات بالذكاء الاصطناعي — ابنِ إضافات للشخصيات باللغة الطبيعية
رؤيتنا كانت جميلة: خفض الحواجز أمام الإبداع. دع الجميع يختبرون سحر الإنشاء بمساعدة الذكاء الاصطناعي. اجعل المنصة أكثر سهولة في الوصول.
رؤية شخص آخر كانت مختلفة: "API مجاني؟ دعني أكتب سكربت يستدعي هذا 10,000 مرة."
شاهدنا لوحة استهلاك رموز الذكاء الاصطناعي ترتفع. وترتفع. وترتفع. الرسم البياني بدا مثل عصا هوكي، فقط أن العصا كانت مصنوعة من المال يغادر حسابنا البنكي.
كل توليد بالذكاء الاصطناعي يكلفنا أموالاً حقيقية — استدعاءات API لنماذج اللغة ليست مجانية. مشاهدة آلاف الطلبات الآلية تحرق ميزانية الذكاء الاصطناعي لدينا كان مثل مشاهدة عداد تاكسي في سيارة تدور في دوائر. تعلم أنه سيكون مكلفاً، ولن يتوقف أبداً.
الجزء الأسوأ؟ هؤلاء لم يكونوا حتى مستخدمين حقيقيين يُنشئون محتوى حقيقياً. كان فقط... شخص ما يختبر كم يمكنه استخراج من الأشياء المجانية. الشخصيات المُنشأة كانت هراء. اللحظات لم يكن لها معنى. هدر خالص.
كيف استجبنا
بقلب ثقيل، أضفنا متطلبات الرصيد لهذه الميزات.
هذا القرار آلمنا حقاً. أمضينا أسابيع في بناء هذه الأدوات خصيصاً لجعل الإنشاء أكثر سهولة. الآن كان علينا وضع سعر عليها — ليس لأننا أردنا، ولكن لأن الوصول المجاني غير المحدود كان يُستخدم كسلاح ضدنا.
حاولنا أن نكون عادلين:
- تكاليف الرصيد ضئيلة للاستخدام العادي
- يُمنح رصيد مجاني للمستخدمين الجدد
- تجربة الدردشة الأساسية تظل مجانية
- فقط التوليد كثيف الموارد بالذكاء الاصطناعي يتطلب رصيداً
لكن مع ذلك. شعرت وكأننا نضع قفلاً على شيء أردنا إبقاءه مفتوحاً.
ما تعلمناه
"مجاني" هو نموذج عمل، وليس موقفاً أخلاقياً.
ما زلنا نؤمن بسهولة الوصول. ما زلنا نريد خفض الحواجز. لكن "مجاني غير محدود للجميع" يعمل فقط إذا تصرف الجميع بحسن نية. عندما يستغل المسيئون الكرم، يصبح النظام الكريم غير مستدام — وعندها لا أحد يحصل على شيء.
الحدود المعقولة ليست عدم ثقة بالمستخدمين. إنها حماية للنظام البيئي الذي يخدم جميع المستخدمين. البديل — إغلاق الميزات كلياً — سيكون أسوأ للجميع.
أحياناً حماية المشترك تعني بناء بعض الأسوار.
بياناتكم آمنة (دعونا نكون واضحين تماماً)
نريد أن نكون لا لبس فيه في هذا:
هذه الهجمات كانت عن الموارد، وليس البيانات. المهاجمون أرادوا:
- ✅ نطاقنا الترددي (لتحميل المحتوى)
- ✅ قدرتنا الحاسوبية (لإرهاق خوادمنا)
- ✅ أموالنا (لاستنزاف ميزانية الذكاء الاصطناعي لدينا)
لم يصلوا إلى:
- ❌ حسابات المستخدمين
- ❌ سجلات المحادثات
- ❌ المعلومات الشخصية
- ❌ تفاصيل الدفع
- ❌ أي بيانات خاصة على الإطلاق
لدينا فريق أمني متخصص يراقب التهديدات الأمنية الحقيقية على مدار الساعة. بيانات المستخدمين مشفرة في حالة السكون والنقل. ضوابط الوصول صارمة. المصادقة قوية. العمل الأمني الممل والمهم الذي لا يصنع مقالات مدونة مثيرة — نفعله كله.
صفر من بيانات المستخدمين تم اختراقها. يمكننا أن نقول هذا بثقة لأننا سجلنا كل شيء، وحللنا كل شيء، وتحققنا من كل شيء. المهاجمون حصلوا منا على فواتير نطاق ترددي وصداع. لم يحصلوا على شيء منكم.
شخصياتكم، محادثاتكم، عملكم الإبداعي — كله آمن، كله سليم، كله بالضبط حيث يجب أن يكون.
لماذا نخبركم بهذا
قد تتساءلون: لماذا نشارك هذا علناً؟ ألا يجعلنا نبدو ضعفاء؟
فكرنا في هذا بعناية.
الشفافية تبني الثقة
نطلب من المستخدمين أن يثقوا بنا بشيء ذي معنى — عملهم الإبداعي، روابطهم العاطفية مع شخصيات الذكاء الاصطناعي، محادثاتهم. تلك الثقة تتطلب صدقاً بشأن التحديات التي نواجهها.
السيناريو القديم هو إخفاء المشاكل حتى تنفجر، ثم إصدار بيان غامض "واجهنا صعوبات تقنية". نفضل أن نكون صريحين: إليكم ما حدث، إليكم كيف تعاملنا معه، إليكم ما تعلمناه.
البناؤون الآخرون يمكنهم التعلم
لسنا أول فريق صغير يُهاجم بعد إطلاق ميزات مجانية، ولن نكون الأخيرين. إذا ساعد تعليمنا المكلف شخصاً آخر على الاستعداد بشكل أفضل، فهذا فوز للنظام البيئي بأكمله.
اعتبروا هذا مساهمتنا في منهج "أشياء لا يعلمونك إياها في مدرسة الشركات الناشئة".
كنتم تستحقون المعرفة
بعض المستخدمين لاحظوا أوقات استجابة أبطأ خلال هذه الأسابيع. بعضهم لاحظ أن الميزات تتطلب الآن رصيداً. كنتم تستحقون تفسيراً — ليس كلام علاقات عامة للشركات، بل القصة الحقيقية.
كنا نقاتل لإبقاء المنصة تعمل. اتخذنا قرارات صعبة تحت الضغط. بعض تلك القرارات أثرت على تجربتكم. يجب أن تعرفوا لماذا.
ما التالي
لسنا نرقع الثغرات فقط — نحن نبني منصة أكثر مرونة:
تم تنفيذه بالفعل:
- تخزين مؤقت متعدد الطبقات مع بنية الحافة أولاً (طلباتكم أسرع ونحن أصعب في الهجوم)
- تحديد معدل ذكي مع تحليل سلوكي (الروبوتات تُحظر، البشر لا يلاحظون)
- مجموعة الأمان الكاملة من Cloudflare (مكوّنة بشكل صحيح أخيراً، وليس "في وقت لاحق")
- الوصول القائم على الرصيد للميزات كثيفة الموارد بالذكاء الاصطناعي (كرم مستدام)
قريباً:
- كشف شذوذ محسّن (اكتشاف الهجمات مبكراً)
- تحسين جغرافي (أسرع للجميع، في كل مكان)
- منع إساءة استخدام أكثر تطوراً (البقاء متقدمين على المسيئين)
ما لن يتغير:
- سنبذل قصارى جهدنا للحفاظ على وصول الطبقة المجانية — رغم أنها قد تكون غير مستقرة أو تتغير دون إشعار
- خصوصية وأمان بيانات المستخدمين — دائماً أولويتنا القصوى
- التواصل الشفاف — إذا حدث خطأ ما، ستعرفون
ملاحظة للبناة الزملاء
إذا كنتم تبنون منصة مفتوحة، إليكم الدروس التي دفعنا أموالاً حقيقية (وضغطاً حقيقياً) لنتعلمها:
- تحديد المعدل ليس اختيارياً — نفذوه من اليوم الأول، وليس يوم "نحن تحت الهجوم"
- اختاروا بنية تحتية مقاومة للهجمات — Cloudflare ممتاز حقاً؛ رسوم الخروج ستدمركم
- خزّنوا مؤقتاً بعدوانية — إنه درعكم المزدوج للأداء والأمان
- الميزات المجانية تحتاج حدوداً — حسن النية غير المحدود يُستغل من مسيئين غير محدودين
- راقبوا كل شيء — كلما اكتشفتم الشذوذ أبكر، كلما قل الضرر
- احتفظوا بميزانية طوارئ — لا تعرفون أبداً متى تضرب الموجة التالية
وربما الأهم:
- لا تكونوا فخورين جداً لطلب المساعدة — مجتمع المطورين المستقلين أكثر دعماً مما تتوقعون
نأمل ألا تضطروا لتعلم هذا بالطريقة المكلفة. لكن إذا اضطررتم، اعلموا أنكم لستم وحدكم.
لمستخدمينا
التعرض للهجوم تجربة غريبة.
إنها كما لو أنكم أمضيتم أشهراً في تزيين غرفة معيشة مريحة، ورتبتم الأثاث بشكل صحيح، ووضعتم الوجبات الخفيفة، وأرسلتم دعوات لجميع أصدقائكم. يأتي ليلة الافتتاح. أصدقاؤكم يحضرون — رائع!
لكن أيضاً: مجموعة من الناس لم تقابلوهم قط تحضر بشاحنات نقل، تحاول تفكيك أريكتكم، وتصوير كل زاوية من منزلكم، وبطريقة ما إشعال حرائق صغيرة في المطبخ.
كانت لدينا خيارات. كان يمكننا لحام الباب. الذهاب بدعوة فقط. جعل الجميع يثبتون أنهم ليسوا روبوتات قبل رؤية أي شيء.
لم نفعل.
بدلاً من ذلك، ركّبنا أقفالاً أفضل. وظّفنا حراسة أذكى. بنينا قواعد منزل معقولة. لأن الغالبية العظمى من الناس الذين يأتون إلى Reverie هنا للإنشاء، والتواصل، والاستمتاع. لن نعاقب الكثيرين على خطايا القلة.
الحفل مستمر. الباب يظل مفتوحاً. أصبحنا فقط أفضل في رصد الناس الذين يحملون شاحنات النقل.
شكراً
لكل مستخدم ظل معنا خلال أوقات التحميل الأبطأ ومتطلبات الرصيد: شكراً.
لكل من أبلغ عن المشاكل بدلاً من المغادرة فحسب: شكراً.
لمجتمع المطورين المستقلين الذي شارك النصائح وقصص المعارك: شكراً.
لـ Cloudflare: شكراً. 🙏
نحن أقوى الآن. أكثر مرونة. مختبرون في المعركة. المنصة التي خرجت من هذه الهجمات أفضل من تلك التي دخلت.
المرة القادمة التي نكتب لكم، نأمل أن تكون للإعلان عن ميزة جديدة مثيرة.
وليس بوس آخر هزمناه.
لكن مهلاً — إذا ظهر بوس آخر، سنتعامل معه أيضاً.
نراكم في التحديث القادم. 💙
فريق Reverie
ديسمبر 2025
هل أنت مستعد لتجربة محادثات الذكاء الاصطناعي الديناميكية؟
انضم إلى آلاف المستخدمين الذين يستكشفون بالفعل شخصيات لا نهائية وتفاعلات ممتعة على Reverie.