📚 الفرق بين malloc و calloc و realloc في لغة C
بعد أن تعلمنا الذاكرة الديناميكية، نحتاج الآن لفهم الفرق بين أهم الدوال المستخدمة فيها 🔥
━━━━━━━━━━━━━━
🔹 1️⃣ malloc
تقوم بحجز مساحة في الذاكرة بدون تهيئة القيم.
💻 مثال:
int *p = (int*) malloc(5 * sizeof(int));
📌 القيم داخل الذاكرة:
❓ عشوائية (Garbage Values)
━━━━━━━━━━━━━━
🔹 2️⃣ calloc
تقوم بحجز مساحة في الذاكرة مع تهيئتها بالقيمة 0.
💻 مثال:
int *p = (int*) calloc(5, sizeof(int));
📌 القيم داخل الذاكرة:
✅ كلها تساوي 0
━━━━━━━━━━━━━━
🔹 3️⃣ realloc
تستخدم لتغيير حجم الذاكرة المحجوزة مسبقًا.
💻 مثال:
p = (int*) realloc(p, 10 * sizeof(int));
📌 هنا:
- تم توسيع المصفوفة من 5 إلى 10 عناصر
━━━━━━━━━━━━━━
🧠 الفرق بطريقة بسيطة
الدالة| التهيئة| الاستخدام
malloc| ❌ لا| حجز ذاكرة
calloc| ✅ نعم| حجز + تصفير
realloc| ❌ لا| تغيير الحجم
━━━━━━━━━━━━━━
⚠️ خطأ شائع
عدم حفظ نتيجة "realloc":
realloc(p, 10 * sizeof(int)); // ❌
الصحيح:
p = realloc(p, 10 * sizeof(int)); // ✅
━━━━━━━━━━━━━━
📌 الخلاصة
- استخدم "malloc" عندما لا تحتاج تهيئة
- استخدم "calloc" عندما تحتاج القيم = 0
- استخدم "realloc" لتغيير الحجم
━━━━━━━━━━━━━━
بعد أن تعلمنا الذاكرة الديناميكية، نحتاج الآن لفهم الفرق بين أهم الدوال المستخدمة فيها 🔥
━━━━━━━━━━━━━━
🔹 1️⃣ malloc
تقوم بحجز مساحة في الذاكرة بدون تهيئة القيم.
💻 مثال:
int *p = (int*) malloc(5 * sizeof(int));
📌 القيم داخل الذاكرة:
❓ عشوائية (Garbage Values)
━━━━━━━━━━━━━━
🔹 2️⃣ calloc
تقوم بحجز مساحة في الذاكرة مع تهيئتها بالقيمة 0.
💻 مثال:
int *p = (int*) calloc(5, sizeof(int));
📌 القيم داخل الذاكرة:
✅ كلها تساوي 0
━━━━━━━━━━━━━━
🔹 3️⃣ realloc
تستخدم لتغيير حجم الذاكرة المحجوزة مسبقًا.
💻 مثال:
p = (int*) realloc(p, 10 * sizeof(int));
📌 هنا:
- تم توسيع المصفوفة من 5 إلى 10 عناصر
━━━━━━━━━━━━━━
🧠 الفرق بطريقة بسيطة
الدالة| التهيئة| الاستخدام
malloc| ❌ لا| حجز ذاكرة
calloc| ✅ نعم| حجز + تصفير
realloc| ❌ لا| تغيير الحجم
━━━━━━━━━━━━━━
⚠️ خطأ شائع
عدم حفظ نتيجة "realloc":
realloc(p, 10 * sizeof(int)); // ❌
الصحيح:
p = realloc(p, 10 * sizeof(int)); // ✅
━━━━━━━━━━━━━━
📌 الخلاصة
- استخدم "malloc" عندما لا تحتاج تهيئة
- استخدم "calloc" عندما تحتاج القيم = 0
- استخدم "realloc" لتغيير الحجم
━━━━━━━━━━━━━━
❤2
افضل مكان لحل تمارين خوارزميات للمبتدأ.
✅افضل مكان للبدأ فيه.
✅بتدرج تمارين حسب صعوبة.
✅لا تبخل على اصحابك 🧑💻🧑🏼💻🧕🏻🧕🏼و ادعهم لتميز معا
✅افضل مكان للبدأ فيه.
✅بتدرج تمارين حسب صعوبة.
✅لا تبخل على اصحابك 🧑💻🧑🏼💻🧕🏻🧕🏼و ادعهم لتميز معا
❤4🔥1
هذا هو مشروع موجه لنا كطلبة اعلام سنة اولى الي مهندس دولة في بجاية في سداسي 2🧑💻✅🧕🏻.
لمن يريد تطوير مهارته فيه🧑💻.
خاصة طلبة🧑💻 اعلام الي في جامعات اخرى✅🤖.ارجوا منكم اسال مشاريعكم💹 لكي ارى ابداعكم🚀💸.
وشاكوا لاصحابكم الذين تعرفوهم انهم بحاجة اليه
لمن يريد تطوير مهارته فيه🧑💻.
خاصة طلبة🧑💻 اعلام الي في جامعات اخرى✅🤖.ارجوا منكم اسال مشاريعكم💹 لكي ارى ابداعكم🚀💸.
وشاكوا لاصحابكم الذين تعرفوهم انهم بحاجة اليه
❤2
📚 الطابور في هياكل البيانات (Queue)
بعد أن تعلمنا Stack، ننتقل الآن إلى هيكل بيانات مهم آخر وهو الطابور (Queue) 🔥
━━━━━━━━━━━━━━
🔹 ما هو Queue؟
الطابور هو هيكل بيانات يعمل بمبدأ:
📌 FIFO (First In First Out)
➡️ أول عنصر يدخل هو أول عنصر يخرج
━━━━━━━━━━━━━━
🧠 مثال من الحياة
تخيل طابور في متجر 🛒
- أول شخص يقف في الطابور يتم خدمته أولاً
━━━━━━━━━━━━━━
🔹 أهم العمليات
1️⃣ Enqueue ➜ إضافة عنصر في النهاية
2️⃣ Dequeue ➜ حذف عنصر من البداية
3️⃣ Front ➜ عرض أول عنصر
━━━━━━━━━━━━━━
💻 تمثيل Queue باستخدام مصفوفة
#include <stdio.h>
#define MAX 5
int queue[MAX];
int front = 0;
int rear = -1;
// enqueue
void enqueue(int value) {
if (rear == MAX - 1) {
printf("Queue Overflow\n");
} else {
rear++;
queue[rear] = value;
}
}
// dequeue
void dequeue() {
if (front > rear) {
printf("Queue Underflow\n");
} else {
front++;
}
}
━━━━━━━━━━━━━━
🔍 كيف يعمل؟
- "rear" لإضافة العناصر
- "front" لإزالة العناصر
━━━━━━━━━━━━━━
⚠️ خطأ شائع
عدم إعادة استخدام الأماكن الفارغة
➡️ الحل الأفضل: Circular Queue (سنتعلمها لاحقًا)
━━━━━━━━━━━━━━
📌 الخلاصة
- Queue يعتمد على FIFO
- الإضافة من النهاية والحذف من البداية
━━━━━━━━━━━━━━
🚀 الدرس القادم:
Linked List (القائمة المرتبطة) 🔥
بعد أن تعلمنا Stack، ننتقل الآن إلى هيكل بيانات مهم آخر وهو الطابور (Queue) 🔥
━━━━━━━━━━━━━━
🔹 ما هو Queue؟
الطابور هو هيكل بيانات يعمل بمبدأ:
📌 FIFO (First In First Out)
➡️ أول عنصر يدخل هو أول عنصر يخرج
━━━━━━━━━━━━━━
🧠 مثال من الحياة
تخيل طابور في متجر 🛒
- أول شخص يقف في الطابور يتم خدمته أولاً
━━━━━━━━━━━━━━
🔹 أهم العمليات
1️⃣ Enqueue ➜ إضافة عنصر في النهاية
2️⃣ Dequeue ➜ حذف عنصر من البداية
3️⃣ Front ➜ عرض أول عنصر
━━━━━━━━━━━━━━
💻 تمثيل Queue باستخدام مصفوفة
#include <stdio.h>
#define MAX 5
int queue[MAX];
int front = 0;
int rear = -1;
// enqueue
void enqueue(int value) {
if (rear == MAX - 1) {
printf("Queue Overflow\n");
} else {
rear++;
queue[rear] = value;
}
}
// dequeue
void dequeue() {
if (front > rear) {
printf("Queue Underflow\n");
} else {
front++;
}
}
━━━━━━━━━━━━━━
🔍 كيف يعمل؟
- "rear" لإضافة العناصر
- "front" لإزالة العناصر
━━━━━━━━━━━━━━
⚠️ خطأ شائع
عدم إعادة استخدام الأماكن الفارغة
➡️ الحل الأفضل: Circular Queue (سنتعلمها لاحقًا)
━━━━━━━━━━━━━━
📌 الخلاصة
- Queue يعتمد على FIFO
- الإضافة من النهاية والحذف من البداية
━━━━━━━━━━━━━━
🚀 الدرس القادم:
Linked List (القائمة المرتبطة) 🔥
❤1🔥1🥰1
📚 القائمة المرتبطة (Linked List)
بعد أن تعلمنا Stack و Queue، ننتقل الآن إلى هيكل بيانات أقوى وأكثر مرونة وهو Linked List 🔥
━━━━━━━━━━━━━━
🔹 ما هي Linked List؟
هي مجموعة من العناصر (Nodes)
كل عنصر يحتوي على:
- قيمة (Data)
- مؤشر (Pointer) يشير إلى العنصر التالي
━━━━━━━━━━━━━━
🧠 لماذا نستخدمها؟
- حجمها ديناميكي (يتغير أثناء التشغيل)
- لا تحتاج ذاكرة متجاورة مثل Array
- سهلة الإضافة والحذف
━━━━━━━━━━━━━━
🖼️ الشكل العام
[10 | * ] → [20 | * ] → [30 | NULL]
━━━━━━━━━━━━━━
🔹 تعريف Node في C
struct Node {
int data;
struct Node *next;
};
━━━━━━━━━━━━━━
🔹 إنشاء Node
struct Node *newNode = (struct Node*) malloc(sizeof(struct Node));
newNode->data = 10;
newNode->next = NULL;
━━━━━━━━━━━━━━
💻 مثال بسيط
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
int main() {
struct Node *head = NULL;
struct Node *n1 = (struct Node*) malloc(sizeof(struct Node));
n1->data = 10;
n1->next = NULL;
head = n1;
printf("Value: %d", head->data);
return 0;
}
━━━━━━━━━━━━━━
⚠️ خطأ شائع
نسيان ربط العقد:
n1->next = n2; // مهم جداً
━━━━━━━━━━━━━━
📌 الخلاصة
- Linked List = عقد مرتبطة بمؤشرات
- مرنة أكثر من Array
- تعتمد على المؤشرات
━━━━━━━━━━━━━━
🚀 الدرس القادم:
أنواع Linked List (Singly / Doubly / Circular) 🔥
بعد أن تعلمنا Stack و Queue، ننتقل الآن إلى هيكل بيانات أقوى وأكثر مرونة وهو Linked List 🔥
━━━━━━━━━━━━━━
🔹 ما هي Linked List؟
هي مجموعة من العناصر (Nodes)
كل عنصر يحتوي على:
- قيمة (Data)
- مؤشر (Pointer) يشير إلى العنصر التالي
━━━━━━━━━━━━━━
🧠 لماذا نستخدمها؟
- حجمها ديناميكي (يتغير أثناء التشغيل)
- لا تحتاج ذاكرة متجاورة مثل Array
- سهلة الإضافة والحذف
━━━━━━━━━━━━━━
🖼️ الشكل العام
[10 | * ] → [20 | * ] → [30 | NULL]
━━━━━━━━━━━━━━
🔹 تعريف Node في C
struct Node {
int data;
struct Node *next;
};
━━━━━━━━━━━━━━
🔹 إنشاء Node
struct Node *newNode = (struct Node*) malloc(sizeof(struct Node));
newNode->data = 10;
newNode->next = NULL;
━━━━━━━━━━━━━━
💻 مثال بسيط
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
int main() {
struct Node *head = NULL;
struct Node *n1 = (struct Node*) malloc(sizeof(struct Node));
n1->data = 10;
n1->next = NULL;
head = n1;
printf("Value: %d", head->data);
return 0;
}
━━━━━━━━━━━━━━
⚠️ خطأ شائع
نسيان ربط العقد:
n1->next = n2; // مهم جداً
━━━━━━━━━━━━━━
📌 الخلاصة
- Linked List = عقد مرتبطة بمؤشرات
- مرنة أكثر من Array
- تعتمد على المؤشرات
━━━━━━━━━━━━━━
🚀 الدرس القادم:
أنواع Linked List (Singly / Doubly / Circular) 🔥
❤4
سلام عليكم ، هنبدأ بإذن الله سلسة جديدة " ثغرة في دقيقة " هنتكلم فيها عن اهم ثغرات بمقالات لا تتجاوز قرائتها دقيقة ، لا تنسو تدعمونا .
🔓 ثغرة في دقيقة : SQL Injection (الثغرة الاولة)
👨💻 تخيل أنك تكتب كلمة مرورك في موقع ما، والموقع يأخذ المدخلات مباشرة ويرسلها إلى قاعدة البيانات بدون فلترة… هنا يبدأ الخطر!
اي هي الثغرة ؟
🔹 SQL Injection هي استغلال خطأ في طريقة تعامل الموقع مع قاعدة البيانات، بحيث يسمح للمهاجم بحقن أوامر SQL إضافية.
يعني بدل ما الموقع يجيب بياناتك فقط… المهاجم يقدر يجلب بيانات كل المستخدمين!
مثال بسيط:
SELECT * FROM users WHERE username = 'admin' AND password = '1234';
المهاجم يدخل بدلاً من كلمة المرور:
' OR '1'='1
فتصبح الجملة:
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1';
🔥 النتيجة: الدخول ناجح بدون كلمة مرور!
أشهر أمثلة واقعية:
اختراق موقع Sony (2011) باستخدام SQL Injection.
تسريب ملايين الحسابات من عدة مواقع في العقد الماضي.
الحماية:
✔️ استخدم Prepared Statements أو ORM.
✔️ لا تثق أبداً بمدخلات المستخدم.
✔️ فلترة + Escaping دائم.
📢 تابعونا للمزيد من الثغرات والشروحات السريعة.
لا تنسوا اهل غزة من دعاء .
@cyberbionas : تقديم
🔓 ثغرة في دقيقة : SQL Injection (الثغرة الاولة)
👨💻 تخيل أنك تكتب كلمة مرورك في موقع ما، والموقع يأخذ المدخلات مباشرة ويرسلها إلى قاعدة البيانات بدون فلترة… هنا يبدأ الخطر!
اي هي الثغرة ؟
🔹 SQL Injection هي استغلال خطأ في طريقة تعامل الموقع مع قاعدة البيانات، بحيث يسمح للمهاجم بحقن أوامر SQL إضافية.
يعني بدل ما الموقع يجيب بياناتك فقط… المهاجم يقدر يجلب بيانات كل المستخدمين!
مثال بسيط:
SELECT * FROM users WHERE username = 'admin' AND password = '1234';
المهاجم يدخل بدلاً من كلمة المرور:
' OR '1'='1
فتصبح الجملة:
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1';
🔥 النتيجة: الدخول ناجح بدون كلمة مرور!
أشهر أمثلة واقعية:
اختراق موقع Sony (2011) باستخدام SQL Injection.
تسريب ملايين الحسابات من عدة مواقع في العقد الماضي.
الحماية:
✔️ استخدم Prepared Statements أو ORM.
✔️ لا تثق أبداً بمدخلات المستخدم.
✔️ فلترة + Escaping دائم.
📢 تابعونا للمزيد من الثغرات والشروحات السريعة.
لا تنسوا اهل غزة من دعاء .
@cyberbionas : تقديم
❤1🔥1
📌 سنقدم لكم اليوم 15 اختصار مهم عليك معرفتها في ويندوز
🔹 Alt + Tab
يعرض صورًا مصغرة لجميع النوافذ أو التطبيقات المفتوحة. استمر بالضغط على Alt واضغط Tab للتنقل بينها.
🔹 Win + E
يفتح File Explorer مباشرة، مع التركيز على "Quick Access" أو "This PC" لتصفح الملفات والمجلدات.
🔹 Ctrl + A
تحديد كل العناصر داخل مجلد أو مستند أو حقل نص (يعمل في معظم التطبيقات).
🔹 Win + L
يقفل جهاز الكمبيوتر فورًا ويتطلب كلمة مرور/PIN لإعادة الاستخدام (مثالي عند الابتعاد).
🔹 Ctrl + F
يفتح شريط البحث "Find" في أغلب التطبيقات (المتصفحات، File Explorer، Word …) للبحث عن نص أو محتوى.
🔹 Win + , (comma)
يُظهر سطح المكتب مؤقتًا أثناء الضغط. بمجرد الإفلات، تعود النوافذ.
🔹 Ctrl + Shift + N
إنشاء مجلد جديد فورًا في File Explorer أو على سطح المكتب بدون الحاجة لزر الفأرة الأيمن.
🔹 Alt + F4
إغلاق النافذة أو التطبيق النشط. وإذا استُخدم على سطح المكتب يظهر مربع إيقاف التشغيل.
🔹 Win + Shift + S
فتح أداة القص لتصوير الشاشة (كامل/جزئي). يتم الحفظ في الـ Clipboard.
🔹 Ctrl + T
فتح تبويب جديد في المتصفحات (Chrome, Edge, Firefox…). يعمل أيضًا في بعض متصفحات الملفات.
🔹 Win + V
فتح سجل الحافظة Clipboard history (يتطلب تفعيله من Settings > System > Clipboard) لعرض آخر النسخ.
🔹 Ctrl + Alt + Del
فتح قائمة الأمان التي تسمح بالقفل، تبديل المستخدم، تسجيل الخروج، أو فتح Task Manager.
🔹 Win + I
يفتح تطبيق إعدادات ويندوز مباشرة للتخصيص والتحديثات.
🔹 Ctrl + Y
إعادة آخر عملية تراجع (Redo)، مثل الكتابة أو التنسيقات أو نقل الملفات.
🔹 F2
إعادة تسمية الملف أو المجلد أو الأيقونة المحددة مباشرة (أسرع من زر الفأرة الأيمن).
🔹 Alt + Tab
يعرض صورًا مصغرة لجميع النوافذ أو التطبيقات المفتوحة. استمر بالضغط على Alt واضغط Tab للتنقل بينها.
🔹 Win + E
يفتح File Explorer مباشرة، مع التركيز على "Quick Access" أو "This PC" لتصفح الملفات والمجلدات.
🔹 Ctrl + A
تحديد كل العناصر داخل مجلد أو مستند أو حقل نص (يعمل في معظم التطبيقات).
🔹 Win + L
يقفل جهاز الكمبيوتر فورًا ويتطلب كلمة مرور/PIN لإعادة الاستخدام (مثالي عند الابتعاد).
🔹 Ctrl + F
يفتح شريط البحث "Find" في أغلب التطبيقات (المتصفحات، File Explorer، Word …) للبحث عن نص أو محتوى.
🔹 Win + , (comma)
يُظهر سطح المكتب مؤقتًا أثناء الضغط. بمجرد الإفلات، تعود النوافذ.
🔹 Ctrl + Shift + N
إنشاء مجلد جديد فورًا في File Explorer أو على سطح المكتب بدون الحاجة لزر الفأرة الأيمن.
🔹 Alt + F4
إغلاق النافذة أو التطبيق النشط. وإذا استُخدم على سطح المكتب يظهر مربع إيقاف التشغيل.
🔹 Win + Shift + S
فتح أداة القص لتصوير الشاشة (كامل/جزئي). يتم الحفظ في الـ Clipboard.
🔹 Ctrl + T
فتح تبويب جديد في المتصفحات (Chrome, Edge, Firefox…). يعمل أيضًا في بعض متصفحات الملفات.
🔹 Win + V
فتح سجل الحافظة Clipboard history (يتطلب تفعيله من Settings > System > Clipboard) لعرض آخر النسخ.
🔹 Ctrl + Alt + Del
فتح قائمة الأمان التي تسمح بالقفل، تبديل المستخدم، تسجيل الخروج، أو فتح Task Manager.
🔹 Win + I
يفتح تطبيق إعدادات ويندوز مباشرة للتخصيص والتحديثات.
🔹 Ctrl + Y
إعادة آخر عملية تراجع (Redo)، مثل الكتابة أو التنسيقات أو نقل الملفات.
🔹 F2
إعادة تسمية الملف أو المجلد أو الأيقونة المحددة مباشرة (أسرع من زر الفأرة الأيمن).
@cyberbionas : تقديم
🔥2
ما حدث الساعات الماضية ليس مجرد اختراق عادي، بل هو جرس إنذار حقيقي لكل مطور وكل شركة برمجيات في العالم. أداة واحدة نثق بها جميعاً تحولت إلى "حصان طروادة" داخل بيئات التطوير.
🧠 كيف بدأت القصة؟
تم اختطاف واختراق إضافة Nx Console الشهيرة على متجر (VS Code) والتي يثق بها أكثر من 2.2 مليون مطور. المهاجمون نجحوا في إخفاء كود خبيث لسرقة البيانات (Credential Stealer) داخل ما يُعرف بـ الالتزام اليتيم (Orphan Commit).
⚡ الكارثة في 11 دقيقة:
النسخة الملوثة بالكود الخبيث كانت متاحة للتحميل لمدة 11 دقيقة فقط قبل اكتشافها وحذفها. لكن في عصر الأتمتة والتحديث التلقائي، 11 دقيقة كانت دهراً:
قَامت الإضافة فوراً بحصاد وسرقة التوكنات والمفاتيح الحساسة من أجهزة المطورين الذين تلوثت أجهزتهم بشكل تلقائي.
لم تترك شيئاً: سرقت مفاتيح GitHub، وNPM، وAWS، وKubernetes، وحتى خزائن 1Password.
📦 كيف سقطت القلعة؟ (GitHub نفسه)
أحد موظفي GitHub (مهندس برمجيات) كان يملك هذه الإضافة، وتم تحديثها لديه تلقائياً خلال تلك النافذة الزمنية الضيقة.
استغلت مجموعة الهكرز "TeamPCP" هذه الثغرة للوصول إلى ~3,800 مستودع أكواد برمجية داخلية (Internal Repositories) خاصة بشركة GitHub، والبيانات المسروقة تُباع الآن على الـ Dark Web. أمضى مهندسو جيتهاب ليلتهم بأكملها في عملية طوارئ لتدوير وتغيير (Rotate) جميع الأسرار والمفاتيح الحساسة.
الخطر الأكبر اليوم في الأمن السيبراني لم يعد اختراق سيرفراتك مباشرة.
بل هو "هجمات سلسلة التوريد البرمجية" (Software Supply Chain Attacks).
المهاجم لا يحتاج لاختراق نظامك الأمني المعقد؛ هو فقط يحتاج لاختراق أداة بسيطة أنت وثقت بها وأعطيتها الصلاحية داخل جهازك. الثقة العمياء بالتحديثات التلقائية للإضافات (Extensions) أصبحت الثغرة الأكبر.
By @cyberbionas
🧠 كيف بدأت القصة؟
تم اختطاف واختراق إضافة Nx Console الشهيرة على متجر (VS Code) والتي يثق بها أكثر من 2.2 مليون مطور. المهاجمون نجحوا في إخفاء كود خبيث لسرقة البيانات (Credential Stealer) داخل ما يُعرف بـ الالتزام اليتيم (Orphan Commit).
⚡ الكارثة في 11 دقيقة:
النسخة الملوثة بالكود الخبيث كانت متاحة للتحميل لمدة 11 دقيقة فقط قبل اكتشافها وحذفها. لكن في عصر الأتمتة والتحديث التلقائي، 11 دقيقة كانت دهراً:
قَامت الإضافة فوراً بحصاد وسرقة التوكنات والمفاتيح الحساسة من أجهزة المطورين الذين تلوثت أجهزتهم بشكل تلقائي.
لم تترك شيئاً: سرقت مفاتيح GitHub، وNPM، وAWS، وKubernetes، وحتى خزائن 1Password.
📦 كيف سقطت القلعة؟ (GitHub نفسه)
أحد موظفي GitHub (مهندس برمجيات) كان يملك هذه الإضافة، وتم تحديثها لديه تلقائياً خلال تلك النافذة الزمنية الضيقة.
استغلت مجموعة الهكرز "TeamPCP" هذه الثغرة للوصول إلى ~3,800 مستودع أكواد برمجية داخلية (Internal Repositories) خاصة بشركة GitHub، والبيانات المسروقة تُباع الآن على الـ Dark Web. أمضى مهندسو جيتهاب ليلتهم بأكملها في عملية طوارئ لتدوير وتغيير (Rotate) جميع الأسرار والمفاتيح الحساسة.
الخطر الأكبر اليوم في الأمن السيبراني لم يعد اختراق سيرفراتك مباشرة.
بل هو "هجمات سلسلة التوريد البرمجية" (Software Supply Chain Attacks).
المهاجم لا يحتاج لاختراق نظامك الأمني المعقد؛ هو فقط يحتاج لاختراق أداة بسيطة أنت وثقت بها وأعطيتها الصلاحية داخل جهازك. الثقة العمياء بالتحديثات التلقائية للإضافات (Extensions) أصبحت الثغرة الأكبر.
✅لذاك لا تحمل ادوات غير موثوقة .
✅و عطل اي تحديث تلقائي لادوات التي لديها صلاحيات
✅فالثقة لا تدوم للابد.
By @cyberbionas
❤1🔥1