البريد المخزن: أمن تقني متقدم لشركات الأعمال الصغيرة والمتوسطة

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

12/03/2024 SintelSedat Akfidan 7 دقيقة قراءة
البريد المخزن: أمن تقني متقدم لشركات الأعمال الصغيرة والمتوسطة

الأدوات

يمكنك استدعاء واحد أو أكثر من الوظائف لمساعدتك في استعلام المستخدم.

تم تقديم توقيعات الوظائف داخل علامات XML : {"type": "function", "function": {"name": "google-surf__search", "description": "بحث جوجل فردي -> عنوان / رابط / ملخص لكل نتيجة. تتم تخزين النتائج لـ 24 ساعة، لذا فإن تكرار الاستعلام مجاني -- تفضل إعادة الاستعلام على تخزين النتائج بنفسك. للاستعلامات الحالية / اليومية / المفاجئة ضع SURF_CACHE_TTL_SEARCH_MS=0 لتجاوز التخزين المؤقت. الحد الافتراضي 10 (ماكس 20). المكالمة الأولى ~4s (تسخين كروم)، ثم ~2s. في حالة وجود CAPTCHA يفتح جوجل كروم مرئيًا لشخص ما لحله (حماية IP مشترك)؛ SURF_CLOUD_MODE=true يجعله يفشل بسرعة بدلاً من ذلك.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 400, "description": "استعلام بحث جوجل. استخدم فلاتر site: واقتباسات للتطابق الدقيق."}, "limit": {"default": 10, "description": "عدد النتائج القصوى (القيمة الافتراضية 10).", "type": "integer", "minimum": 1, "maximum": 20}}, "required": ["query"]}}} {"type": "function", "function": {"name": "google-surf__search_parallel", "description": "تشغيل 2-10 بحث جوجل بالتوازي. استخدم لمقارنة زوايا متعددة في مكالمة واحدة. كل استعلام يحسب ضد الحد الأقصى الداخلي (~10/ دقيقة) - لا تكرر هذا للحصول على بيانات كبيرة. المكالمة الأولى تضيف 5-10 ثوانٍ دافئة للحوض. يتم عزل فشل كل استعلام في مصفوفة النتائج. معطل في الوضع السحابي.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"queries": {"minItems": 1, "maxItems": 10, "type": "array", "items": {"type": "string", "description": ""}, "description": "2-10 استعلامات لتشغيلها بالتوازي."}, "limit": {"default": 10, "description": "عدد النتائج لكل استعلام.", "type": "integer", "minimum": 1, "maximum": 20}}, "required": ["queries"]}}} {"type": "function", "function": {"name": "google-surf__extract", "description": "استرداد عنوان URL العام -> نص مقالة نظيفة. HTML عبر Mozilla Readability; يتم اكتشاف PDF الأكاديمي تلقائيًا (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) عبر Content-Type، %PDF السحر، citation_pdf_url meta، وقواعد URL لكل домين. العمق المدرج: mode=\"abstract\" يعود ~1500 حرف (صفحة PDF 1 أو وصف HTML meta) - مسح رخيص لفحص الصلة قبل دفع نص كامل. mode=\"full\" (القيمة الافتراضية) يعود كامل مقالة. أفضل جهد: تفشل العودة بدلًا من رمي الأخطاء.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"url": {"type": "string", "description": "URL العام http(s). يتم حظر IPs العائدة إلا إذا كان SURF_ALLOW_PRIVATE=true."}, "max_chars": {"default": 8000, "description": "الحد الأقصى لعدد الحروف في النص (القيمة الافتراضية 8000، تُحدد عبر SURF_EXTRACT_MAX_CHARS).", "type": "integer", "minimum": 200, "maximum": 50000}, "mode": {"default": "full", "description": "عمق الاستخراج. full = جسم المقالة بالكامل (القيمة الافتراضية؛ يُستخدم Playwright إذا لزم الأمر). abstract = مسح رخيص: صفحة PDF 1 أو وصف HTML meta (~1500 حرف)؛ استخدم لفحص الصلة قبل دفع نص كامل. metadata = عدد الصفحات فقط (PDF). يتم اكتشاف PDF الأكاديمي تلقائيًا (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC)؛ الوضع المجرد يتجاهل Playwright بالنسبة لهم.", "type": "string", "enum": ["full", "abstract", "metadata"]}}, "required": ["url"]}}} {"type": "function", "function": {"name": "google-surf__search_extract", "description": "بحث جوجل واحد + استخراج متوازي للنتائج الأعلى. الوضع الافتراضي mode=\"abstract\" يعود SERP مع تلخيص ~1500 حرف لكل نتيجة - مسح رخيص لما تحتويه النتائج الأعلى فعليًا، عدد أقل من الرموز مقارنة بجلب جميع النصوص. انتقل إلى mode=\"full\" فقط عندما تحتاج إلى نصوص المقالات الفعلية (أبطأ، عدد رموز أكبر بكثير). يتم عزل فشل الاستخراج لكل صفحة. معطل في الوضع السحابي.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"query": {"type": "string", "minLength": 1, "maxLength": 400, "description": "استعلام البحث."}, "limit": {"default": 5, "description": "عدد النتائج للاستخراج (القيمة الافتراضية 5، الحد الأقصى 10).", "type": "integer", "minimum": 1, "maximum": 10}, "max_chars": {"description": "الحد الأقصى لعدد الحروف في جسم كل نتيجة. القيمة الافتراضية تعتمد على الوضع: ~1500 لوضع المجرد، 8000 لوضع الكامل (SURF_EXTRACT_MAX_CHARS، محدودة هنا بـ 20000).", "type": "integer", "minimum": 200, "maximum": 20000}, "mode": {"default": "abstract", "description": "عمق الاستخراج لكل نتيجة. abstract (القيمة الافتراضية) = مسح رخيص، ~1500 حرف / نتيجة، مثالي لفحص الصلة. full = جسم كامل لكل نتيجة، أبطأ بكثير وعدد رموز أكبر؛ فقط عندما تحتاج فعليًا إلى نصوص المقالات.", "type": "string", "enum": ["full", "abstract"]}}, "required": ["query"]}}} {"type": "function", "function": {"name": "google-surf__health", "description": "حالة خادم MCP: الوضع المترابط + الانتقالات، استخدام محدد الحد الأقصى، حجم التخزين المؤقت، الإعدادات. اتصل بهذا إذا بدأت عمليات البحث في الفشل أو العودة فارغة - تحقق من cascade.totalCaptchas وrateLimiter.queueSize، وتقليل حجم البحث إذا كانت مرتفعة.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {}}}} {"type": "function", "function": {"name": "semgrep__semgrep_rule_schema", "description": "\nاحصل على نموذج قاعدة Semgrep\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - الحصول على النموذج المطلوب لكتابة قاعدة Semgrep\n - تحتاج إلى رؤية ما هي الحقول المتاحة لقاعدة Semgrep\n - تحقق من ما هي الحقول المتاحة لقاعدة Semgrep\n - تحقق من صحة التركيب لقاعدة Semgrep\n", "parameters": {"properties": {}, "title": "semgrep_rule_schemaArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__get_supported_languages", "description": "\nيعيد قائمة اللغات المدعومة من قبل Semgrep\n\nاستخدم هذا الأداة فقط إذا كنت غير متأكد من اللغات التي يدعمها Semgrep.\n", "parameters": {"properties": {}, "title": "get_supported_languagesArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_findings", "description": "\nيقوم بجلب نتائج من واجهة API لنتائج Semgrep AppSec\n\nيقوم هذا الدالة بجلب النتائج الأمنية ونوعية الكود والسلسلة التوريد التي تم تحديدها مسبقًا\nمن عمليات Semgrep الماسح السابقة وتم رفعها إلى منصة Semgrep AppSec. لا يقوم هذا بأداء مسح جديد أو تحليل الكود مباشرة. بدلًا من ذلك، يسأل API Semgrep للوصول إلى نتائج المسح السابقة لمستودع معين أو مجموعة من المستودعات.\n\nالسلوك الافتراضي: بشكل افتراضي، يجب أن يفلتر هذا الأداة حسب المستودع الحالي. يجب أن يحدد النموذج اسم المستودع الحالي ويمرره في معلمة 'repos' لضمان أن تكون النتائج محدودة بالمشروع ذاته. ومع ذلك، يمكن للمستخدمين طلب نتائج من مستودعات أخرى بشكل صريح، وفي هذه الحالة يجب أن يحترم النموذج هذا الطلب.\n\nاستخدم هذه الدالة عندما يطلب الملف ملخصًا، قائمة أو تحليلًا لنتائج موجودة، مثل:\n - "من فضلكم اعرض أبرز 10 نتائج أمنية واقتراح حلول لها."\n - "أظهر جميع الثغرات الحرجة المفتوحة في هذا المستودع."\n - "ملخص النتائج الأخيرة من Semgrep."\n - "احصل على نتائج من المستودع X" (طلب صريح لمستودع مختلف)\n\nهذه الدالة مثالية للقيام ب:\n- مراجعة، قائمة أو ملخص نتائج المسح السابقة.\n- تقديم رؤى قابلة للتنفيذ أو نصائح لتصحيح البيانات الموجودة.\n\nلا تستخدم هذه الدالة لأداء مسح جديد أو فحص كود لم يتم تحليله بواسطة Semgrep. لمسح جديد، استخدم الدالة المناسبة.\n", "parameters": {"properties": {"issue_type": {"default": "ISSUE_TYPE_SAST", "description": "نوع المشكلة لفلترة حسبه.", "enum": ["ISSUE_TYPE_SAST", "ISSUE_TYPE_SCA"], "title": "Issue Type", "type": "string"}, "repos": {"default": [], "description": "قائمة أسماء المستودعات لفلترة حسبها. تشمل المالك واسم المستودع، مثال 'owner/repository'", "items": {"type": "string", "description": ""}, "title": "Repos", "type": "array"}, "status": {"default": "ISSUE_TAB_OPEN", "description": "حالة المشكلة لفلترة حسبها.", "enum": ["ISSUE_TAB_OPEN", "ISSUE_TAB_CLOSED", "ISSUE_TAB_IGNORED", "ISSUE_TAB_REVIEWING", "ISSUE_TAB_FIXING"], "title": "Status", "type": "string"}, "severities": {"anyOf": [{"items": {"enum": ["SEVERITY_CRITICAL", "SEVERITY_HIGH", "SEVERITY_MEDIUM", "SEVERITY_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "شدة المشكلات لفلترة حسبها.", "title": "Severities"}, "confidence": {"anyOf": [{"items": {"enum": ["CONFIDENCE_HIGH", "CONFIDENCE_MEDIUM", "CONFIDENCE_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "الثقة في المشكلات لفلترة حسبها.", "title": "Confidence"}, "autotriage_verdict": {"anyOf": [{"enum": ["VERDICT_TRUE_POSITIVE", "VERDICT_FALSE_POSITIVE"], "type": "string", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "الحكم التلقائي في المشكلات لفلترة حسبها. إذا لم يتم تقديمه، تُعاد النتائج ذات الحكم (بما في ذلك غير المقيّمة).", "title": "Autotriage Verdict"}, "refs": {"default": [], "description": "قائمة git الاقتباسات (أسماء الفروع) لفلترة النتائج حسبها. إذا لم يتم تقديمها، تُعاد فقط النتائج من الفرع الرئيسي.", "items": {"type": "string", "description": ""}, "title": "Refs", "type": "array"}, "limit": {"default": 10, "description": "عدد أقصى للنتائج المراد إعادتها", "title": "Limit", "type": "integer"}}, "title": "semgrep_findingsArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_scan_with_custom_rule", "description": "\nيقوم بتشغيل مسح Semgrep باستخدام قاعدة مخصصة على المحتوى المقدم\nويعيد النتائج بصيغة JSON\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - مسح ملفات الكود لبحث عن ثغرات أمنية معينة غير المغطاة من قبل القواعد الافتراضية لـ Semgrep\n - مسح ملفات الكود لبحث عن مشكلة معينة غير المغطاة من قبل القواعد الافتراضية لـ Semgrep\n", "parameters": {"$defs": {"CodeFile": {"properties": {"path": {"description": "مسار ملف الكود", "title": "Path", "type": "string"}, "content": {"description": "محتوى ملف الكود", "title": "Content", "type": "string"}}, "required": ["path", "content"], "title": "CodeFile", "type": "object"}}, "properties": {"code_files": {"description": "قائمة قوائم تحتوي على مفاتيح 'path' و'content'", "items": {"$ref": "#/$defs/CodeFile", "description": ""}, "title": "Code Files", "type": "array"}, "rule": {"description": "سلسلة قاعدة Semgrep باللغة YAML", "title": "Rule", "type": "string"}}, "required": ["code_files", "rule"], "title": "semgrep_scan_with_custom_ruleArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__semgrep_scan", "description": "\nيقوم بتشغيل مسح Semgrep محليًا على ملفات الكود المقدمة ويُعيد النتائج بصيغة JSON.\n\nيرتقب الملفات أن تكون مسارات مطلقة لملفات الكود.\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - مسح ملفات الكود لبحث عن ثغرات أمنية\n - مسح ملفات الكود لبحث عن مشكلات أخرى\n", "parameters": {"$defs": {"CodePath": {"properties": {"path": {"description": "مسار مطلق لملف الكود", "title": "Path", "type": "string"}}, "required": ["path"], "title": "CodePath", "type": "object"}}, "properties": {"code_files": {"description": "قائمة قوائم تحتوي على مفاتيح 'path' التي تشير إلى مسارات مطلقة لملفات الكود", "items": {"$ref": "#/$defs/CodePath", "description": ""}, "title": "Code Files", "type": "array"}}, "required": ["code_files"], "title": "semgrep_scanArguments", "type": "object"}}} {"type": "function", "function": {"name": "semgrep__get_abstract_syntax_tree", "description": "\nيعيد شجرة التعبير المجردة (AST) لملف الكود المقدم بصيغة JSON\n\nاستخدم هذا الأداة عندما تحتاج إلى:\n - الحصول على شجرة التعبير المجردة (AST) لملف الكود المقدم\n - الحصول على AST لملف\n - فهم بنية الكود بشكل أكثر تفصيلًا\n - رؤية ما يراه المترجم في الكود\n", "parameters": {"properties": {"code": {"description": "الكود الذي نحصل منه على AST", "title": "Code", "type": "string"}, "language": {"description": "لغة البرمجة للكود", "title": "Language", "type": "string"}}, "required": ["code", "language"], "title