تسربت متغيرات البيئة
تسربت متغيرات البيئة

خرق Vercel ولماذا لا نراهن بالأسرار «غير الحساسة»

تم ضرب Vercel، وكانت النقطة المحورية هي أداة الذكاء الاصطناعي التابعة لجهة خارجية. هذا هو السبب في أن بروتوكولات الأمان الصارمة لشركة Sweent كانت ستحافظ على سلامة عملائنا بينما كان الآخرون يقومون بتدوير المفاتيح في حالة من الذعر.

تم كتابته بواسطة Julian Tejera
تم النشر في April 29, 2026
7 قراءة دقيقة

استيقظنا على خبر إصابة Vercel. إذا كنت تعمل في عالم تطوير الويب، فهذا يشبه سماع القبو الرئيسي في البنك الذي تم اختياره للتو. Vercel ليست عملية هواة؛ إنها العمود الفقري لملايين المواقع، بما في ذلك النظام البيئي Next.js. ولكن حتى العمالقة يمكن أن يتعثروا عندما تبدأ الراحة في الفوز في لعبة شد الحبل ضد الأمن.

لم يبدأ الاختراق بضربة مباشرة على خوادم Vercel. لقد بدأ الأمر باستخدام أداة AI تابعة لجهة خارجية تسمى Context.ai. قام أحد موظفي Vercel بتوصيله بـ Google Workspace الخاص به عبر OAuth. قام المهاجمون بضرب Context.ai، ونقلوا اتصال OAuth هذا إلى حساب Google الخاص بالموظف، ومن هناك، كانت لديهم خريطة للمملكة الداخلية. إنه محور كلاسيكي لسلسلة التوريد، وهو فوضوي.

ولكن هذا هو الجزء الذي يقودنا حقًا إلى Sweent: تمكن المهاجمون من قراءة متغيرات البيئة التي لم يتم تصنيفها على أنها «حساسة». يحتوي Vercel على نظام حيث يمكن للمطورين اختيار ما إذا كان المتغير حساسًا أم لا. إذا لم تحدد هذا المربع، فسيتم تخزين هذه الأسرار بطريقة تجعلها قابلة للقراءة إذا دخل المهاجم إلى الداخل. في Sweent، ننظر إلى اختيار التصميم هذا ونرى خطرًا كبيرًا وغير ضروري. لا نؤمن بمنح المطورين خيار أن يكونوا أقل أمانًا من أجل الراحة.

مغالطة السر «غير الحساس»

في لوحة معلومات Vercel، هناك فرق بين متغيرات البيئة الحساسة وغير الحساسة. الفكرة هي أن بعض الأشياء، مثل مفتاح API العام أو سلسلة التكوين غير الحرجة، لا تحتاج إلى التشفير عالي المستوى الذي تحتاجه كلمة مرور قاعدة البيانات. ولكن من الناحية العملية؟ المطورون مشغولون. لديهم رمز الشحن في الساعة 2:00 صباحًا. إنهم يسلكون الطريق الأقل مقاومة. إذا لم يكن الإعداد الافتراضي هو «الحد الأقصى للأمان»، فسوف تتسرب الأسرار. لا يتعلق الأمر بما إذا كان الأمر يتعلق بما إذا كان الأمر كذلك، ولكن متى.

لقد رأينا هذا يحدث عبر عشرات المشاريع قبل أن تأتي إلينا. يعتقد المطور أن رمزًا معينًا يمثل «مخاطرة منخفضة»، لذلك لا يكلف نفسه عناء طبقة الحماية الإضافية. ثم يحدث الاختراق، ويصبح هذا الرمز المميز «منخفض المخاطر» النقطة المحورية للاستيلاء الكامل على النظام.

