في 19 أبريل 2026، كشفت شركة Vercel عن حادث أمني يتعلق بالوصول غير المصرح به إلى أنظمتها الداخلية. وفقًا لتقرير الحادث، قام المهاجم باختراق حساب Google Workspace الخاص بالموظف عبر أداة ذكاء اصطناعي تابعة لجهة خارجية تسمى context.ai، والتي أكدت منذ ذلك الحين أن بيئة AI Office Suite التي تركز على المستهلك قد تعرضت بالفعل للاختراق. يعد هذا الحادث في الواقع هجومًا مزدوجًا على سلسلة التوريد، حيث تم الاستفادة من الوصول إلى context.ai للوصول إلى عملائها، بما في ذلك Vercel، ثم عملاء Vercel.

لمزيد من المعلومات والإرشادات المتعلقة بالحادث الأمني ​​الذي تعرضت له Vercel، راجع النصائح الاستشارية الخاصة بهم.

كشفت شركة context.ai أنها قررت أنه من المحتمل أن تكون رموز OAuth المميزة لبعض المستخدمين المستهلكين قد تعرضت للاختراق نتيجة لهذا الحادث. وفقًا لبيانهم، قام موظف واحد على الأقل من Vercel بتفويض تطبيق OAuth المتأثر بأذونات واسعة (“السماح للجميع”)، مما مكن المهاجم من الاستفادة من الرمز المميز المسروق للوصول إلى Google Workspace الخاص بـ Vercel.

أشارت التقارير العامة الصادرة عن Hudson Rock إلى أنه ربما تم الاستفادة من إصابة حديثة بسرقة المعلومات لأحد موظفي context.ai للوصول إلى أنظمة context.ai الداخلية والحصول في النهاية على بيانات اعتماد تطبيق OAuth، لكن هذا لا يزال غير مؤكد.

لم يُنسب هذا النشاط إلى جهة تهديد محددة، ولكن جهة فاعلة تدعي أنها مرتبطة بـ ShinyHunters أعلنت مسؤوليتها عن حادثة Vercel. ومع ذلك، لم يتم التحقق من هذه الادعاءات، وربما تم انتحال شخصية المجموعة بواسطة مقلد.

تتوافق هذه الحملة مع فئة أوسع من الهجمات التي تسيء استخدام عمليات تكامل OAuth التابعة لجهات خارجية باعتبارها ناقل وصول أولي. وفي حوادث مماثلة، مثل حادثة Salesloft Drift التي استهدفت بيئات Salesforce، استفاد المهاجمون من رموز OAuth المميزة من موفر طرف ثالث للوصول إلى منصات SaaS النهائية وتصفية البيانات عبر واجهات برمجة التطبيقات الشرعية. وقد لوحظت هذه الحرفة التجارية أيضًا في الأنشطة المتحالفة مع الدولة، بما في ذلك حملة Midnight Blizzard ضد Microsoft، حيث تم إساءة استخدام تطبيقات OAuth للحفاظ على الوصول المستمر إلى بيئات المؤسسة. وبدلاً من استغلال نقاط الضعف في النظام الأساسي الأساسي، تعتمد هذه الهجمات على الوصول المصرح به مسبقًا والأذونات المفوضة، مما يتيح الحركة الجانبية الخفية وتوسيع نطاق الانفجار عبر مؤسسات متعددة تثق في نفس التكامل. للحصول على معلومات إضافية حول أنماط الكشف وإساءة الاستخدام، راجع بحث Wiz حول تطبيقات OAuth الضارة وتقنيات الهجوم المستندة إلى OAuth.

مؤشرات التسوية

يكتب مؤشر تفاصيل
معرف عميل تطبيق OAuth 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com تم ربط تطبيق Google Workspace OAuth المخترق بالحادث

يجب على فرق الأمان التعامل مع هذا الحادث باعتباره حل وسط لـ OAuth لجهة خارجية مع تأثير محتمل على المصب عبر منصات SaaS المتعددة. يجب أن تركز جهود الاستجابة على ثلاثة مسارات متوازية: (1) تحديد وإلغاء الوصول إلى تطبيق context.ai المخترق عبر موفري الهوية، (2) تقييم التعرض المحتمل عن طريق تدوير بيانات الاعتماد والرموز المميزة المرتبطة بالمستخدمين المتأثرين، و(3) التحقيق في نشاط الحساب بحثًا عن علامات سوء الاستخدام أو الوصول إلى البيانات. نظرًا لطبيعة الوصول المستند إلى OAuth، يجب إيلاء اهتمام خاص للنشاط عبر التطبيقات وأي خدمات يمكن الوصول إليها من خلال الأذونات المفوضة.

