الثغرة الأمنية من نوع Zero-Day في معالجات أندرويد
كشفت عن برنامج تجسسي جديد يُسمى NoviSpy، المرتبط بثغرات أمنية Zero-Day في شريحة Qualcomm.

الأدوات
يمكنك استدعاء وظائف واحدة أو أكثر لمساعدتك في استعلام المستخدم.
تم تقديم توقيعات الوظائف داخل علامات XML mode=\"abstract\" يعيد ~1500 حرف (صفحة PDF 1 أو وصف HTML) -- مسح رخيص لفحص الصلة قبل دفع تكلفة نص كامل. mode=\"full\" (الافتراضي) يعيد الجسم الكامل للمقالة. أفضل جهد: الفشل يعيد معلومات الخطأ بدلاً من رمي الأخطاء.", "parameters": {"$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": {"url": {"type": "string", "description": "URL العام http (s). تمنع الأعطال ما لم يتم تعيين 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 (~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يقوم هذا الوظيفة باسترداد نتائج الأمان، جودة الكود، والسلسلة الإغذائية التي تم تحديدها بالفعل\nمن قبل مسح Semgrep السابقة وتم رفعها إلى منصة Semgrep AppSec. لا يجري هذا\nإجراء مسح جديد أو تحليل الكود مباشرة. بدلًا من ذلك، يسأل عن واجهة API Semgrep للوصول\nإلى نتائج المسح التاريخية لمستودع معين أو مجموعة من المستودعات.\n\nالسلوك الافتراضي: في الوضع الافتراضي، يجب أن ترشح هذا الأداة بالمستودع الحالي. النموذج\nيجب أن يحدد اسم المستودع الحالي ويمرره في معلمة 'repos' لضمان\nالنتائج محدودة بقاعدة الكود المناسبة. ومع ذلك، يمكن للمستخدمين طلب نتائج\nمن مستودعات أخرى بشكل صريح، وفي هذه الحالة يجب أن يلتزم النموذج بهذا الطلب.\n\nاستخدم هذه الوظيفة عندما يطلب الملف ملخصًا، قائمة أو تحليلًا للنتائج القديمة،\nمثل:\n - "من فضلك أظهر 10 نتائج الأمان الأعلى واقترح حلولًا لها."\n - "أظهر جميع الثغرات الخطيرة المفتوحة في هذا المستودع."\n - "ملخص آخر نتائج مسح Semgrep." \n - "احصل على النتائج من المستودع X" (طلب صريح لمستودع مختلف)\n\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": "قائمة بأسماء المستودعات لترشيحها. اشمل المالك وأسماء المستودع، مثال 'owner/repository'", "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": "الثقة في المشكلات لترشيحها.", "title": "الثقة"}, "autotriage_verdict": {"anyOf": [{"enum": ["VERDICT_TRUE_POSITIVE", "VERDICT_FALSE_POSITIVE"], "type": "string", "description": ""}, {"type": "null", "description": ""}], "default": null, "description": "حكم التriage التلقائي للمشكلات لترشيحها. إذا لم يتم توفيره، تُعاد النتائج ذات الأحكام (بما في ذلك غير المصنفة).", "title": "حكم التriage التلقائي"}, "refs": {"default": [], "description": "قائمة بأسماء الـ git refs (فروع) لترشيح النتائج. إذا لم يتم توفيرها، تُعاد فقط النتائج على الفرع الأساسي.", "items": {"type": "string", "description": ""}, "title": "Refs", "type": "array"}, "limit": {"default": 10, "description": "عدد أقصى من النتائج لاستعادتها", "title": "الحد الأقصى", "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": "سلسلة قاعدة Semgrep بالتنسيق YAML", "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