التخصصات

الفئات

فئات التخصصات التي يمكن لمشروع Lagune استخدامها، من OWASP إلى التحصين الخاص بكل لغة مثل JavaScript و Python و Go و Rust، وطريقة تغييرها.

يجمع Lagune تخصصاته المدمجة في 13 فئة. وتحدد الفئات التي يستخدمها المشروع أي التخصصات المدمجة تنضم إلى كتالوجه، وهي تنقسم قسمين: ما يفعله النظام، واللغة المكتوب بها.

ما دامت لا توجد فئة مسجّلة، يستخدم المشروع owasp وحدها. ويسجّل /lagune-charter كل فئة تدعمها قراءته للمشروع، ويمكنك تغييرها بنفسك في أي وقت.

ما يفعله النظام​

الفئةالمفتاحما تحصّنه
OWASPowaspمخاطر أمان التطبيقات التي يتتبعها OWASP: الحقن، وخلل التحكم في الوصول، والمصادقة، وإخفاقات التشفير
البنية التحتيةinfraإعدادات الحاويات وأحمال العمل والحوسبة بلا خادم: Dockerfile و Compose وأمان Pod وصلاحيات IAM ومشغّلات FaaS
AI / LLMaiتكاملات الذكاء الاصطناعي و LLM، ضد prompt injection والربط غير الآمن للأدوات والوكلاء والاسترجاع و MCP
Lovablelovableتطبيقات Supabase المولّدة بالذكاء الاصطناعي (Lovable وما يشبهها): ثغرات RLS، ومفاتيح service_role المسرّبة، والإعدادات الافتراضية غير الآمنة

اللغة المكتوب بها​

الفئةالمفتاحما تحصّنه
JavaScriptjavascriptتنفيذ الكود عن بُعد عبر eval و child_process، و path traversal، و prototype pollution، في كل بيئات تشغيلها
Pythonpythonتنفيذ الكود عن بُعد عبر إلغاء تسلسل pickle و YAML، والتنقل عبر سلاسل str.format، و class pollution
Rustrustواجهات unsafe غير السليمة، وسوء استخدام transmute، وتجاوز سعة الأعداد الصحيحة، والسلوك غير المعرّف عند حدود FFI
C / C++c-cppأخطاء سلاسل التنسيق، وتجاوز سعة المخزن المؤقت، والكتابة خارج الحدود التي تتيح تنفيذ الكود
PHPphpتجاوز المصادقة عبر type juggling، وسلاسل gadget في حقن الكائنات، والإعدادات الافتراضية غير الآمنة
Gogoأخطاء الواجهات ذات قيمة nil المحددة النوع، و data races بين goroutines، والتزامن غير الآمن في المسارات الأمنية
Javajavaسلاسل gadget في إلغاء تسلسل ObjectInputStream التي تنتهي بتنفيذ الكود عن بُعد
Rubyrubyسلاسل gadget في إلغاء تسلسل Marshal.load و YAML التي تصل إلى تنفيذ الكود عن بُعد
.NET / C#dotnetتنفيذ الكود عن بُعد عبر إلغاء تسلسل BinaryFormatter، وتجاوزات الترميز التي تصل إلى XSS
تلميح

Lagune مستقل عن لغة البرمجة: يقرأ المسار كله مشروعك أيًا كانت لغته، وهذه الفئات تضيف فقط عمقًا في المزالق الخاصة بلغة واحدة.

أضف وأزل في أي وقت​

الفئة نقطة بداية، لا التزام. استخدم ما يناسب المشروع الآن وغيّره في أي وقت بالمفتاح، عبر write add و write remove. ويفتح --categories دون قيمة أداة اختيار تفاعلية في الطرفية (المسافة للتبديل، و Enter للتأكيد، والترك فارغًا للتخطي). وخارج الطرفية، مرّر الفئات بعده.

npx lagune write add --categories # interactive
npx lagune write add --categories owasp
npx lagune write add --categories owasp rust

يبدأ أول write add أو write remove من owasp، لذلك تترك إزالة كل الفئات قائمة فارغة، لا القائمة الافتراضية أبدًا. ويُحفظ كل تغيير في .lagune/configs.json، فيعمل الفريق كله بالمجموعة نفسها.

اطّلع على ما يستخدمه المشروع​

يعرض read list --categories كل فئة وما إذا كان المشروع يستخدمها:

npx lagune read list --categories
# Categories
# • owasp [used] Harden against the application security risks OWASP tracks
# • javascript [available] Harden JavaScript and its runtimes
# • php [available] Harden PHP against type-juggling auth bypass
# • go [available] Harden Go against typed-nil interface bugs
# ...
#
# No category is recorded yet, so this project uses the default: owasp.

اطّلع على الكتالوج لمعرفة التخصصات التي تحملها كل فئة. وتخصصاتك الخاصة، المكتوبة عبر /lagune-specialize، تنضم إلى الكتالوج أيًا كانت الفئات.

الأسئلة الشائعة

مرّر مفتاح الفئة إلى ‎--categories، مثل npx lagune write add --categories javascript. ويسجّل ميثاق الأمان أيضًا الفئات التي تدعمها قراءته للمشروع ما دامت لا توجد فئة مسجّلة.

نعم. اسردها في السطر نفسه، واحدة تلو الأخرى.

ابدأ بـ owasp، الفئة الافتراضية، ثم أضف فئة لغتك أو تقنياتك. لا تُحمَّل التخصصات إلا عند الحاجة، لذلك لا تكلّف الفئة شيئًا حتى تحتاج مرحلة ما إلى أحد تخصصاتها.