تقييم التعرض والتنظيف

مساحة عمل جوجل:

تحقق مما إذا كان تطبيق context.ai OAuth معتمدًا في بيئتك. انتقل إلى وحدة تحكم المشرف → الأمان → عناصر تحكم واجهة برمجة التطبيقات → إدارة الوصول إلى تطبيقات الطرف الثالث وابحث عن “السياق” أو معرف عميل OAuth.

البحث عن أحداث الترخيص عبر جميع المستخدمين:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \

"https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/token?eventName=authorize&filters=client_id==110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com&maxResults=1000"

لكل مستخدم محدد، تحقق مما إذا كان الرمز المميز لا يزال نشطًا:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://admin.googleapis.com/admin/directory/v1/users/AFFECTED_USER_EMAIL/tokenshttps://admin.googleapis.com/admin/directory/v1/users/AFFECTED_USER_EMAIL/tokens
"

قم بمراجعة الاستجابة لأي رمز مميز يحتوي على معرف العميل 110671459871.

إذا كانت موجودة: قم بإلغاء المنحة على الفور عبر وحدة تحكم المشرف → الأمان → عناصر تحكم واجهة برمجة التطبيقات. قم بتدوير بيانات اعتماد Google Workspace وأي رموز SaaS/API مرتبطة لجميع المستخدمين المتأثرين.

معرف أزور / إنترا:

يقدم context.ai تكامل Azure AD SSO الذي تم تكوينه كتطبيق SAML SSO لكل مستأجر. البحث حسب الاسم أو عن طريق معرفات المستأجر Entra الخاصة بـ context.ai:

# Search by display name

curl -H "Authorization: Bearer $(az account get-access-token --resource https://graph.microsoft.com | jq -r .accessToken)" -H "ConsistencyLevel: eventual" "https://graph.microsoft.com/v1.0/servicePrincipals?\$filter=startswith(displayName,'context')&\$count=true&\$select=displayName,appId,appOwnerOrganizationId"

# Search by Context.ai's Entra tenant ID

curl -H "Authorization: Bearer $(az account get-access-token --resource https://graph.microsoft.com | jq -r .accessToken)" -H "ConsistencyLevel: eventual" "https://graph.microsoft.com/v1.0/servicePrincipals?\$filter=appOwnerOrganizationId eq

  d06415cc-3d2c-4ffd-940e-76e35cef3a46&\$count=true&\$select=displayName,appId,appOwnerOrganizationId"

أو عبر PowerShell:

Connect-MgGraph -Scopes "Application.Read.All"

Get-MgServicePrincipal -Filter "startswith(displayName,'context')"  -CountVariable CountVar -ConsistencyLevel eventual -Property "displayName,appId,appOwnerOrganizationId"

Get-MgServicePrincipal -Filter "appOwnerOrganizationId eq 'd06415cc-3d2c-4ffd-940e-76e35cef3a46'" -Property "displayName,appId,appOwnerOrganizationId"

أو عبر Azure CLI:

az ad sp list --filter "startswith(displayName,'context')" --query "[].name:displayName, appId:appId, owner:appOwnerOrganizationId" -o table

إذا وجدت: احذف مبدأ الخدمة عبر معرف Entra → تطبيقات المؤسسة. تدوير بيانات الاعتماد لجميع المستخدمين المعينين.

اوكتا:

انتقل إلى التطبيقات → التطبيقات وابحث عن “السياق”.

# Search for the application

curl -H "Authorization: SSWS YOUR_OKTA_API_TOKEN" \

    "https://YOUR_OKTA_DOMAIN/api/v1/apps?q=context&limit=20"

# If found, list assigned users

curl -H "Authorization: SSWS YOUR_OKTA_API_TOKEN" \

    "https://YOUR_OKTA_DOMAIN/api/v1/apps/CONTEXT_APP_ID/users?limit=200"

إذا وجدت: قم بإزالة تعيين التطبيق وتدوير بيانات الاعتماد لجميع المستخدمين المعينين.

التحقيق في النشاط على الحسابات المتضررة