في Sweent، بروتوكولنا بسيط: لا يوجد شيء اسمه متغير بيئة غير حساس. إذا كان متغيرًا موجودًا في ملف «.env» أو خط أنابيب CI/CD، فسيتم التعامل معه على أنه سر حاسم. الفترة. نحن لا نقدم مفتاح «الراحة» الذي يترك المفاتيح خالية. من خلال فرض سياسة صارمة حيث يتم تشفير كل متغير وتقييده، فإننا نتخلص من الخطأ البشري الذي أدى إلى تسرب البيانات في حادثة Vercel. إذا تمكن أحد المهاجمين من الدخول إلى إحدى بيئاتنا أثناء اختراق مماثل، فسيكون قد وجد جدارًا من البيانات المشفرة التي لا يمكنه قراءتها، بدلاً من قائمة المفاتيح «غير الحساسة» التي يمكنه استخدامها لتصعيد هجومه.

محاربة المهاجمين المسرَّعين بالذكاء الاصطناعي باستخدام البروتوكول

ذكر الرئيس التنفيذي لشركة Vercel أن المهاجمين تحركوا «بسرعة مذهلة» ومن المحتمل أن يتم تسريعهم بواسطة الذكاء الاصطناعي. هذا هو الواقع الجديد. لم نعد ندافع فقط ضد رجل يرتدي سترة يكتب الأوامر يدويًا. نحن ندافع ضد الوكلاء الآليين الذين يمكنهم تحليل بنية النظام وتحديد نقاط الضعف وتنفيذ الاستغلال في ثوانٍ.

عندما يتحرك الخصم بسرعة الآلة، لا يمكن لدفاعك الاعتماد على الإنسان الذي يقرر مربع الاختيار الذي يجب النقر عليه. يجب أن يتم دمجها في البنية التحتية. لهذا السبب قمنا ببناء عمليات سير العمل الداخلية لدينا لافتراض أن الاختراق ممكن دائمًا. نحن لا نراقب الاختراقات فحسب؛ بل نقوم بتقليل مساحة الهجوم بحيث لا يوجد شيء يمكن للذكاء الاصطناعي العثور عليه بمجرد دخوله الباب.

كان اتصال OAuth أحد أكبر المشكلات في خرق Vercel. يعد OAuth مفيدًا للغاية، ولكنه يمثل ثغرة أمنية كبيرة إذا لم تتم إدارته بانضباط شديد. يمكنك النقر فوق زر واحد لتجربة أداة إنتاجية جديدة للذكاء الاصطناعي، وفجأة تمكنت هذه الأداة من الوصول للقراءة إلى Google Workspace بالكامل. إذا تم اختراق هذه الأداة - كما حدث مع Context.ai - فسيتم الكشف عن مؤسستك بأكملها.

يفرض فريقنا في Sweent سياسة عدم الثقة لعمليات تكامل الطرف الثالث. لا نسمح لـ «الأدوات الجديدة اللامعة» بالاتصال بأنظمتنا الأساسية دون تدقيق أمني كامل. وحتى مع ذلك، فإننا نحصر النطاقات في الحد الأدنى المطلق. إذا كانت الأداة تحتاج إلى قراءة تقويم واحد فقط، فلن تتمكن من الوصول إلى مساحة العمل بأكملها. يبدو أنه يتطلب الكثير من العمل، وهو كذلك. لكن هذا هو الفرق بين حادث بسيط وطلب فدية بقيمة 2 مليون دولار من مجموعة مثل ShinyHunters.

قاعدة الدوران السري لمدة 24 ساعة

حتى مع أفضل الدفاعات، يمكن أن تسوء الأمور. لا تكمن علامة الفريق المحترف في كيفية منع الاختراق فحسب، بل في كيفية استجابته له. أوصت Vercel عملائها بتدوير بيانات الاعتماد الخاصة بهم على الفور. لكن كلمة «على الفور» مصطلح غامض في عالم الشركات. بالنسبة لبعض الشركات، هذا يعني الأسبوع المقبل. بالنسبة للآخرين، هذا يعني بعد عطلة نهاية الأسبوع الطويلة.

في Sweent، لدينا قاعدة صلبة: في حالة وجود أي اختراق مشتبه به، يتم تدوير كل سر ومفتاح API وسلسلة قاعدة بيانات في غضون 24 ساعة. نحن لا ننتظر تشريح الجثة الكامل. لا ننتظر لنرى ما إذا كانت البيانات قد تم تسريبها «فعليًا». نحن نتحرك بشكل أسرع من المهاجم.

