هجوم Supply Chain يستهدف مكتبات npm بـ 2.6 مليار تنزيل أسبوعياً
أعلنت تقارير أمنية عن اختراق خطير استهدف مكتبات npm واسعة الانتشار، بعد أن تمكن مهاجمون من الاستيلاء على حساب أحد الـ maintainers عبر هجوم تصيّد (phishing).
المهاجمون أرسلوا رسائل بريدية مزيّفة من نطاق يشبه npmjs.com لإجبار المطورين على تحديث بيانات 2FA. وبعد نجاح الاختراق، قاموا بنشر نسخ خبيثة من مكتبات مشهورة بينها:
chalk (≈300M تنزيل/أسبوع)
debug (≈358M تنزيل/أسبوع)
ansi-styles (≈371M تنزيل/أسبوع)
وغيرها، ليصل مجموع التنزيلات الأسبوعية إلى أكثر من 2.6 مليار.
طريقة عمل البرمجية الخبيثة:
حُقنت شيفرة خبيثة داخل ملفات index.js.
تقوم باعتراض استدعاءات JavaScript مثل fetch, XMLHttpRequest, وواجهات Web3.
الهدف: مراقبة وتحويل عناوين محافظ العملات الرقمية (Ethereum, Bitcoin, Solana, Tron, Litecoin, Bitcoin Cash) إلى عناوين المهاجمين قبل توقيع المعاملات.
الهجوم استمر لساعات محدودة (بين 9:00 و 11:30 صباحاً بتوقيت ET)، مما قلل من نطاق الإصابة. لكن التأثير خطير على أي مشروع تم تثبيت الحزم فيه خلال تلك الفترة.
أعلنت تقارير أمنية عن اختراق خطير استهدف مكتبات npm واسعة الانتشار، بعد أن تمكن مهاجمون من الاستيلاء على حساب أحد الـ maintainers عبر هجوم تصيّد (phishing).
المهاجمون أرسلوا رسائل بريدية مزيّفة من نطاق يشبه npmjs.com لإجبار المطورين على تحديث بيانات 2FA. وبعد نجاح الاختراق، قاموا بنشر نسخ خبيثة من مكتبات مشهورة بينها:
chalk (≈300M تنزيل/أسبوع)
debug (≈358M تنزيل/أسبوع)
ansi-styles (≈371M تنزيل/أسبوع)
وغيرها، ليصل مجموع التنزيلات الأسبوعية إلى أكثر من 2.6 مليار.
طريقة عمل البرمجية الخبيثة:
حُقنت شيفرة خبيثة داخل ملفات index.js.
تقوم باعتراض استدعاءات JavaScript مثل fetch, XMLHttpRequest, وواجهات Web3.
الهدف: مراقبة وتحويل عناوين محافظ العملات الرقمية (Ethereum, Bitcoin, Solana, Tron, Litecoin, Bitcoin Cash) إلى عناوين المهاجمين قبل توقيع المعاملات.
الهجوم استمر لساعات محدودة (بين 9:00 و 11:30 صباحاً بتوقيت ET)، مما قلل من نطاق الإصابة. لكن التأثير خطير على أي مشروع تم تثبيت الحزم فيه خلال تلك الفترة.
❤5
هذه ليست المرة الأولى؛ فقد شهدنا خلال الأشهر الماضية هجمات مشابهة استهدفت مكتبات مثل eslint-config-prettier وغيرها من مكتبات JavaScript واسعة الاستخدام.
يفضل أن:
- تتحقق من package-lock.json.
- تحديث الحزم المتأثرة.
- مراقبة أي نشاط غير طبيعي في المشاريع التي اعتمدت على الإصدارات الخبيثة.
يفضل أن:
- تتحقق من package-lock.json.
- تحديث الحزم المتأثرة.
- مراقبة أي نشاط غير طبيعي في المشاريع التي اعتمدت على الإصدارات الخبيثة.
❤5
المكتبات المصابة (تنزيلات أسبوعية):
backslash (0.26M)
chalk-template (3.9M)
supports-hyperlinks (19.2M)
has-ansi (12.1M)
simple-swizzle (26.26M)
color-string (27.48M)
error-ex (47.17M)
color-name (191.71M)
is-arrayish (73.8M)
slice-ansi (59.8M)
color-convert (193.5M)
wrap-ansi (197.99M)
ansi-regex (243.64M)
supports-color (287.1M)
strip-ansi (261.17M)
chalk (299.99M)
debug (357.6M)
ansi-styles (371.41M)
backslash (0.26M)
chalk-template (3.9M)
supports-hyperlinks (19.2M)
has-ansi (12.1M)
simple-swizzle (26.26M)
color-string (27.48M)
error-ex (47.17M)
color-name (191.71M)
is-arrayish (73.8M)
slice-ansi (59.8M)
color-convert (193.5M)
wrap-ansi (197.99M)
ansi-regex (243.64M)
supports-color (287.1M)
strip-ansi (261.17M)
chalk (299.99M)
debug (357.6M)
ansi-styles (371.41M)
❤2
أعلنت Cloudflare عبر فريق أبحاث الأمان عن تحقيقها في اختراق استهدف حزم npm يديرها المطور ~qix.
بعد المراجعة، أكدت الشركة أنه لا يوجد أي أثر سلبي على عملاء خدمة Page Shield حتى الآن.
🔒 شو هيي Page Shield؟
هي خدمة من Cloudflare بتحمي مواقع الشركات وزوارها من هجمات JavaScript supply chain (مثل حقن سكربتات خبيثة لسرقة بطاقات الدفع أو كلمات المرور). الخدمة بتراقب السكربتات اللي تشتغل على صفحات الموقع وبتكشف أي تغيير مشبوه.
⚡️ الخطوة الجديدة:
Cloudflare نشرت آلية كشف إضافية لتصنيف أي محاولات مستقبلية مشابهة على أنها Malware، وبالتالي تعزيز الحماية لعملائها.
بعد المراجعة، أكدت الشركة أنه لا يوجد أي أثر سلبي على عملاء خدمة Page Shield حتى الآن.
🔒 شو هيي Page Shield؟
هي خدمة من Cloudflare بتحمي مواقع الشركات وزوارها من هجمات JavaScript supply chain (مثل حقن سكربتات خبيثة لسرقة بطاقات الدفع أو كلمات المرور). الخدمة بتراقب السكربتات اللي تشتغل على صفحات الموقع وبتكشف أي تغيير مشبوه.
⚡️ الخطوة الجديدة:
Cloudflare نشرت آلية كشف إضافية لتصنيف أي محاولات مستقبلية مشابهة على أنها Malware، وبالتالي تعزيز الحماية لعملائها.
❤3
2. Anti-Pattern #2: The Empty Catch
❌ المشكلة:
تعمل catch وما تكتب شي!
النتيجة: بيانات تالفة + “ghost” failures بلا أي أثر.
✅ الحل:
يا بتفشل بسرعة (throw) يا بتتعامل معها بشكل منطقي (مثلاً deactivate بدل delete إذا في FK violation).
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❌ المشكلة:
تعمل catch وما تكتب شي!
النتيجة: بيانات تالفة + “ghost” failures بلا أي أثر.
✅ الحل:
يا بتفشل بسرعة (throw) يا بتتعامل معها بشكل منطقي (مثلاً deactivate بدل delete إذا في FK violation).
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
👌2
Anti-Pattern #3: Log & Forget
❌ المشكلة:
Log::error("Order failed") … بدون أي تفاصيل.
النتيجة: لوجات عديمة الفائدة.
✅ الحل:
سجّل السياق: order_id، user_id، payload … وحتى stack trace (بالdevelopment).
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❌ المشكلة:
Log::error("Order failed") … بدون أي تفاصيل.
النتيجة: لوجات عديمة الفائدة.
✅ الحل:
سجّل السياق: order_id، user_id، payload … وحتى stack trace (بالdevelopment).
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
❤1
بروتون تعطل عدداً من الحسابات بعد تنبيه من CERT
أعلنت شركة Proton (خدمة البريد الإلكتروني والـVPN الآمن) أنها عطلت مجموعة من الحسابات بعد أن تلقت إنذاراً من فريق الاستجابة لطوارئ الحاسوب (CERT) حول إساءة استخدامها من قبل قراصنة، في خرقٍ لشروط الخدمة.
بروتون أوضحت أن فريقها بدأ بمراجعة هذه الحالات بشكل فردي لتحديد الحسابات التي يمكن استعادتها لمستخدميها الشرعيين.
على ما يبدو الشركة عم تحاول توازن ما بين الأمن و حقوق المستخدمين
أعلنت شركة Proton (خدمة البريد الإلكتروني والـVPN الآمن) أنها عطلت مجموعة من الحسابات بعد أن تلقت إنذاراً من فريق الاستجابة لطوارئ الحاسوب (CERT) حول إساءة استخدامها من قبل قراصنة، في خرقٍ لشروط الخدمة.
بروتون أوضحت أن فريقها بدأ بمراجعة هذه الحالات بشكل فردي لتحديد الحسابات التي يمكن استعادتها لمستخدميها الشرعيين.
على ما يبدو الشركة عم تحاول توازن ما بين الأمن و حقوق المستخدمين
❤1
Anti-Pattern #4: Transaction Abuse
❌ المشكلة:
تجمع كل العملية (DB + إيميل + side effects) داخل transaction.
النتيجة: locks طويلة + rollback بعد إرسال إيميل + مشاكل performance.
✅ الحل:
خلي الـtransaction خاص بالداتا فقط، والـside-effects (مثل الإيميل) خليها برّا.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❌ المشكلة:
تجمع كل العملية (DB + إيميل + side effects) داخل transaction.
النتيجة: locks طويلة + rollback بعد إرسال إيميل + مشاكل performance.
✅ الحل:
خلي الـtransaction خاص بالداتا فقط، والـside-effects (مثل الإيميل) خليها برّا.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
🔥5❤4
تحياتي الكم أصدقائي
اليوم انا بحاجة انكم تساعدوني بمعلومة
عم دور على شخص سبق و تعامل مع بوابات الدفع السورية و بشكل خاص Syriatel cash و MTN cash
يشاركنا تجربته و الـ Flow تبع العمل و الشروط و غيره.
و شكراً لكم
اليوم انا بحاجة انكم تساعدوني بمعلومة
عم دور على شخص سبق و تعامل مع بوابات الدفع السورية و بشكل خاص Syriatel cash و MTN cash
يشاركنا تجربته و الـ Flow تبع العمل و الشروط و غيره.
و شكراً لكم
👍7
تحياتي للجميع
تمنياتي لكم بأسبوع عمل موفق و بدون meetings او Bugs
موجود للإجابة عن اسئلتكم عبر instgram من خلال الرابط: هنا
تمنياتي لكم بأسبوع عمل موفق و بدون meetings او Bugs
موجود للإجابة عن اسئلتكم عبر instgram من خلال الرابط: هنا
🔥6❤1🙏1
Anti-Pattern #5: Controller Try/Catch Bloat
❌ المشكلة:
كل Controller فيه try/catch مكرر.
النتيجة: فوضى + استجابات HTTP مختلفة.
✅ الحل:
مركّز الـerror handling بـapp/Exceptions/Handler.php وخلي الـcontrollers نظيفة.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❌ المشكلة:
كل Controller فيه try/catch مكرر.
النتيجة: فوضى + استجابات HTTP مختلفة.
✅ الحل:
مركّز الـerror handling بـapp/Exceptions/Handler.php وخلي الـcontrollers نظيفة.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
❤4
مو كل كود يعني منتج. (وجهة نظري الشخصية)
بعد تريند الـAI وخاصةً ChatGPT صار كتير سهل تكتب كود و تطالع Demo بسرعة. بس المنتج اللي بيعيش وبيكبر هو أكبر بكتير من أسطر الكود هو طريقة تفكير كاملة.
خليني أشرحلك وجهة نظري:
التفاصيل من خلال الرابط: هنا
بعد تريند الـAI وخاصةً ChatGPT صار كتير سهل تكتب كود و تطالع Demo بسرعة. بس المنتج اللي بيعيش وبيكبر هو أكبر بكتير من أسطر الكود هو طريقة تفكير كاملة.
خليني أشرحلك وجهة نظري:
التفاصيل من خلال الرابط: هنا
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
❤6👍2
بتحديث Laravel تحديداً الإصدار Laravel 12.8 نزلت معها ميزة الـ Automatic Eager Loading
كانت المشكلة انه لما تستدعي علاقة (مثلاً posts->comments) بشكل متكرر، Laravel كان يعمل استعلام جديد كل مرة → هاد اللي اسمه N+1 Query Problem.
الحل كان دائماً انه نتذكر نضيف :
وإذا نسيت؟ الاستعلامات بتنفجر وبيصير عندك بطء كبير.
و لكن من 12.8، Laravel صار يراقب استدعاءات العلاقات. إذا لاحظ إنها عم تتكرر، بيعمل Eager Loading تلقائي بدون ما تضيف with().
تفاصيل اكتر من هنا: الرابط
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
كانت المشكلة انه لما تستدعي علاقة (مثلاً posts->comments) بشكل متكرر، Laravel كان يعمل استعلام جديد كل مرة → هاد اللي اسمه N+1 Query Problem.
الحل كان دائماً انه نتذكر نضيف :
Post::with('comments')->get();
وإذا نسيت؟ الاستعلامات بتنفجر وبيصير عندك بطء كبير.
و لكن من 12.8، Laravel صار يراقب استدعاءات العلاقات. إذا لاحظ إنها عم تتكرر، بيعمل Eager Loading تلقائي بدون ما تضيف with().
تفاصيل اكتر من هنا: الرابط
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
GitHub
[12.x] Added Automatic Relation Loading (Eager Loading) Feature by litvinchuk · Pull Request #53655 · laravel/framework
Description
In large projects it can become difficult to track and manually specify which relations should be eager-loaded, especially if those relations are deeply nested or dynamically used. Ther...
In large projects it can become difficult to track and manually specify which relations should be eager-loaded, especially if those relations are deeply nested or dynamically used. Ther...
❤21
الصديق علي سلمان رح يكون معكم بورشة مميزة جداً و هي تفاصيلها:
وصلت لآخر سنة جامعة ولسا ما بتعرف تخصصك؟
خليك معنا مشان تعرف شو هو المجال اللي بدك تبني فيه مستقبلك من الـ 7 هدول:
1. مُبرمج؟ اللي بيبني التطبيقات والمواقع.
2. خبير أمن معلومات واختراق؟ اللي بيسكر الثغرات قبل ما حدا يدخل منها.
3. خبير ذكاء اصطناعي؟ اللي بيعمل للآلة عقل.
4. مهندس شبكات؟ الوسيط اللي خلاّك تتصل بصحابك على whatsapp.
5. مصمم تجربة مستخدم ساحر UI/UIX اللي خلاك تحب تستخدم Instagram.
6. مدير مشاريع؟ المسؤول عن فريق المبرمجين.
محتار؟ تعال عالورشة مشان:
- تفهم كل مجال ببساطة.
- تعرف شو اللي بيشتغلوه الناس فيه بالضبط.
- تحدد شو الأنسب لشخصيتك.
والورشة رح تغير منظورك كلو
للتسجيل فيك تبعت على بريد الصفحة او على رقم واتساب +963941313234
تاريخ الورشة: الخميس والجمعة 18 - 17 ايلول
مدة الورشة يوم واحد 3 ساعات
العدد الأقصى للحضور 20 شخص
مكان الورشة: مركز 360 business mentors - الزراعة دخلة الحمصاني 20م على اليمين
سعر الحضور 50000 بتندفع على باب المركز
وصلت لآخر سنة جامعة ولسا ما بتعرف تخصصك؟
خليك معنا مشان تعرف شو هو المجال اللي بدك تبني فيه مستقبلك من الـ 7 هدول:
1. مُبرمج؟ اللي بيبني التطبيقات والمواقع.
2. خبير أمن معلومات واختراق؟ اللي بيسكر الثغرات قبل ما حدا يدخل منها.
3. خبير ذكاء اصطناعي؟ اللي بيعمل للآلة عقل.
4. مهندس شبكات؟ الوسيط اللي خلاّك تتصل بصحابك على whatsapp.
5. مصمم تجربة مستخدم ساحر UI/UIX اللي خلاك تحب تستخدم Instagram.
6. مدير مشاريع؟ المسؤول عن فريق المبرمجين.
محتار؟ تعال عالورشة مشان:
- تفهم كل مجال ببساطة.
- تعرف شو اللي بيشتغلوه الناس فيه بالضبط.
- تحدد شو الأنسب لشخصيتك.
والورشة رح تغير منظورك كلو
للتسجيل فيك تبعت على بريد الصفحة او على رقم واتساب +963941313234
تاريخ الورشة: الخميس والجمعة 18 - 17 ايلول
مدة الورشة يوم واحد 3 ساعات
العدد الأقصى للحضور 20 شخص
مكان الورشة: مركز 360 business mentors - الزراعة دخلة الحمصاني 20م على اليمين
سعر الحضور 50000 بتندفع على باب المركز
❤5😱1