بالنسبة لكل مستخدم تم تحديده في القسم السابق، تحقق من النشاط عبر خدمات Google Workspace التي كان من الممكن الوصول إليها عبر منحة OAuth. قم بمراجعة حقل النطاق في حدث التفويض لتحديد الخدمات التي يجب تحديد أولوياتها.

نشاط القيادة:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \

      "https://admin.googleapis.com/admin/reports/v1/activity/users/AFFECTED_USER_EMAIL/applications/drive?startTime=2025-06-01T00:00:00.000Z&maxResults=1000"

سجلات تدقيق Google Workspace Oauth2:

إذا تم استيعاب سجلات Google Workspace الخاصة بك في Google Cloud Platform، فيمكنك استخدام Log Explorer للتعرف على نشاط التطبيق عبر الاستعلام التالي-

https://console.cloud.google.com/logs/query;query=protoPayload.methodName%3D~%22%2528google.identity.oauth2.GetTokenInfo%7Cgoogle.identity.oauth2.GetToken%2529%22%0AprotoPayload.metadata.event.parameter.value%3D%22110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com%22%0AprotoPayload.serviceName%3D%22oauth2.googleapis.com%22;summaryFields=protoPayload%252Fmetadata%252Fevent%252F0%252Fparameter%252F1%252Fvalue:false:32:beginning;cursorTimestamp=2026-04-20T11:39:11.204987Z;startTime=2026-03-19T23:00:11.262Z;endTime=2026-04-20T11:39:11.262Z?referrer=search&hl=en&organizationId=<ORG-ID>

التحقيق في نشاط التطبيق: التحقق من صحة عنوان IP المصدر وتدقيق إجراءات المستخدم. –

https://console.cloud.google.com/logs/query;query=protoPayload.authenticationInfo.principalEmail%3D%22<USER_EMAIL>%22%0AprotoPayload.requestMetadata.callerIp%3D%22<IP_ADDRESS>%22;cursorTimestamp=2026-04-20T11:39:11.034112Z;startTime=2026-03-19T23:00:11.262Z;endTime=2026-04-20T11:39:11.262Z?referrer=search&hl=en&organizationId=<ORG_ID>

نشاط تسجيل الدخول:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://admin.googleapis.com/admin/reports/v1/activity/users/AFFECTED_USER_EMAIL/applications/login?startTime=2025-06-01T00:00:00.000Z&maxResults=1000"

نشاط جيميل:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \

      "https://admin.googleapis.com/admin/reports/v1/activity/users/AFFECTED_USER_EMAIL/applications/gmail?startTime=2026-03-01T00:00:00.000Z&endTime=2026-03-31T00:00:00.000Z&maxResults=1000"

سجلات تسجيل الدخول لمعرف Entra (إذا تم العثور على context.ai كتطبيق مؤسسي):

curl -H "Authorization: Bearer $(az account get-access-token --resource https://graph.microsoft.com | jq -r .accessToken)" \

    "https://graph.microsoft.com/v1.0/auditLogs/signIns?\$filter=appId eq 'APP_ID_FROM_SECTION_1'&\$select=userPrincipalName,appDisplayName,ipAddress,createdDateTime,status"

سجلات تسجيل الدخول إلى Okta (إذا تم العثور على context.ai كتطبيق Okta):

curl -H "Authorization: SSWS YOUR_OKTA_API_TOKEN" \

    "https://YOUR_OKTA_DOMAIN/api/v1/logs?filter=target.displayName+eq+%22Context%22+and+eventType+eq+%22user.authentication.sso%22&since=2025-06-01T00:00:00.000Z&limit=1000"

راجع المخرجات بحثًا عن الأنماط الشاذة: الكميات غير المتوقعة من مكالمات واجهة برمجة التطبيقات (API)، أو النشاط من عناوين IP التي لا تتطابق مع مواقع تسجيل الدخول العادية للمستخدم، أو الوصول إلى الخدمات خارج أنماط الاستخدام النموذجية للمستخدم.

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

لعملاء فيرسيل

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

  • قم بمراجعة سجلات الأنشطة وعمليات النشر بحثًا عن أي سلوك مشبوه

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

  • قم بتدوير الرموز المميزة لحماية النشر والتحقق من صحة التكوين

كيف يمكن أن يساعد ويز؟

يمكن لعملاء Wiz استخدام الاستعلام والاستشارات المعدة مسبقًا في Wiz Threat Intel Center للبحث عن المثيلات ذات الصلة في بيئتهم.

مراجع

شاركها.
اترك تعليقاً