🧠 تخصصات Lagune وحدات معرفة أمنية مركّزة ومستقلة عن لغة البرمجة، لا تُحمَّل إلا عند الحاجة، ولا تُحمَّل افتراضيًا أبدًا. وهي ليست أوامر. وكتالوج مشروعك هو المجموعة التي يستخدمها: التخصصات المدمجة في فئاته إضافة إلى تخصصاته الخاصة. تلجأ إليها مرحلتا detect و verify أثناء عملهما، ويمكنك تحميل أي منها مباشرة في أي وقت.
- نظرة عامة
- آلية العمل
التحكم في الوصول
يتأكد من أن كل شخص لا يرى ولا يفعل إلا ما يُسمح له به، فلا يصل أحد إلى بيانات مستخدم آخر أو إلى إجراءات المسؤولين بمجرد تغيير رابط أو معرّف.
npx lagune read catalog access-controlنقطة API
يفحص الأبواب التي يفتحها تطبيقك للعالم الخارجي، فلا تستطيع طلبات الغرباء سحب بيانات خاصة أو تشغيل إجراءات لا ينبغي لها تشغيلها.
npx lagune read catalog api-endpointالمتصفح
يحرس ما يعمل في متصفحات زوارك، فلا يستطيع المهاجم حقن كود يسرق بيانات الدخول أو يتحكم فيما يراه مستخدموك وينقرون عليه.
npx lagune read catalog browserC / C++
يكتشف أخطاء الذاكرة منخفضة المستوى التي تتيح للمهاجمين إيقاف البرنامج أو تشغيل كودهم الخاص على خادمك.
npx lagune read catalog c-cppالحاويات
يراجع طريقة تغليف تطبيقك ونشره، فيبقى أي اختراق محصورًا بدلًا من أن يمنح المهاجم الجهاز كله.
npx lagune read catalog containerنقاط بيانات الاعتماد
يحمي مسارات تسجيل الدخول وإنشاء الحساب وإعادة تعيين كلمة المرور، فلا يستطيع المهاجمون تخمين كلمات المرور أو الاستيلاء على الحسابات أو إعادة تعيين كلمة مرور شخص آخر.
npx lagune read catalog credential-endpointالتشفير
يتأكد من تشفير البيانات الحساسة بشكل صحيح، فلا يمكن قراءة كلمات المرور والرموز المميزة والمعلومات الشخصية حتى لو تسرّبت.
npx lagune read catalog cryptoCSV
يحصّن جداول البيانات المصدّرة، فيقل كثيرًا احتمال أن يشغّل فتح ملف منزّل أمرًا ضارًا بصمت على جهاز أحدهم.
npx lagune read catalog csv.NET
يغطي المزالق الأمنية الخاصة بتطبيقات .NET التي قد تتيح للمهاجم تشغيل كوده الخاص على خادمك.
npx lagune read catalog dotnetالهوية الموحّدة
يحصّن خيار "تسجيل الدخول عبر Google أو Microsoft أو غيرهما"، فيصعب كثيرًا على المهاجم انتحال شخصية مستخدم أو التسلل إلى حساب ليس له.
npx lagune read catalog federationGo
يغطي المزالق الأمنية الخاصة بتطبيقات Go، وخاصة الأخطاء الدقيقة التي تظهر تحت الحمل الفعلي.
npx lagune read catalog goطلبات HTTP
يفحص البيانات التي تصل مع كل طلب ويب، فلا تستطيع المدخلات المخفية أو الخبيثة أن تدفع تطبيقك إلى فعل الشيء الخطأ.
npx lagune read catalog http-requestالبنية التحتية
يراجع الملفات التي تبني تطبيقك وتنشره، مثل Dockerfiles و Terraform وسير عمل CI، فلا يكشف إعداد واحد متساهل البيئة كلها.
npx lagune read catalog infraالمفسّر
يمنع تشغيل مدخلات المستخدم كأوامر، فلا يستطيع حقل في نموذج أو ملف مرفوع أن يجعل خادمك ينفّذ تعليمات المهاجم.
npx lagune read catalog interpreterJava
يغطي المزالق الأمنية الخاصة بتطبيقات Java التي قد تتيح للمهاجم تشغيل كوده الخاص على خادمك.
npx lagune read catalog javaJavaScript
يغطي المزالق الأمنية الخاصة بتطبيقات JavaScript و Node، من تشغيل كود غير موثوق إلى قراءة ملفات لا ينبغي له قراءتها.
npx lagune read catalog javascriptLLM
يحمي الميزات المبنية على نماذج الذكاء الاصطناعي، فلا تستطيع رسالة مصاغة بمكر خداع الذكاء الاصطناعي لتسريب البيانات أو إساءة استخدام الأدوات المتصلة به.
npx lagune read catalog llmالشبكة
يفحص طريقة تواصل تطبيقك مع الخدمات الأخرى، فلا يمكن خداعه لجلب شيء يتحكم فيه المهاجم أو الوثوق به.
npx lagune read catalog networkالمسارات
يمنع المهاجمين من التجول في ملفات خادمك، فلا يستطيعون قراءة ملفات خاصة أو الكتابة فوق ملفات مهمة بالتلاعب باسم ملف.
npx lagune read catalog pathالمدفوعات
يحصّن الدفع والفوترة، فيصعب كثيرًا التلاعب بالأسعار أو التهرب من الدفع أو تكرار عملية خصم.
npx lagune read catalog paymentPHP
يغطي المزالق الأمنية الخاصة بتطبيقات PHP التي قد تتيح للمهاجم تشغيل كوده الخاص أو تجاوز تسجيل الدخول.
npx lagune read catalog phpPython
يغطي المزالق الأمنية الخاصة بتطبيقات Python، وخاصة تحميل بيانات غير موثوقة قد تشغّل كود المهاجم.
npx lagune read catalog pythonRegex
يحصّن عمليات فحص النصوص لتبقى فعّالة، فيصعب كثيرًا على مدخل خبيث أن يجمّد تطبيقك بإثقاله.
npx lagune read catalog regexRuby
يغطي المزالق الأمنية الخاصة بتطبيقات Ruby، وخاصة تحميل بيانات غير موثوقة قد تشغّل كود المهاجم.
npx lagune read catalog rubyRust
يغطي المزالق الأمنية الخاصة بتطبيقات Rust، وخاصة كود unsafe الذي قد يفسد الذاكرة أو يوقف البرنامج.
npx lagune read catalog rustالأسرار
يُبقي كلمات المرور ومفاتيح API والرموز المميزة خارج الكود المصدري، فلا يسلّمها مستودع مشترك أو build مسرّب إلى مهاجم أبدًا.
npx lagune read catalog secretsServerless
يراجع الدوال السحابية وصلاحياتها، فلا يمكن إساءة استخدام دالة واحدة للوصول إلى أبعد بكثير مما ينبغي.
npx lagune read catalog serverlessSQL
يحرس طريقة تواصل تطبيقك مع قاعدة بياناته، فلا يستطيع مدخل مُصاغ عمدًا قراءة بيانات لم يُقصد أن يلمسها أو تغييرها أو حذفها.
npx lagune read catalog sqlSupabase
يُحكم إغلاق الخادم الخلفي على Supabase، فتصمد قواعد قاعدة البيانات فعلًا ولا تنتهي المفاتيح السرية مكشوفة للعامة.
npx lagune read catalog supabaseالنقل
يحصّن النقل لتنتقل البيانات عبر اتصال مشفّر، فيصعب كثيرًا قراءتها أو تعديلها في الطريق بين مستخدميك وتطبيقك.
npx lagune read catalog transportرفع الملفات
يحصّن رفع الملفات، فيصعب كثيرًا على أحد رفع ملف متنكر يشغّل كودًا أو يكتب فوق البيانات أو يملأ مساحة التخزين.
npx lagune read catalog uploadXML
يحصّن طريقة قراءة تطبيقك لبيانات XML، فتقل كثيرًا قدرة ملف مُصاغ عمدًا على تسريب ملفات الخادم أو إيقاف تطبيقك.
npx lagune read catalog xmlالاستخدام بنفسك
لاستخدام تخصص مباشرة، اطلب من وكيلك تحميله عبر read catalog <name> واكتب المهمة في الموجّه نفسه. فتعمل المعرفة على ما طلبته. ويعمل هذا في أي موجّه، حتى لو لم يكن له علاقة بمسار Lagune.
على سبيل المثال، موجّه حر ومباشر لإنشاء مجموعة RegExp آمنة باستخدام Python:
حمّل التخصص regex عبر `npx lagune read catalog regex`، ثم أنشئ مجموعة من التعابير النمطية في @src/utils/regex.py للتحقق من عناوين البريد الإلكتروني وأسماء المستخدمين.
يستخدم هذا hook حتميًا لاختبار كل RegExp ضد ReDoS، ويُبقي الآمنة منها، وينتج شيئًا مثل:
import re
EMAIL = re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$")
USERNAME = re.compile(r"^[a-zA-Z0-9_]{3,20}$")
def is_email(value: str) -> bool:
return EMAIL.match(value) is not None
def is_username(value: str) -> bool:
return USERNAME.match(value) is not None
اختبر نمطًا بنفسك في devina.io/redos-checker.
التخصصات المدمجة
التخصصات المدمجة مجمّعة في فئات. وهذه هي المجموعة التي تأتي مع Lagune:
| التخصص | الفئة | التركيز |
|---|---|---|
regex | owasp | ReDoS: أنماط تنفجر مع المدخلات المُصاغة عمدًا. |
network | owasp | SSRF وإعادة التوجيه: وجهات جلب أو إعادة توجيه يحددها المستخدم. |
interpreter | owasp, lovable | حقن الكود: eval، والتضمين الديناميكي، والاستدعاء بالاسم. |
sql | owasp | قواعد البيانات العلائقية: الحقن، واستدعاءات ORM الخام، والصلاحيات، ومدى وصول المحرك. |
path | owasp | مسارات نظام الملفات: traversal، والبايت الصفري، وتدفقات NTFS، وزرع الملفات. |
upload | owasp | رفع الملفات: النوع والتوقيع، والمحتوى الخبيث، والتخزين، والحدود. |
access-control | owasp, lovable | المصادقة والتفويض والجلسات: IDOR، والإسناد الجماعي، والمستأجرون، والجلسات. |
credential-endpoint | owasp, lovable | التخمين والروبوتات: القوة الغاشمة، ورش كلمات المرور، وحشو بيانات الاعتماد، وتحديد المعدل. |
federation | owasp | الثقة في الرموز: OAuth و OIDC، و SAML، والتحقق من JWT، وتسجيل الدخول برمز QR. |
http-request | owasp | مصدر الطلب: CSRF، وأخطاء إعداد CORS، وانتحال IP العميل. |
transport | owasp | أمان القناة: إعداد TLS، و HTTPS مقابل النص الصريح، و HSTS، والتثبيت. |
crypto | owasp, lovable | التشفير أثناء التخزين: الخوارزميات الضعيفة أو المخصصة، و CSPRNG، وإدارة المفاتيح. |
secrets | owasp, lovable | بيانات الاعتماد المكتوبة في الكود: مفاتيح ورموز وكلمات مرور حرفية في المصدر. |
api-endpoint | owasp | الواجهات غير REST: GraphQL و gRPC وتفويض WebSocket، و DoS، والمخطط. |
payment | owasp, lovable | مسار الدفع: التحقق من البوابة على الخادم، والاستدعاءات الموقّعة، و idempotency. |
xml | owasp | تحليل XML: XXE، والكيانات الخارجية، وتوسّع billion-laughs. |
csv | owasp | حقن الصيغ: خلايا جداول بيانات تبدأ بـ =/+/-/@. |
container | owasp, infra | إعداد الحاويات: root، و capabilities، وربط socket، وتحصين الصورة. |
infra | infra | البنية التحتية ككود: Terraform و Dockerfile و GitHub Actions. |
serverless | owasp, infra, lovable | دوال FaaS: أقل صلاحيات IAM، ومدخلات الأحداث، والسياق، والأسرار. |
llm | ai, lovable | مخاطر الذكاء الاصطناعي و LLM: prompt injection، والصلاحيات الذاتية، و RAG، و MCP، والمخرجات. |
supabase | lovable | الخادم الخلفي على Supabase: RLS معطّل افتراضيًا، وسياسات يولّدها الذكاء الاصطناعي خطأً، ونموذج المفاتيح. |
browser | javascript, lovable | مخاطر جهة العميل: XSS، و CSP، والتأطير، والتخزين، وغيرها. |
javascript | javascript | مخاطر على مستوى اللغة: RCE، و prototype pollution، وغيرها. |
python | python | مخاطر على مستوى اللغة: RCE عبر pickle، و class pollution، و -O، وغيرها. |
rust | rust | سلامة unsafe: سلوك غير معرّف من مستدعين آمنين، و transmute، والتجاوز. |
java | java | إلغاء التسلسل والكود المتنقل: سلاسل readObject، واختطاف الكائنات. |
ruby | ruby | إلغاء التسلسل و open: إحياء Marshal/YAML، وخاصية الأنابيب. |
php | php | type juggling و unserialize: التجزئات السحرية، وسلاسل POP. |
go | go | typed-nil و data races: nil != nil، و goroutines بذاكرة مشتركة. |
c-cpp | c-cpp | سلاسل التنسيق: printf(user_input)، والكتابة في أي موقع عبر %n. |
dotnet | dotnet | مخاطر على مستوى المنصة: RCE عبر BinaryFormatter، و @Html.Raw، وثغرات enum. |
معظم المعرفة المدمجة مستخلصة من OWASP. اطّلع على مصادر OWASP للربط الكامل بين كل تخصص وصفحات هجوم OWASP و Cheat Sheet المرجعية الخاصة به. وتستمد بعض الوحدات الخاصة بتقنيات معينة معرفتها من إرشادات الجهة المطوّرة نفسها بدلًا من ذلك: فالتخصص supabase، مثلًا، مأخوذ من توثيق Supabase ومن CVE-2025-48757.
تخصصاتك الخاصة
تنمو التخصصات المدمجة بإضافة ملف معرفة واحد وصف فهرس واحد، لا بأمر جديد أبدًا. وتضيف تخصصاتك الخاصة بالطريقة نفسها، عبر /lagune-specialize: وجّهه إلى مقال أو موضوع، فيستخلص تخصصًا جديدًا في مشروعك، يتمثل في الملف تحت .lagune/catalog/ ومدخله في .lagune/configs.json. وتخصصاتك موجودة دائمًا في الكتالوج، أيًا كانت فئاته، وأي تخصص منها يحل محل التخصص المدمج الذي يحمل الاسم نفسه.
حين تصادف مرحلة detect أو verify سياقًا يغطيه تخصص ما، تحمّل ذلك التخصص بنفسها عبر read catalog <name>. ويحدث هذا تلقائيًا، كجزء من المرحلة. ولا تحتاج إلى فعله يدويًا ليعمل.
اكتشف ما هو متاح
لسرد كتالوج مشروعك من الطرفية، تخصص واحد في كل سطر مع وسومه:
npx lagune read catalog
# regex: Regular Expression [required]
# network: Requests, Webhook, URL Fetch, Socket, IMDS, Redirect
# interpreter: Evaluator, Sink, Shell, Dynamic Execution
# ...
التخصص المعلَّم بـ [required] يُطبَّق دائمًا، أيًا كان العمل. وتعتمد التخصصات المدمجة التي تتضمنها القائمة على فئات مشروعك.
تُجلب المعرفة ذات الصلة لما يكونه المشروع فعلًا، بدلًا من تشغيل كل فحص افتراضيًا.
الأسئلة الشائعة
وحدة معرفة أمنية مركّزة ومستقلة عن لغة البرمجة، لا تُحمَّل إلا عند الحاجة، ولا تُحمَّل افتراضيًا أبدًا. وليست أمرًا مثل مهارات الوكيل.
التخصصات التي يستخدمها المشروع: التخصصات المدمجة في فئاته إضافة إلى تخصصاته الخاصة. وما دامت لا توجد فئة مسجّلة، يستخدم OWASP وحده.
لا. لا تُحمَّل إلا عند الحاجة، لما يكونه المشروع فعلًا.
في الموجّه نفسه الذي يحمل المهمة، اطلب من وكيلك تشغيل npx lagune read catalog <name>.
