
في 19 أبريل 2026، أكدت Vercel أن مهاجمين اخترقوا أداة ذكاء اصطناعي تابعة لطرف ثالث (Context.ai)، واستولوا على حساب Google Workspace لأحد موظفي Vercel، وقرأوا متغيرات البيئة التي لم تُحدَّد كـ"حساسة" في مجموعة محدودة من مشاريع العملاء. إذا نشرت أي شيء على Vercel خلال الثلاثين يوماً الماضية، فعليك افتراض أن أحد متغيرات البيئة لديك ربما يكون بالفعل في الأيدي الخطأ — وتحتاج إلى التحرك بسرعة.
الحقيقة غير المريحة: معظم vibe-coders يضعون قيم .env مباشرة من قالب دون أن يمسوا مفتاح "الحساسة" قط. هذا بالضبط هو نوع المتغيرات التي قرأها المهاجم. تُرشدك هذه الخطة خلال الـ60 دقيقة القادمة — ما يجب التحقق منه، وما يجب تدويره، وكيفية تصليب المنظومة لديك حتى لا يتسبب الاختراق التالي للمنصة في تعطل تطبيقك.
TL;DR: ما يجب فعله خلال الـ60 دقيقة القادمة
إن لم تقرأ شيئاً آخر، قم الآن بهذه الأشياء الستة:
- أوقف النشر التلقائي على فروع الإنتاج لديك.
- شغّل
vercel env pullوابحث في المخرجات عن أنماط الأسرار (sk_live_،AKIA،ghp_،eyJ). - دوّر كل مفتاح API مخزّن كمتغير بيئة غير حساس — ابدأ بمفاتيح الدفع وقواعد البيانات والمصادقة ومزودي السحابة.
- أعد إضافة الأسرار المُدوَّرة باستخدام مفتاح "الحساسة" في Vercel، ثم أعد النشر.
- افتح سجل نشاط Vercel للفترة من 1 إلى 20 أبريل وضع علامة على أي نشر أو تسجيل دخول أو حدث رمز لا تتعرف عليه.
- راجع سجل تدقيق مؤسستك على GitHub للفترة ذاتها — رموز PAT جديدة أو مفاتيح نشر أو تغييرات في سير العمل.
فيما يلي التفصيل الكامل مع الأوامر والأنماط وترتيب التدوير الذي ستحتاجه.
ما الذي حدث فعلاً في اختراق Vercel أبريل 2026؟
كشفت Vercel في 19 أبريل 2026 أن مهاجماً اخترق Context.ai، وهو أداة إنتاجية للذكاء الاصطناعي من طرف ثالث يستخدمها أحد موظفي Vercel. من هناك، استولى المهاجم على حساب Google Workspace للموظف، واخترق البيئة الداخلية لـVercel، ووصل إلى متغيرات البيئة التي لم تُحدَّد كـ"حساسة".
المتغيرات المُحددة كـ"حساسة" تستخدم مساراً منفصلاً للقراءة المشفرة، وتفيد Vercel بعدم وجود دليل على تعرضها للاختراق. أما كل شيء آخر — متغيرات البيئة العادية التي تخزّن مفاتيح API وعناوين URL لقواعد البيانات وأسرار JWT — فكان قابلاً للقراءة. يدّعي منشور على منتدى جرائم إلكترونية بيع بيانات Vercel بمبلغ مليوني دولار، وإن لم تؤكد Vercel عملية التسرب. في كلتا الحالتين، التصرف الآمن هو افتراض الاختراق لأغراض التدوير، حتى لو لم تتلقَّ بريداً إلكترونياً من Vercel مباشرةً.
وصفت الشركة المهاجم بأنه "متطور للغاية بناءً على سرعته التشغيلية وفهمه التفصيلي لأنظمة Vercel". الترجمة: لم يكن مخترقاً مبتدئاً — خذ الوقت على محمل الجد.
هل أنت متأثر؟ كيف تتحقق في 5 دقائق
الإجابة المختصرة: إذا كنت تستخدم Vercel ولم تكن متشدداً في استخدام مفتاح "الحساسة"، فتعامل مع نفسك على أنك متأثر. إليك الفرز السريع في 5 دقائق:
- افتح سجل نشاط Vercel وصفّه من 1 أبريل 2026 حتى الآن. ابحث عن تسجيلات دخول غير معروفة أو إنشاء رموز أو عمليات نشر.
- انتقل إلى Google Workspace Admin ← الأمان ← ضوابط API وابحث عن مؤشر الاختراق المنشور: معرّف عميل OAuth
110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com. إذا كان مصرحاً به، قم بإلغائه فوراً. - تحقق مما إذا كان أي أحد في فريقك قد سجّل الدخول إلى Context.ai عبر Google SSO. إذا كان الجواب نعم، فعامل حساباتهم على أنها عالية الخطورة.
- انظر إلى تبويب متغيرات البيئة في مشروع Vercel لديك. احسب كم متغيراً منها ليس مُحدَّداً كـ"حساس". كل واحد منها يقع ضمن نطاق الخطر.
إذا تلقيت بريداً إلكترونياً من Vercel يبدأ بـ "We identified a security incident affecting your account" — فأنت في مجموعة المتأثرين المؤكدين. انتقل مباشرةً إلى قسم التدوير وابدأ الآن.
خطة الاستجابة الطارئة في 60 دقيقة
الترتيب محدد بحجم الأضرار المحتملة. لا تتخطَّ أي خطوة — كل خطوة تُفتح الطريق للتالية.
الخطوة الأولى: تجميد البيئة (أول 10 دقائق)
أوقف النزيف قبل البدء في التحليل الجنائي:
- أوقف النشر التلقائي على فروع
main/production(لوحة تحكم Vercel ← المشروع ← الإعدادات ← Git). - عطّل مؤقتاً تطبيق Vercel على GitHub من
github.com/organizations/<مؤسستك>/settings/installationsإذا اشتبهت في اختراق أعمق. - صدّر سجل تدقيق Vercel بصيغة CSV واحفظه محلياً. ستحتاجه إذا تحوّل هذا لاحقاً إلى حادثة تستوجب الإبلاغ بموجب GDPR.
- فعّل Observability Plus (حتى أسبوع تجريبي) للاحتفاظ بسجلات موسّعة.
هذه خطوة "الحفاظ على الأدلة". التدوير قبل التقاط لقطة للسجل يُدمّر الجدول الزمني لديك.
الخطوة الثانية: سحب متغيرات البيئة وفحصها بحثاً عن الأسرار
افتح الطرفية ونفّذ:
vercel link
vercel env pull .env.vercel-auditثم افحص المخرجات. أسرع طريقة هي واجهة سطر أوامر GitGuardian:
ggshield secret scan path .env.vercel-auditإذا لم تُرد تثبيت أي شيء، استخدم grep مع هذه الأنماط — تكشف 80% من الأسرار المسربة في ملفات البيئة:
grep -E "AKIA[0-9A-Z]{16}|sk_live_[0-9a-zA-Z]{24}|ghp_[0-9a-zA-Z]{36}|ghs_[0-9a-zA-Z]{36}|npm_[0-9a-zA-Z]{36}|eyJ[a-zA-Z0-9_-]+|-----BEGIN" .env.vercel-auditكل تطابق هو مرشح للتدوير. كل سر غير متطابق يظل بيانات اعتماد (عناوين URL لقواعد البيانات، كلمات مرور Redis، مفاتيح توقيع Webhook) هو أيضاً مرشح للتدوير — grep يلتقط الواضح فقط.
الخطوة الثالثة: تدوير الأسرار بترتيب الأولوية (وليس أبجدياً)
هنا يخطئ معظم الفرق. يدوّرون 40 سراً بترتيب عشوائي، فيُبطل مفتاح جلسة جميع جلسات الدخول النشطة، وتتضاعف طلبات الدعم. افعل ذلك في مستويات:
Tier 0 — دوّر خلال الـ30 دقيقة القادمة:
- جميع رموز GitHub Personal Access Tokens (الدقيقة والكلاسيكية)
- جميع رموز متغيرات بيئة Vercel الحساسة الحالية
- رموز Deployment Protection
Tier 1 — دوّر اليوم:
- مفاتيح معالجات الدفع السرية (Stripe
sk_live_، Adyen، Braintree) AUTH_SECRET،NEXTAUTH_SECRET، مفاتيح توقيع JWT، ملفات تعريف الارتباط للجلسات- سلاسل اتصال قواعد البيانات ذات وصول الكتابة (
DATABASE_URL، Mongo، Redis) - مفاتيح مزودي السحابة (AWS IAM، حسابات خدمة GCP، أسرار عملاء Azure)
- أسرار توقيع Webhook (تحديث عند المرسل والمستقبل معاً)
Tier 2 — دوّر هذا الأسبوع:
- مفاتيح SaaS من أطراف ثالثة (البريد الإلكتروني، الرسائل القصيرة، التحليلات، إدارة علاقات العملاء)
- أسرار عملاء OAuth
- بيانات اعتماد SMTP، مفاتيح CDN
Tier 3 — دوّر عند الراحة:
- رموز التحليلات للقراءة فقط، DSNs لـSentry، المفاتيح العامة/المجهولة
ترتيب العمليات الحرج:
- لقواعد البيانات: أنشئ المستخدم الجديد قبل إلغاء القديم، وإلا ستُغلق الموقع في منتصف التدوير.
- لمفاتيح الجلسات: خطّط لحدث تسجيل خروج — ستُبطَل جميع الجلسات النشطة.
- للـWebhooks: حدّث الطرفين في نفس نافذة النشر.
- أعد النشر بعد كل تغيير في متغيرات البيئة. Vercel تُدمج القيم عند وقت البناء لا عند التشغيل.
الخطوة الرابعة: إعادة إضافة كل شيء كـ"حساس"
عند إعادة وضع القيم الجديدة، فعّل مفتاح "الحساسة" على كل متغير. القيم الحساسة تستخدم مساراً مشفراً منفصلاً، ووفقاً لنشرة أمان Vercel ذاتها، لم تُكشف في هذه الحادثة. هذا هو التغيير بنقرة واحدة الذي كان سيحمي معظم العملاء المتضررين.
الخطوة الخامسة: مراجعة المستودع بحثاً عن تغييرات غير مرغوبة
قارن HEAD على فرعك الرئيسي بتُسليم معروف بسلامته قبل 1 أبريل. ركّز على:
- سكريبتات
package.json— خاصةًpostinstall،prepare،preinstall - ملفات القفل (
package-lock.json،pnpm-lock.yaml) بحثاً عن تبعيات جديدة غير متوقعة .github/workflows/*.ymlبحثاً عن سير عمل جديدة أو actions غير مثبّتة الإصدارvercel.jsonبحثاً عن تغييرات في أوامر البناء أو تحويلات مشبوهةnext.config.jsبحثاً عن ترويسات جديدة أو تحويلات تشير إلى نطاقات مجهولة
إذا كنت تنشر حزم npm، شغّل أيضاً npm view <pkg> time --json وتحقق من عدم نشر أي شيء لم تكتبه.
الخطوة السادسة: التعقب في النظم المحيطة
المهاجمون لا يتوقفون عند متغيرات البيئة — يستخدمونها. استعلم من نظمك المحيطة للفترة من 1 أبريل حتى الآن:
- AWS CloudTrail:
CreateUser،AttachUserPolicyغير متوقعين، موجات منGetObjectعلى S3، تسجيلات دخول من عناوين IP جديدة. - سجلات تدقيق قاعدة البيانات: استعلامات
SELECT *كبيرة، وعمليات تصدير، واتصالات من مناطق غير اعتيادية. - Stripe / Adyen: مفاتيح API جديدة، استردادات مشبوهة، إنشاء عملاء من مواقع غريبة.
- مزود المصادقة: تسجيلات دخول مستحيلة الرحلة، وإعادة تعيين كلمات مرور غير مصرح بها، وتطبيقات OAuth جديدة.
أي نتيجة هنا تحول هذا من تمرين تدوير إلى حادثة فعلية — صعّد الأمر وفكّر في التزامات الإخطار (GDPR: 72 ساعة).
ما يفوت "vibe-coders": سطح الهجوم المخفي
إذا تعلمت البرمجة باستخدام أدوات الذكاء الاصطناعي — مثل Claude Code أو Cursor أو Copilot — فمن المرجح أنك نشرت أول تطبيق على Vercel قبل أن تقرأ أي وثيقة أمنية. هذا مفهوم. لكن هناك أربع مصائد خفية تضرب vibe-coders بشكل أشد من المطورين المخضرمين:
- فخ
NEXT_PUBLIC_. كل شيء مسبوق بـNEXT_PUBLIC_يُدمج في جافاسكريبت العميل. إذا وضعت مفتاح API هناك "للاختبار فقط"، فقد كان علنياً قبل الاختراق. افحص مخرجات البناء:grep -rE "sk_|AKIA|eyJ" .next/static/. - تسرب Linear / Slack. إذا لصق فريقك أسراراً في مشكلات Linear أو تدفقات Slack "للحظة فقط"، فتلك الأسرار تجلس في سجلات أطراف ثالثة. راجع سجل تدقيق Linear وابحث عن الأنماط النمطية ذاتها.
- افتراض
.env.localفي مستودع خاص. المستودعات الخاصة ليست خاصة إذا اخترق تطبيق Vercel على GitHub. كل ملف.env.*مُدمج في الالتزامات يقع ضمن نطاق الخطر. - نشر المعاينة مع أسرار الإنتاج. معظم vibe-coders يعيدون استخدام متغيرات بيئة الإنتاج لبيئات المعاينة. هذا يضاعف سطح الهجوم. افصلهما.
هذا هو العمل البنيوي الممل الذي تتخطاه أدوات الترميز بالذكاء الاصطناعي. الحل ليس التوقف عن استخدام الذكاء الاصطناعي — بل الجمع بين سرعته وقاعدة أمنية متينة. إذا كنت لا تزال تكتشف أين يعيش تطبيقك، فإن مقارنة Vercel مقابل Netlify وتحليل Railway مقابل Render مقابل Fly.io نقطتا انطلاق جيدتان.
كيف تُصلّب منظومتك حتى لا يحرقك الاختراق التالي
اختراقات المنصات مسألة متى، وليس إذا. إليك الحد الأدنى الذي يجب أن يكون لكل تطبيق إنتاجي بحلول يوم الاثنين:
- اجعل الإعداد الافتراضي لكل متغير بيئة جديد "حساساً" في Vercel. اجعله عادةً لفريقك.
- استخدم بيانات اعتماد قصيرة العمر. استبدل مفاتيح AWS/GCP طويلة العمر بـGitHub OIDC federation — يثق مزود السحابة مباشرةً في هوية CI، دون سر طويل العمر قابل للتسرب.
- ثبّت فحص الأسرار قبل الالتزام (gitleaks، Trufflehog). يمنع الأسرار من دخول المستودع من الأساس.
- قيّد تطبيق GitHub الخاص بك على مستودعات محددة، لا على مستوى المؤسسة بأكملها.
- مراجعة ربع سنوية لتطبيقات OAuth عبر Google Workspace وMicrosoft 365 وGitHub وVercel. احذف كل ما لا تعرفه.
- شغّل فحوصات الأسرار كـخطاف Claude Code — تطبيق حتمي قبل الالتزام حتى عندما ينسى الذكاء الاصطناعي.
- ثبّت إصدار Next.js الخاص بك وراقب التحذيرات الأمنية. Vercel هي الجهة المسؤولة الأساسية عن Next.js، لذا تتصاعد الحوادث هنا بشكل متسلسل.
- قسّم أسرار الواجهة الخلفية. إذا كنت تستخدم Supabase أو Firebase، استخدم الأمان على مستوى الصفوف ومفاتيح دور الخدمة بتحفّظ — مفتاح خدمة مُسرَّب هو اختراق كامل لقاعدة البيانات.
تحتاج مساعدة في تأمين هذا؟ إليك كيف تناسب Techsy
الكلام الصادق: معظم الفرق الصغيرة ليس لديها مهندس أمن، وقراءة خطة استجابة للحوادث من 60 خطوة في الساعة الثانية صباحاً ليست كيفية قضاء أي شخص ليلة اثنين.
في Techsy، نفّذنا الاستجابة للحوادث وتصليب المنصات لأكثر من 40 تطبيقاً إنتاجياً بـNext.js وNode.js خلال العامين الماضيين. لحادثة Vercel تحديداً، نقدم:
- استجابة طارئة خلال 72 ساعة — ننفّذ تدوير Tier 0/Tier 1، ونفحص متغيرات بيئتك مقابل أكثر من 200 توقيع سري، ونراجع سجلات Vercel وGitHub والسحابة من البداية للنهاية. وقت التسليم المعتاد: يوم عمل واحد.
- تدقيق تصليب المنصة — ترحيل إلى المتغيرات الحساسة، وتدوير بيانات اعتماد OIDC، وفحص الأسرار قبل الالتزام، وتحديد نطاق تطبيق GitHub، وكتيّب تشغيل مكتوب حتى يعرف مستقبلك ماذا تفعل في الاختراق التالي.
- DevSecOps مستمر — مراجعات OAuth ربع سنوية، وفحص مستمر للأسرار، وتدريبات على الحوادث حتى تصبح عبارة "لن يحدث لنا هذا" ادعاءً تستطيع فعلاً دعمه.
نحن مهندسون لسنا مورد أمن يعمل بقائمة مربعات اختيار. إذا كنت تشعر بالذعر الآن، تواصل معنا للحصول على مكالمة فرز مجانية لمدة 30 دقيقة — سنخبرك بصدق ما إذا كنت تحتاجنا أم يمكنك التعامل مع الأمر بالخطة أعلاه.
الأسئلة الشائعة
هل اختراق Vercel مؤكد أم مجرد شائعة؟
مؤكد. نشرت Vercel نشرة أمنية رسمية في 19 أبريل 2026، تعترف بوصول غير مصرح به عبر أداة ذكاء اصطناعي من طرف ثالث مخترقة (Context.ai) وحساب Google Workspace لموظف تم اختطافه. تم الوصول إلى متغيرات البيئة غير المحددة كـ"حساسة". يدّعي منشور منفصل على BreachForums بيع البيانات بمبلغ مليوني دولار؛ هذا الجزء غير موثق.
لم أتلقَّ بريداً إلكترونياً من Vercel. هل أنا بأمان؟
على الأرجح، لكن "على الأرجح" ليست وضعاً أمنياً. قالت Vercel إنها تواصلت مع المجموعة المحدودة من العملاء ذوي التأثير المؤكد. إذا لم يصلك البريد الإلكتروني، فخطورتك أقل — لكن جميع متغيرات البيئة غير الحساسة عبر منصة Vercel كانت ضمن نطاق الانفجار. قم بالفرز السريع لمدة 10 دقائق على أي حال.
ما الفرق بين متغيرات البيئة "الحساسة" والعادية في Vercel؟
متغيرات البيئة "الحساسة" تستخدم مساراً مشفراً منفصلاً للقراءة ولا يمكن عرضها في لوحة التحكم بعد الإنشاء. المتغيرات العادية قابلة للقراءة من قِبل أي شخص لديه وصول للمشروع (بما في ذلك المهاجم في هذه الحادثة). الحل مجاني ويستغرق نقرة واحدة لكل متغير.
هل يجب تدوير جميع أسراري، أم فقط تلك الموجودة على Vercel؟
دوّر كل سر مخزّن في متغير بيئة Vercel غير حساس. إذا استخدمت المفتاح ذاته في مكان آخر (نمط مضاد شائع)، دوّره في كل مكان. لا تنسَ .env.local في نشر المعاينة وأنظمة CI مثل GitHub Actions وأي مراجع ملصوقة في Linear أو Slack.
كيف أفحص متغيرات البيئة بسرعة بحثاً عن أسرار فعلية؟
شغّل vercel env pull .env.audit ثم ggshield secret scan path .env.audit. إذا لم تستطع تثبيت GitGuardian، استخدم سطر grep الواحد من الخطوة الثانية في الخطة — يكشف مفاتيح AWS ومفاتيح Stripe ورموز GitHub ورموز npm وJWTs وكتل PEM.
هل يجب علي الانتقال من Vercel بعد هذه الحادثة؟
ليس بسبب هذه الحادثة وحدها. استجابة Vercel — IoC العامة والجدول الزمني وإرشادات التدوير — كانت شفافة بشكل معقول. كل منصة ستتعرض لاختراق في نهاية المطاف. ما يهم هو ما إذا صممت لذلك: متغيرات حساسة كإعداد افتراضي، وبيانات اعتماد قصيرة العمر، وبيئات مجزّأة. إذا كنت تقيّم البدائل على أي حال، فإن مقالتَينا Vercel مقابل Netlify وRailway مقابل Render مقابل Fly.io تُحلّلان المقايضات.
كم من الوقت لديّ لإخطار العملاء إذا تأثرت؟
GDPR يمنحك 72 ساعة من لحظة علمك بخرق يستوجب الإبلاغ. كاليفورنيا (CCPA) لديها محفزات خاصة بفئة البيانات. عقود SOC 2/ISO 27001 كثيراً ما تستوجب إخطاراً أبكر من الجهات التنظيمية. إذا كان لديك عملاء يدفعون وتأكدت من تسرب بياناتهم، افترض أنك على ساعة 72 ساعة واستشر المحامي قبل إرسال أي شيء.
هل يمكن مهاجمة تطبيقات Next.js من خلال هذا حتى لو لم أكن على Vercel؟
الحادثة خاصة بمنصة Vercel. Next.js نفسه، المستضاف في مكان آخر، لم يتأثر بآلية الاختراق. لكن إذا استخدمت أنماط متغيرات البيئة NEXT_PUBLIC_ ذاتها التي تكشف الأسرار بطريق الخطأ، فهذه المشكلات تنتقل مع كودك بغض النظر عن المضيف. دقّق مخرجات البناء على أي حال.
ما الإصلاح بنقرة واحدة الذي كان سيمنع معظم الضرر؟
تحديد كل متغير بيئة يحتوي على بيانات اعتماد كـ**"حساس"** في Vercel منذ اليوم الأول. إنها خانة اختيار في لوحة التحكم. في هذه الحادثة، لم يُوصَل إلى المتغيرات الحساسة — فقط العادية. هذا هو الإصلاح، ويكلف صفر دولارات وحوالي خمس دقائق لكل مشروع.
كيف أضمن أن فريقي لن يرسل سراً غير محدد مرة أخرى؟
ثلاث طبقات: (1) فحص الأسرار قبل الالتزام مع gitleaks، (2) فحص CI يفشل إذا تُضاف متغير بيئة بدون علامة sensitive: true عبر Vercel API، (3) خطاف Claude Code يُشغّل الماسح عند كل تعديل. الدفاع في العمق — كل واحد من الثلاثة يلتقط 80%، والثلاثة معاً ~99%.
الخلاصة
اختراق Vercel في أبريل 2026 خطير، لكنه قابل للتجاوز — إذا تحركت خلال الـ60 دقيقة القادمة. جمّد النشر، واسحب متغيرات البيئة، وشغّل grep، ودوّر في مستويات، وأعد الإضافة كحساس، وتعقّب النظم المحيطة. هذه هي الخطة كاملة.
تكشف اختراقات المنصات مدى اعتمادنا على الإعدادات الافتراضية. معظم الفرق التي تضررت هنا لم تفعل شيئاً خاطئاً — تركوا مفتاح "الحساسة" غير محدد لأن أحداً لم يخبرهم بأهميته. هذا هو الدرس الحقيقي لـvibe-coders: الكود المُنشأ بالذكاء الاصطناعي يُسلَّم بسرعة، لكن الإعدادات الأمنية الافتراضية لا تأتي مع الإنشاء.
إذا كنت تريد زوجاً ثانياً من العيون على منظومتك، أو تفضّل عدم تنفيذ هذه الخطة بمفردك في الساعة الثانية صباحاً، احجز مكالمة فرز مجانية مع فريق Techsy. وإلا — حظاً موفقاً، تحرّك بسرعة، وحدّد تلك المتغيرات كحساسة.