يستخدم مجرمو الإنترنت إعلانات ضارة لضرب مدراء Windows
يستخدم مجموعات الابتزاز (برامج الفدية) إعلانات محركات البحث لترويج مواقع تنزيل وهمية لـ Putty و WinSCP

أدوات
يمكنك استخدام وظائف واحدة أو أكثر لمساعدتي في الاستفسار.
لديك توقيعات الوظائف داخل علامات XML mode=\"abstract\" يعود ~1500 شخص (صفحة PDF 1 أو وصف HTML meta) -- مسح رخيص لفحص الصلة قبل دفع مقابل نص كامل. mode=\"full\" (الإفتراضي) يعود كل مقالة. المحاولة الأفضل: الفشل يعود خطأ Info بدلًا من رمي الخطأ.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"url": {"type": "string", "description": "عنوان URL العام. تمنع IP المحلية/الخاصة ما لم يتم تعيين 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 الأكاديمية تلقائيًا؛ الوضع المجرد يتجاهله 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 Findings.\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": "نوع المشكلة", "type": "string"}, "repos": {"default": [], "description": "قائمة بأسماء المستودعات لفلترة. اذكر مالك المستودع وأسمه، مثل 'مالك/مستودع'", "items": {"type": "string", "description": ""}, "title": "المستودعات", "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": "الحالة", "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": "degrees of the issues to filter by.", "title": "degrees"}, "confidence": {"anyOf": [{"items": {"enum": ["CONFIDENCE_HIGH", "CONFIDENCE_MEDIUM", "CONFIDENCE_LOW"], "type": "string", "description": ""}, "type": "array", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "degrees of the issues to filter by.", "title": "degrees"}, "autotriage_verdict": {"anyOf": [{"enum": ["VERDICT_TRUE_POSITIVE", "VERDICT_FALSE_POSITIVE"], "type": "string", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "Autotriage verdict of the issues to filter by. If not provided, findings with any verdict (including unrated) are returned.", "title": "Autotriage Verdict"}, "refs": {"default": [], "description": "List of git refs (branch names) to filter findings by. If not provided, only findings on the primary branch are returned.", "items": {"type": "string", "description": ""}, "title": "Refs", "type": "array"}, "limit": {"default": 10, "description": "Maximum number of findings to return", "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": "المسار", "type": "string"}, "content": {"description": "محتوى ملف الكود", "title": "المحتوى", "type": "string"}}, "required": ["path", "content"], "title": "CodeFile", "type": "object"}}, "properties": {"code_files": {"description": "قائمة بالملفات القاموسية مع مفاتيح 'path' و 'content'", "items": {"$ref": "#/$defs/CodeFile", "description": ""}, "title": "ملفات الكود", "type": "array"}, "rule": {"description": "نص قاعدة YAML لـ Semgrep", "title": "القاعدة", "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": "المسار", "type": "string"}}, "required": ["path"], "title": "CodePath", "type": "object"}}, "properties": {"code_files": {"description": "قائمة بالملفات القاموسية مع مفتاح 'path' يشير إلى مسار الملف المطلق لملف الكود", "items": {"$ref": "#/$defs/CodePath", "description": ""}, "title": "ملفات الكود", "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": "الكود", "type": "string"}, "language": {"description": "لغة البرمجة للكود", "title": "اللغة", "type": "string"}}, "required": ["code", "language"], "title": "get_abstract_syntax_treeArguments", "type": "object"}}}
{"type": "function", "function": {"name": "semgrep__semgrep_scan_supply_chain", "description": "\nيقوم بتشغيل مسح سلسلة الإمداد لـ Semgrep على الدليل المحدد،\nلكشف الثغرات الأمنية المحتملة في الطرف الثالث.\n\nاستخدم هذا الأداة عندما:\n - تغير إ