Transcript
00:00:00أقوم بتسجيل هذا بعد بضع ساعات من وقوع هجوم مدمر للغاية
00:00:06على سلاسل التوريد. هجوم انتشر ليشمل المزيد من حزم NPM وأيضاً Python. وفي
00:00:13الوقت الذي أسجل فيه هذا، لم يتضح بعد متى وأين سينتهي. وقد
00:00:19أنشأت فيديو منفصلاً على قناتي على يوتيوب حيث أتعمق في هذا الهجوم تحديداً
00:00:25لأنه كان معقداً للغاية. وأقوم هناك بتحليل عميق حيث أشرح كل التفاصيل لأن
00:00:30هذا الأمر مثير للاهتمام حقاً. لكن هنا أريد التحدث عن هجمات سلاسل التوريد والأمن والذكاء الاصطناعي في
00:00:38هذا العصر الذي نعيشه من هجمات سلاسل التوريد والذكاء الاصطناعي. لأنني متأكد من أن الأمور
00:00:45ستزداد سوءاً. وأخشى أن الكثير من الناس لا يرون كل الأخطار بعد. وهناك المزيد مما يتعين علينا
00:00:54كمطورين ومستخدمين للتكنولوجيا والذكاء الاصطناعي، بصراحة، القيام به. وهذا يؤثر علينا حتى لو
00:01:01لم نكن مطورين. أعلم أن معظم من يشاهد أو يسمع هذا هم مطورون. ولكن
00:01:07كما سأوضح، الأمر لا يتعلق فقط بكتابة الأكواد ولا يتعلق فقط بهجمات سلاسل
00:01:13التوريد كما تعرفونها. لكن لنبدأ بالأساسيات. ما هو هجوم سلسلة التوريد؟
00:01:20هجوم سلسلة التوريد في سياق تطوير البرمجيات يعني ببساطة أن التبعية (Dependency) التي
00:01:26تستخدمها قد تم اختراقها. هذا باختصار هو جوهر هجوم سلسلة التوريد. والاختراق
00:01:35بالطبع يمكن أن يعني كل أنواع الأشياء. ما نراه عادة هو وجود كود خبيث في
00:01:41الحزمة المخترقة يقوم بحصد بيانات الاعتماد والرموز (Tokens). حيث يفحص قرصك الصلب للعثور
00:01:49على الأسرار التي قد تكون في ملفات env. أو بيانات اعتماد AWS الخاصة بك وما إلى ذلك. ثم يستخدم تلك
00:01:56البيانات للوصول إلى حساباتك وأيضاً لنشر نفسه. أي للتأثير على حزم أخرى. فإذا
00:02:04كنت مطوراً لحزمة مفتوحة المصدر أو حتى مغلقة المصدر، إذا كنت تعمل على شيء ما،
00:02:11مثل حزمة أو أداة يستخدمها الآخرون أو يعتمدون عليها، فمن المثير للاهتمام بالطبع اختراق
00:02:19جهازك لاختراق تلك الحزمة أو تلك الأداة التي توزعها لأن هذا، كما تخمن،
00:02:26سيؤثر بعد ذلك على المزيد من الأشخاص. لذا فإن كل هجمات سلاسل التوريد التي نراها بما في ذلك
00:02:32هجوم سلسلة التوريد الذي بدأ هنا مع حزم Tanstack، هي عبارة عن ديدان (Worms) تنتشر إلى
00:02:38حزم أخرى لتؤثر على المزيد والمزيد من الحزم وفي النهاية أيضاً على الأجهزة التي
00:02:44تُثبت عليها هذه الحزم وتُستخدم. الآن هناك بعض الأشياء التي يمكنك فعلها لحماية نفسك و
00:02:51قد أنشأت فيديو منفصلاً حول ذلك على قناتي الأخرى، قناة Akatamine. أشياء مثل التأكد
00:02:56من أنك تثبت فقط الحزم التي مر عليها ثلاثة أيام على الأقل أو شيء من هذا القبيل،
00:03:02أقصد إصدارات الحزم، أو تشغيل الكود الخاص بك في حاوية تطوير (Dev Container) أو جهاز افتراضي.
00:03:08هذه كلها أشياء يجب عليك فعلها. يجب عليك أيضاً عدم تخزين الأسرار بنص صريح على نظامك.
00:03:15بدلاً من ذلك، استخدم خدمة مثل Inphysical أو Doppler أو ما شابه حيث تخزن الأسرار
00:03:22في السحابة أو في شكل آخر مشفر بحيث إذا قام المهاجم بفحص نظامك
00:03:28فلن يرى تلك الأسرار النصية الصريحة. هذه كلها أشياء عليك القيام بها الآن. إنها مهمة
00:03:37لأن هجمات سلاسل التوريد هذه تزداد. إننا نرى المزيد منها، ولماذا هذا؟
00:03:42بالتأكيد ليس لأنك لم تكن قادراً على شن هجمات كهذه منذ سنوات عديدة.
00:03:49لقد كان ذلك ممكناً حينها وحدث بالفعل حينها، لكن التكرار زاد بشكل كبير
00:03:56بالطبع والذكاء الاصطناعي سبب رئيسي هنا. لذا دعونا نلقي نظرة على دور الذاء الاصطناعي. هو سبب كبير
00:04:06لأنه بالطبع يجعل من السهل شن مثل هذه الهجمات. إذا كنت مهاجماً، يمكنك بالطبع
00:04:14استخدام الذكاء الاصطناعي لتحليل جميع أنواع المستودعات (Repositories) للحزم التي قد ترغب في اختراقها
00:04:22لترى كيف يبنون حزمهم؟ وكيف يوزعونها؟ على سبيل المثال
00:04:30هجوم Tanstack هنا الذي بدأ هجوم سلسلة التوريد الأخير هذا، استخدم فيه المطورون
00:04:38نهجاً آمناً من الناحية النظرية باستخدام عملية النشر الموثوقة من NPM، ومرة أخرى أتعمق
00:04:45في ذلك في الفيديو المنفصل على هذه القناة، ولكن ما فعلوه أيضاً هو أنهم استخدموا
00:04:51محفزاً لحدث معين في GitHub actions بطريقة معينة لم تكن مؤمنة تماماً وهذا
00:05:00سمح للمهاجم باستخدام تسميم ذاكرة التخزين المؤقت (Cache Poisoning) لإدخال كود خبيث من بيئة غير موثوقة
00:05:07إلى بيئة موثوقة وهكذا بدأ هذا الهجوم. التفاصيل في ذلك الفيديو الآخر.
00:05:15ولكن بالطبع الذكاء الاصطناعي يسهل تحليل المستودعات وتحليل سير عمل GitHub actions
00:05:22أو أي سير عمل لمزودي CICD آخرين. يمكن للذكاء الاصطناعي تحليل كل نصوص سير العمل هذه وكل الأكواد بشكل جماعي
00:05:30ويمكنه البحث عن الثغرات الأمنية وبالطبع يمكن للمطورين أيضاً استخدام الذكاء الاصطناعي لفحص
00:05:38مستودعاتهم والبحث عن نواقل الهجوم المحتملة، ولكن كمهاجم، أنت دائماً في وضع
00:05:45أفضل بطبيعة الحال لأنه يمكنك البحث عن كل شيء وتجربة كل أنواع الأشياء، بينما بصفتك
00:05:52مطوراً، عليك توقع كل شيء، ويمكن للذكاء الاصطناعي المساعدة في ذلك ولكنه لا يزال غير مثالي.
00:05:58أنت تمتلك الأفضلية هناك كمهاجم، والذكاء الاصطناعي قد بسط ذلك. والذكاء الاصطناعي أيضاً يبسط
00:06:04عملية كتابة الكود الخبيث، ويبسط عملية كتابة أي كود بالطبع، وكما
00:06:12تعرفون إذا شاهدتم فيديوهات أخرى لي أو سمعتم حلقات أخرى، فأنا من أشد المؤيدين لـ
00:06:20معاينة الكود وإجراء مراجعات له وعدم إسناد كل شيء للذكاء الاصطناعي، ولكن بالطبع
00:06:27من الواضح لي على الأقل أنه يجب استخدام الذكاء الاصطناعي كتعزيز للإنتاجية، وما زلنا جميعاً نحاول
00:06:33تحديد مدى الاستخدام الصحيح للذكاء الاصطناعي، سيخبرك البعض بنسبة 100% وهم لا ينظرون حتى إلى الكود،
00:06:40بالنسبة لي ليس هذا هو الحال، ولكن هناك تفاوت هنا. في كلتا الحالتين، الذكاء الاصطناعي يجعل من السهل
00:06:46إنتاج كميات كبيرة من الأكواد، وإذا كنا نتحدث عن الكود الخبيث، فهناك بالطبع
00:06:53أشياء تهمك إذا كنت مهاجماً، فأنت تريد كوداً يؤدي المهمة ولا يكون
00:06:59سهل الاكتشاف للغاية، لكنك لا تهتم إذا كان الكود جميلاً أو يتبع
00:07:06أفضل الممارسات، فأفضل ممارساتك هي أن ينجح هجومك. وبالطبع يمكن للذكاء الاصطناعي المساعدة في ذلك،
00:07:13يمكنه المساعدة في كتابة كل ذلك الكود الخبيث والتوصل إلى أفكار حول كيفية مهاجمة
00:07:19الحزم، وهذا هو المكان الذي يساعد فيه الذكاء الاصطناعي. لكن هذا جزء واحد فقط، فالتسهيل جزء واحد من
00:07:26القصة، والجانب الآخر المهم جداً هو أن هناك أكواداً أكثر من أي وقت مضى، مما يعني وجود
00:07:35أهداف أكثر من أي وقت مضى. أعني ربما تابعت تلك التدوينة أو القصة الكاملة حول جميع
00:07:43مشاكل موثوقية GitHub وأوقات توقفه، حسناً، السبب في ذلك هو وجود المزيد من الأكواد التي
00:07:49تُرفع إلى GitHub أكثر من أي وقت مضى بسبب الذكاء الاصطناعي، لأنه من الأسهل من أي وقت مضى توليد الكود
00:07:55وهناك أشخاص أكثر من أي وقت مضى يولدون الأكواد ويكتبون البرامج، بما في ذلك العديد من الأشخاص الذين ليس لديهم
00:08:02أدنى فكرة عما يفعله هذا الكود أو ماهيته. البرمجة السريعة (Wipe coding) أمر كبير ولها حالات استخدامها، أعني
00:08:11إذا كنت أريد دمج خمسة مستندات PDF في مستند واحد، سأكون سعيداً جداً بإخبار وكيل ذكاء اصطناعي ليفعل ذلك من أجلي،
00:08:18وربما سيكتب بعض الأكواد التي تفعل ذلك ولا يهمني هذا الكود، فهي مهمة لمرة واحدة فقط، أليس كذلك؟
00:08:24ولكن إذا قمت بتشغيل ذلك على جهازي، فمن الممكن أن يقوم الوكيل بتثبيت حزمة لدمج
00:08:32مستندات PDF هذه تكون قد تأثرت بهجوم سلسلة توريد، لذلك لا أعرف حتى أنه
00:08:37تم استخدام حزمة معينة إذا لم أنظر إليها لأنني اهتممت فقط بدمج بعض مستندات
00:08:43PDF، لذا هناك مواقف أكثر من أي وقت مضى يتم فيها تثبيت الحزم لأن
00:08:49هناك أكواداً أكثر من أي وقت مضى تُكتب للبرمجيات وأيضاً للمهام التي تُؤدى لمرة واحدة، وهذا بالطبع
00:08:56يجعل شن مثل هذه الهجمات على سلاسل التوريد أكثر جاذبية من أي وقت مضى لأن هناك
00:09:01أهدافاً أكثر من أي وقت مضى، بما في ذلك العديد من الأهداف التي ليس لديها أدنى فكرة عن أمن البرمجيات
00:09:06أو الأمن السيبراني أو أي شيء من هذا القبيل. ولنكن صادقين، الكثير منا كمطورين قد نكون
00:09:14على دراية نظرية ببعض المخاطر، ولكن قد لا نهتم لأن إنجاز المهمة
00:09:22أمر مريح للغاية. وعلينا إعادة التفكير هنا، علينا إعادة التفكير، علينا تأمين أجهزتنا وعلينا التأكد
00:09:31من أننا نطور في بيئات آمنة، أي في الأجهزة الافتراضية وحاويات التطوير بحيث
00:09:37لا توجد بيانات اعتماد منثورة هنا وهناك، وإذا استخدمنا وكلاء ذكاء اصطناعي، وهذا ما نفعله جميعاً على الأرجح، فعلينا
00:09:44توخي الحذر هناك أيضاً لأن هناك طريقتين للوقوع في الخطر، لذا دعونا نلقي نظرة فاحصة
00:09:53على سبب كون وكلاء الذكاء الاصطناعي مشكلة هنا. إحدى المشكلات هي ما ذكرته بالفعل عندما نستخدم
00:10:00وكلاء الذكاء الاصطناعي، خاصة عندما نستخدمهم لأشياء لا تتعلق مباشرة بكتابة الكود أو
00:10:08البرمجيات، ولكن أيضاً عندما نستخدمهم لمساعدتنا في العمل على برنامج ما، فإننا لا نرى
00:10:17بالضرورة كل ما يفعلونه. إذا كنت تستخدم Claude Code أو أي شيء من هذا القبيل، وليس لدي
00:10:23أي شيء ضد هذه الأدوات، في الواقع لدي دورات حول Claude Code وClaude Co-work وCodex، لدي دورات حولها لأنها
00:10:30مفيدة للغاية، ولكن إذا كنت تستخدمها وتتركها تعمل فحسب وتخبرها
00:10:35بأنني أحتاج لهذه الميزة ولا تهتم كثيراً بالتفاصيل، فقد لا تدرك حتى
00:10:41ما تقوم بتثبيته. ومرة أخرى، مع تثبيت الحزم، قد يتم اختراقك أو التأثر بالهجوم. الآن،
00:10:49أحد سبل الدفاع ضد ذلك أيضاً هو بالطبع الحد من كمية الحزم التي تريد استخدامها، ولكن مرة أخرى
00:10:54إذا كنت تستخدم وكيل ذكاء اصطناعي فقد لا تكون مسيطراً هناك، فقد يثبت حزماً
00:11:00لم تكن لتثبتها أبداً. لذا فهذا خطر واضح كما أظن، وإليك الخطر الأقل وضوحاً: وكلاء
00:11:07الذكاء الاصطناعي هم أهداف هجوم جذابة للغاية. ماذا أعني بذلك؟ حسناً، هجمات سلاسل التوريد هذه
00:11:15التي ذكرتها تنتشر مثل الديدان، فهي تهاجم أو تؤثر على جميع أنواع الحزم.
00:11:23والآن، سيكون من المثير جداً للمهاجم بالطبع اختراق Claude Code أو Codex أو
00:11:32وكيل Pi Coding أو Open Code أو أي وكيل آخر، أي وكيل ذكاء اصطناعي آخر. لماذا؟ حسناً، إذا كان لديك كود خبيث
00:11:42مُحسَّن بالفعل لاستهداف واختراق حزم ومستودعات وقواعد أكواد وكلاء الذكاء الاصطناعي أيضاً أو حصرياً،
00:11:52فعندئذٍ بالطبع يمكن لهذا الكود الخبيث أن يحتوي على أجزاء لحقن الأوامر (Prompt Injection)،
00:12:00لذا يمكنه مثلاً استهداف جميع هؤلاء الوكلاء صراحةً لتغيير كودهم بحيث لا يكون
00:12:08الهدف الأساسي هو تسريب البيانات، فكود الحزمة نفسه، الكود الخبيث المحقون، ليس
00:12:15بشأن تسريب البيانات لنقل، بل يتعلق بتعديل كود وكيل الذكاء الاصطناعي بحيث يكون له
00:12:22بعض التعليمات الخاصة التي تجعله يقوم بأشياء على الجهاز الذي يُستخدم فيه، أي على جهازك
00:12:28مثلاً، لا تريد منه فعلها. تخيل وجود أمر نظام سري (System Prompt) في Claude Code،
00:12:34والذي عادة ما يتم ضبطه من قبل موظفي Anthropic، ولكن يتم ضبطه الآن بواسطة ذلك الكود
00:12:39الخبيث الذي يخبره بتجاهل أي شيء تطلبه منه والتظاهر فقط بأنه يفعل ما
00:12:46تطلبه منه، أو أنه يجب أن يفعل ما تطلبه منه ولكن بالإضافة لذلك يجب عليه فحص
00:12:52النظام بحثاً عن الأسرار، وأنه بالإضافة لذلك ربما يجب أن يكتب برنامجاً صغيراً يقوم بالفحص
00:13:00ثم يرسل تلك البيانات إلى خادم عن بعد معين أو أي شيء من هذا القبيل. لا حدود هنا
00:13:06للاحتمالات، لأنك فجأة أصبح لديك ما يشبه حصان طروادة على نظامك، فجأة أصبح لديك وكيل ذكاء
00:13:12اصطناعي متمرد على نظامك، ليس لأن الذكاء الاصطناعي متمرد، وليس لأن النموذج
00:13:20سيء أو خاطئ، بل لأن كود الوكيل نفسه وأمر النظام الخاص به أو أي شيء آخر قد تأثر و
00:13:28تم اختراقه. هذا ليس سيناريو غير واقعي، وأضمن لك أن هذا سيحدث في
00:13:34وقت ما. فوكلاء الذكاء الاصطناعي هم أهداف جذابة بشكل واضح للغاية، وكلاء الذكاء الاصطناعي هم أهداف جذابة بشكل
00:13:41واضح جداً، وهذا سيحدث. سنرى مستوى جديداً من هجمات سلاسل التوريد هذه، فهي لن تكتفي
00:13:49بما تفعله عادة من التأثير على مجموعة من الحزم وحصد بيانات الاعتماد، وهو أمر مروع بالفعل
00:13:54وتكراره في ازدياد، بل سنرى أيضاً وكلاء ذكاء اصطناعي يتمردون بسبب الكود
00:14:01الخبيث، إنها مسألة وقت فقط. لذا هناك طبقات عديدة هنا كما ترون، وهذا هو الواقع
00:14:08الجديد الذي نعيش فيه الآن. أظن أن الأمر يشبه الأيام الأولى للإنترنت، كل شيء
00:14:14متعثر بينما لا نزال نحاول فهم الأمور، وسيتعين علينا اكتشاف كيفية رفع مستوى الأمن
00:14:21وكيفية القيام بالأشياء بشكل آمن، وهناك خطوة واضحة تنطبق على التطوير وأيضاً على تشغيل
00:14:26وكلاء الذكاء الاصطناعي، وهي أنك لا تريد فعل ذلك في بيئة يمكن أن تسوء فيها الأمور، لا
00:14:32تريد تشغيله في بيئة تخزن فيها بيانات الاعتماد أو الأسرار أو أي بيانات أخرى
00:14:37تهمك. لا تريد فعل ذلك على جهازك الأساسي، بل تريد تشغيل الوكلاء وتريد
00:14:42بناء البرمجيات في أجهزة افتراضية معزولة أو أجهزة عن بعد أو أي شيء من هذا القبيل حيث يكون نطاق
00:14:49الضرر (Blast Radius) محدوداً. لأنه مرة أخرى، هي مسألة وقت فقط حتى تسوء الأمور، وعلينا
00:14:56أن ندرك ذلك، فهذه هي الخطوة المهمة الأولى. الأشياء تتغير بسرعة والأمن
00:15:03قضية ضخمة، وستظل قضية ضخمة وتصبح أكثر أهمية مع تسارع الذكاء الاصطناعي، ومع ذكاء هذه النماذج
00:15:11بشكل متزايد، خاصة عند دمجها مع الأدوات التي تعمل فيها، وبما أن هذا
00:15:17يقدم مجموعة كاملة من القدرات الجديدة، وفي نفس الوقت هناك الكثير من الراحة المضافة بواسطتها،
00:15:23فالراحة دائماً ما تكون خطيرة لأنها تجعلك متهاوناً وتغفل عن أشياء. نعم،
00:15:30الذكاء الاصطناعي في كل مكان، والكثير من الناس الذين لا يعرفون شيئاً عن الأمن السيبراني يستخدمونه، وحتى
00:15:34الأشخاص الذين يعرفون الكثير عنه أو شيئاً عنه في خطر كبير، لذا فنحن مقبلون على
00:15:40تجربة محفوفة بالمخاطر هنا على ما أعتقد، وعلينا إعادة التفكير وأن نكون حذرين للغاية بشأن أين وكيف نشغل الوكلاء
00:15:49ونعمل على أكوادنا.