في الوقت الذي يدرك فيه المهاجم أن لديه مفتاحًا، يكون هذا المفتاح ميتًا بالفعل. نحن نستخدم البرامج النصية الآلية والبنية التحتية ككود للتعامل مع هذا. إذا كنا نستخدم Vercel أثناء هذا الاختراق، لكانت مفاتيح عملائنا قد تمت إعادة تدويرها وتأمينها قبل أن تصل الأخبار حتى إلى مدونات التكنولوجيا الرئيسية. السرعة هي الدفاع الوحيد ضد مهاجم يتحرك بسرعة يحركها الذكاء الاصطناعي.

أمن سلسلة التوريد وقاعدة السبعة أيام

أثار خرق Vercel أيضًا مخاوف بشأن سلسلة توريد NPM. نظرًا لأن Vercel يمتلك Next.js، فمن المحتمل أن يقوم مهاجم لديه الرموز المناسبة بشحن إصدار «مسموم» إلى ملايين المطورين. هذا هو الخيار النووي للحرب الإلكترونية. إذا كنت تقوم بتحديث تبعياتك بشكل أعمى في كل مرة يتم فيها إصدار جديد، فأنت تلعب لعبة الروليت الروسية باستخدام قاعدة الرموز الخاصة بك.

نحن نحمي عملائنا من خلال تنفيذ تأخير إلزامي على جميع تحديثات التبعية غير الحرجة. عادةً ما ننتظر 7 أيام على الأقل قبل سحب إصدارات جديدة من المكتبات الكبرى. لماذا؟ لأن معظم هجمات سلسلة التوريد يتم تحديدها وتحييدها خلال الأسبوع الأول. من خلال عدم كوننا «المستخدمين الأوائل» لكل تصحيح صغير، فإننا نضمن أن عملائنا ليسوا أول من يتم استهدافهم عندما يتم اختراق الحزمة.

قد يبدو الأمر وكأننا نتوخى الحذر المفرط، ولكن انظر إلى البديل. يُزعم أن ShinyHunters تبيع قاعدة بيانات Vercel الداخلية مقابل 2 مليون دولار. لديهم 580 من سجلات الموظفين ولوحات المعلومات الداخلية ورمز المصدر. يعد هذا فشلًا كارثيًا كان من الممكن تخفيفه من خلال بروتوكولات داخلية أكثر صرامة ونهج أقل «ملاءمة» للإدارة السرية.

لماذا لا نتخطى الأجزاء «الصعبة»

غالبًا ما يُنظر إلى الأمان على أنه نقطة احتكاك. إنه يبطئ التنمية. يجعل من الصعب تجربة أدوات جديدة. وتضيف خطوات إلى عملية النشر. وهذا هو بالضبط سبب تخطي العديد من الشركات الناشئة للأجزاء الصعبة. إنهم يريدون التحرك بسرعة وكسر الأشياء. ولكن عندما يكون الشيء الذي تكسره هو ثقة عملائك، فقد لا تحصل على فرصة لإصلاحه.

لقد بنينا Sweent على فكرة أن التحول الرقمي لا ينبغي أن يأتي على حساب الأمان. نحن نتعامل مع الاحتكاك حتى لا يضطر عملاؤنا إلى ذلك. نحن من نقوم بتدقيقات الأمان على أدوات الذكاء الاصطناعي. نحن من نفرض التشفير الإلزامي على كل متغير بيئة. نحن من نبقى مستيقظين لتدوير المفاتيح في غضون 24 ساعة بينما لا تزال بقية الصناعة تقرأ العناوين الرئيسية.

إذا كنت تستخدم Vercel الآن، فمن المحتمل أن تذهب للتحقق من لوحة التحكم الخاصة بك. قم بمراجعة كل متغير. ضع علامة عليها جميعًا على أنها حساسة. قم بقطع أي اتصالات OAuth لا تحتاجها مطلقًا. ولكن إذا كنت تريد التوقف عن القلق بشأن ما إذا كان المطورون قد حددوا المربع الصحيح في الساعة 2:00 صباحًا، فأنت بحاجة إلى شريك لا يتعامل مع الأمان كميزة اختيارية.

