تم اختراق KICS GitHub Action: هجوم سلسلة التوريد لفريق PCP
تم اختراق KICS GitHub Action بواسطة malware لسرقة البيانات
تم اختراق KICS GitHub Action بواسطة malware لسرقة البيانات من قبل TeamPCP، نفس المجموعة المسؤولة عن هجوم Trivy. KICS هي أداة مفتوحة المصدر لفحص أمان البنية التحتية كود من Checkmarx. بين الساعة 12:58 و16:50 بالتوقيت العالمي المنسق (UTC) في 23 مارس، أي مستخدمين لهذه الأداة الذين كانوا يثبتون على أحد العلامات المخترقة كانوا قد تعرضوا للـ malware. تم إزالة المستودع في الساعة 16:50 UTC، بعد فترة وجيزة من تقديم أحد المستخدمين بلاغًا لمشرفي النظام عن الحادث. كانت الأداة متاحة على https://github.com/Checkmarx/kics-github-action قبل الإزالة.
تحديث 03/24: 11:30 UTC
تم اختراق حزم “litellm” (الإصدارات 1.82.7 و 1.82.8) على PyPI. تحتوي على نفس الوظائف كما في العملية السابقة، ولكن باستخدام مجال جديد للتسريب: models.litellm[.]cloud. تم نشر التحديث الضار في حوالي الساعة 8:30 UTC وتم حظره بواسطة PyPI في الساعة 11:25 UTC. يمكن لعملاء Wiz رؤية إشعار في مركز التهديدات.
تحديثات 03/23: 19:24 UTC
تم إعادة المستودع، وصرح المشرفون “تم حل المشكلة الآن.”
22:25 UTC: Sysdig يبلغ أن ast-github-action قد تأثرت أيضًا. تم تحديدها بمراقبة علامة ضارة واحدة فقط 2.3.28 – ومع ذلك، استنادًا إلى تكتيكات TeamPCP، نعتقد أنه من المحتمل أن جميع العلامات قد تأثرت.
22:35 UTC: بناءً على نصيحة من الباحث المستقل Adnan Khan، أكدت Wiz أن ملحقات Checkmarx OpenVSX cx-dev-assist 1.7.0 و ast-results 2.53.0 قد تم اختراقها. تم الإبلاغ عن ذلك بالتزامن من قبل ReversingLabs عبر تغريدة. انظر قسم “الحمولة OpenVSX” أدناه للحصول على التفاصيل. تم الإبلاغ عن هذه لإزالة OpenVSX.
تحديث 03/24 9:00 UTC
نشرت Checkmarx تحديث أمان يعالج المشكلات المتعلقة بــ KICS GitHub action وملحقات OpenVSX. ذكروا وقت الحل في الساعة 15:41 UTC لـ OpenVSX، ومع ذلك لاحظنا أن الإصدارات الضارة كانت موجودة في وقت تقريرنا. بالإضافة إلى ذلك، على الرغم من دفع إصدارات جديدة، إلا أن الإصدارات الضارة لم تتم إزالتها بعد.
هذه هي الماسح الضوئي الثاني الشهير المخصص للأمان مفتوح المصدر الذي تم اختراقه من قبل هذه المجموعة في الأيام الخمسة الماضية. تستخدم العملية أسماء معروفة ونفس مفتاح RSA العام، مما يسمح لـ Wiz بتقييم بثقة عالية أنه نفس الفاعل.
حمولة KICS Github Action
تم حقن الشيفرة الضارة بنفس الطريقة كما في حادثة Trivy:
- قام المهاجم بتسجيل التزامات مزيفة (التزامات على فرع من المستودع) تحتوي على حمولتهم: setup.sh.
- ثم استخدم المهاجم ما يبدو أنه هوية مخترقة لتحديث جميع العلامات الـ 35 في المشروع مباشرة وتوجيهها إلى تلك الالتزامات المزيفة.
تعمل الـ malware أيضًا بشكل مشابه، ولكن مع بعض الاختلافات الرئيسية:
- هذه النسخة تستخدم مجال C2 جديد: checkmarx.zone.
- النسخة الجديدة تنشئ مستودع docs-tpcp عبر GITHUB_TOKENs الخاص بالضحية كوسيلة احتياطية لتعطيل C2. في حادثة Trivy، تم استخدام tpcp-docs بدلاً من ذلك.
- تضيف هذه النسخة شيفرة استمرارية موجهة نحو Kubernetes، بالإضافة إلى الشيفرة الحالية لسرقة البيانات وتسريبها.
بينما تمتلك kics-github-action حوالي 1% من الاستخدام العام المرئي لـ trivy-action، إلا أنها لا تزال معتمدة على نطاق واسع بشكل علني وخاص كأداة لفحص أمان البنية التحتية ككود. سنقوم بتحديث هذا المنشور بمزيد من التحليل.
اختراق GitHub
يبدو أن الهجوم قد تم تحقيقه من خلال اختراق حساب الخدمة cx-plugins-releases (معرف GitHub 225848595)، حيث أن هذه هي الهوية المعنية في نشر العلامات الضارة.
حمولة OpenVSX
احتوت كلا الملحقين المخترقين (ast-results v2.53.0 وcx-dev-assist v1.7.0) على حمولات متطابقة. تم نشرها بفارق 12 ثانية في الساعة 12:53 UTC في 23 مارس 2026، عبر حساب ast-phoenix على Open VSX. تبدو إصدارات VS Code Marketplace غير متأثرة.
تدفق تنفيذ الحمولة
عند تنشيط الملحق، يتم استدعاء البيئة الضارة الجديدة AuthChecker.js من activateCore.js.
- تتحقق هذه الحمولة أولاً مما إذا كان الضحية لديه بيانات اعتماد لأي مزود سحابي واحد على الأقل.
- تصفية بيانات الاعتماد داخل الحمولة: إذا تم الكشف عن أي بيانات اعتماد، يتم استرداد الحمولة من المرحلة الثانية من C2: checkmarx[.]zone/static/checkmarx-util-1.0.4.tgz.
- تحاول الحمولة تنفيذها عبر npx، bunx، pnpx، أو yarn dlx. يغطي هذا مدراء حزم JavaScript الرئيسيين. تحتوي الحزمة المستردة على أداة شاملة لسرقة البيانات. يتم تشفير البيانات المستخرجة، باستخدام المفاتيح كما في بقية هذه الحملة، ويتم تسريبها إلى checkmarx[.]zone/vsx كـ tpcp.tar.gz.
وظيفة المسح() للبحث عن بيانات الاعتماد
على الأنظمة غير CI، تقوم الـ malware بتثبيت الاستمرارية عبر خدمة مستخدم systemd. يقوم البرنامج النصي للاستمرارية بالتحقق من https://checkmarx[.]zone/raw كل 50 دقيقة للحصول على حمولات إضافية، مع مفتاح قتل يتوقف إذا كانت الاستجابة تحتوي على “youtube”. حاليًا، الرابط يعيد التوجيه إلى The Show Must Go On من Queen.
وظيفة الاستمرارية()
القطع الأثرية المخترقة
ملحقات OpenVSX
| artifact | SHA256 |
|---|---|
| ast-results-2.53.0.vsix | 65bd72fcddaf938cefdf55b3323ad29f649a65d4ddd6aea09afa974dfc7f105d |
| cx-dev-assist-1.7.0.vsix | 744c9d61b66bcd2bb5474d9afeee6c00bb7e0cd32535781da188b80eb59383e0 |
| checkmarx-util-1.0.4.tgz | 0d66d8c7e02574ff0d3443de0585af19c903d12466d88573ed82ec788655975ce |
| environmentAuthChecker.js | 527f795a201a6bc114394c4cfd1c74dce97381989f51a4661aafbc93a4439e90 |
إصدارات kics-github-action
كان الإصدار v1.1 هو الإصدار الضار الوحيد الذي تم إنشاؤه. الفشل في الإصدارات الأخرى، التي تم تنشيطها تلقائيًا بواسطة أحداث العلامة، لأن تلك الإصدارات كانت موجودة بالفعل.
علامات kics-github-action
| Tag | Commit SHA |
|---|---|
| v1.0 | 5f3749467a6017cb4fb749054b498d149dd5924 |
| v1.18 | e20c7a67bb95632e2040327a355fb97e6014d29 |
| v1.29 | 3de85c910d859b759cf9185aa78d5a23a4b7000 |
| v1.30 | e7343ba084735863db92b6f8ba2fa9dee604f7c |
| v1.42 | dc0fa613f6f4c15f26ad98225ad253475681616 |
| v1.5 | f00191dd3352c0cd83c6cce4e6bf04b628214dd0 |
| v1.6 | e0359b1a253ee66c8018586c322 |