في نهاية اليوم، من المرجح أن يتعافى Vercel من هذا. لديهم نخبة من المهندسين والكثير من رأس المال. لكن بالنسبة لشركة أصغر، خرق مثل هذا هو عقوبة الإعدام. لا تنتظر العنوان الكبير التالي لإدراك أن المتغيرات «غير الحساسة» الخاصة بك هي مسؤولية. المهاجمون يتحركون بسرعة الآلة. هل أنت؟

أسئلة متكررة

لم يلاحق المهاجمون Vercel مباشرة. لقد اخترقوا Context.ai، وهي أداة ذكاء اصطناعي تابعة لجهة خارجية قام موظف Vercel بتوصيلها بـ Google Workspace عبر OAuth. من خلال منحة OAuth هذه، انتقل المهاجمون إلى حساب Google الخاص بالموظف ومن هناك كانت لديهم خريطة لأنظمة Vercel الداخلية. إنه محور كلاسيكي لسلسلة التوريد - فأنت تتمتع بالأمان فقط مثل التكامل الأقل تدقيقًا الذي نقر عليه أي عضو في الفريق على «السماح».

إن منح المطورين إمكانية التبديل بين الأسرار «المشفرة» و «القابلة للقراءة» هو خيار تصميم يراهن على كل مطور، في كل مرة، باختيار الخيار الآمن في الساعة 2 صباحًا تحت ضغط الشحن. لا يفعلون ذلك. أكد خرق Vercel ذلك: انسحب المهاجمون بقيم تم تصنيفها تقنيًا على أنها «غير حساسة» ولكن تبين أنها حساسة للغاية عند دمجها مع نتائج أخرى. سياستنا: لا يوجد شيء اسمه سر غير حساس - كل شيء في خط أنابيب .env أو CI/CD مشفر بنفس الطريقة، بدون تبديل.

كل مفتاح يدور في غضون 24 ساعة، توقف كامل. لا ننتظر تشريح الجثة لتأكيد ما إذا كانت البيانات قد تم تسريبها بالفعل - بحلول الوقت الذي يتضح فيه ذلك، يكون المهاجم قد استخدم بالفعل ما سرقه. البنية التحتية ككود ونصوص التدوير الآلي تجعل هذا الأمر ميكانيكيًا وليس بطوليًا. في الوقت الذي يدرك فيه المهاجم أن لديه مفتاحًا، يكون هذا المفتاح ميتًا بالفعل.

يتم اكتشاف معظم هجمات سلسلة التوريد في النظام البيئي npm وتحييدها خلال الأسبوع الأول من الإصدار الضار - لأن الفرق الأخرى التي تدير الكناري الأكثر تشددًا تجد المشكلة ويسحب السجل الحزمة. الانتظار لمدة 7 أيام قبل سحب الإصدارات الرئيسية الجديدة يعني أن عملائنا ليسوا أول من يصاب عندما يتم اختراق حزمة شائعة. يكلف قدرًا صغيرًا من التأخير؛ فهو يتجنب فئة الهجوم تمامًا.

تعامل مع كل منحة من منح OAuth على أنها ثقب دائم في محيطك حتى يثبت العكس. قم بإجراء تدقيق الأمان على الأداة قبل توصيلها. قم بتقييد النطاقات إلى الحد الأدنى المطلق - إذا كانت الأداة تحتاج إلى تقويم واحد فقط، فلن تحصل على مساحة العمل بأكملها. راجع المنح النشطة كل ثلاثة أشهر واقطع أي شيء غير مستخدم بشكل واضح. تكمن سهولة التكامل بنقرة واحدة في الطريقة التي أصبح بها Context.ai محورًا في Vercel؛ قم بتطبيق الاحتكاك عمدًا حيث يكلفك أقل التكاليف ويوفر لك أكثر.

هل أنت مستعد لتوسيع نطاق تأثيرك الرقمي؟

من عمليات ترحيل WordPress/Drupal للمؤسسات إلى تكامل وكلاء الذكاء الاصطناعي المخصص، نبني التكنولوجيا التي تعزز نموك. بدون زغب، فقط التميز الهندسي.