Package google.security.safebrowsing.v5alpha1

الفهرس

SafeBrowsing

تتيح واجهات برمجة تطبيقات "التصفّح الآمن" للعملاء التحقّق من موارد الويب (عناوين URL في معظم الأحيان) من خلال مقارنتها بقوائم تُحدِّثها Google باستمرار وتضمّ موارد الويب غير الآمنة.

BatchGetHashLists

rpc BatchGetHashLists(BatchGetHashListsRequest) returns (BatchGetHashListsResponse)

الحصول على قوائم تجزئة متعددة في آنٍ واحد

من الشائع جدًا أن يحتاج العميل إلى الحصول على قوائم تجزئة متعدّدة. يُفضّل استخدام هذه الطريقة على استخدام طريقة Get العادية عدة مرات.

هذه هي طريقة Get العادية المجمّعة كما هو محدّد في https://google.aip.dev/231، وطريقة HTTP هي أيضًا GET.

GetHashList

rpc GetHashList(GetHashListRequest) returns (HashList)

الحصول على أحدث محتويات قائمة تجزئة قد تكون قائمة التجزئة إما قائمة تهديدات أو قائمة غير تهديدات، مثل ذاكرة التخزين المؤقت العالمية.

هذه هي طريقة Get العادية كما هو محدّد في https://google.aip.dev/131، وطريقة HTTP هي أيضًا GET.

ListHashLists

rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse)

قوائم التجزئة المستندة إلى قوائم العملاء

في الإصدار 5 من واجهة برمجة التطبيقات، لن تزيل Google أبدًا قائمة تجزئة سبق أن عرضتها هذه الطريقة. يتيح ذلك للعملاء تخطّي استخدام هذه الطريقة وتضمين جميع قوائم التجزئة التي يحتاجون إليها في الرمز البرمجي.

هذه هي طريقة List العادية كما هو محدّد في https://google.aip.dev/132، وطريقة HTTP هي GET.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

البحث عن التجزئات الكاملة التي تطابق البادئات المحدّدة

هذه طريقة مخصّصة على النحو المحدّد في https://google.aip.dev/136 (تشير الطريقة المخصّصة إلى أنّ هذه الطريقة لها اسم مخصّص ضمن تسميات تطوير واجهات برمجة التطبيقات العامة في Google، ولا تشير إلى استخدام طريقة HTTP مخصّصة).

SearchUrls

rpc SearchUrls(SearchUrlsRequest) returns (SearchUrlsResponse)

البحث عن عناوين URL تتطابق مع التهديدات المعروفة يتم التحقّق من كل عنوان URL وعبارات لاحقة المضيف وبادئة المسار (حتى عمق محدود). يعني ذلك أنّ الاستجابة قد تحتوي على عناوين URL لم يتم تضمينها في الطلب، ولكنّها تعبّر عن عناوين URL المطلوبة.

BatchGetHashListsRequest

طلب الحصول على قوائم تجزئة متعددة في الوقت نفسه

الحقول
names[]

string

الحقل مطلوب. تمثّل هذه السمة أسماء قوائم التجزئة المحدّدة. قد تكون القائمة قائمة تهديدات أو ذاكرة التخزين المؤقت العالمية. يجب ألا تحتوي الأسماء على عناصر مكرّرة، وإلا سيظهر للعميل خطأ.

version[]

bytes

إصدارات قائمة التجزئة التي يملكها العميل. إذا كانت هذه هي المرة الأولى التي يسترد فيها العميل قوائم التجزئة، يجب ترك الحقل فارغًا. بخلاف ذلك، يجب أن يقدّم العميل الإصدارات التي تلقّاها سابقًا من الخادم. يجب ألا يعالج العميل هذه البايتات.

ليس على العميل إرسال الإصدارات بالترتيب نفسه الذي تم به إدراج أسماء القوائم ذات الصلة. قد يرسل العميل عددًا أقل أو أكبر من الإصدارات في الطلب مقارنةً بعدد الأسماء. ومع ذلك، يجب ألا يرسل العميل إصدارات متعددة تتوافق مع الاسم نفسه، وإلا سيحصل على خطأ.

ملاحظة حول السجلّ: في الإصدار 4 من واجهة برمجة التطبيقات، كان يُطلق على هذا الحقل الاسم states، وتمت إعادة تسميته الآن إلى version لتوضيحه بشكل أكبر.

size_constraints

SizeConstraints

قيود الحجم المفروضة على كل قائمة في حال عدم تضمينها، لن تكون هناك أي قيود. يُرجى العِلم أنّ الأحجام هنا هي لكل قائمة، وليس مجمّعة على مستوى جميع القوائم.

BatchGetHashListsResponse

الرد الذي يحتوي على قوائم تجزئة متعددة

الحقول
hash_lists[]

HashList

تظهر قوائم التجزئة بالترتيب نفسه الوارد في الطلب.

FullHash

الهاش الكامل الذي تم تحديده من خلال نتيجة مطابقة واحدة أو أكثر

الحقول
full_hash

bytes

التجزئة الكاملة المطابقة هذه هي تجزئة SHA256. سيكون الطول 32 بايت بالضبط.

full_hash_details[]

FullHashDetail

قائمة بدون ترتيب حقل متكرّر يحدّد التفاصيل ذات الصلة بهذا التجزئة الكاملة.

FullHashDetail

تفاصيل حول تطابق التجزئة الكاملة.

ملاحظة مهمة حول التوافق مع الإصدارات المستقبلية: قد يضيف الخادم أنواعًا وسمات جديدة للتهديدات في أي وقت، وتُعدّ هذه الإضافات تغييرات طفيفة في الإصدار. تتّبع Google سياسة عدم عرض أرقام الإصدارات الثانوية في واجهات برمجة التطبيقات (راجِع https://cloud.google.com/apis/design/versioning للاطّلاع على سياسة تحديد الإصدارات)، لذا يجب أن تكون البرامج جاهزة لتلقّي رسائل FullHashDetail التي تحتوي على قيم التعداد ThreatType أو قيم التعداد ThreatAttribute التي يعتبرها البرنامج غير صالحة. لذلك، يتحمّل العميل مسؤولية التحقّق من صحة جميع قيم التعداد ThreatType وThreatAttribute. وإذا تم اعتبار أي قيمة غير صالحة، على العميل تجاهل رسالة FullHashDetail بأكملها.

الحقول
threat_type

ThreatType

تمثّل هذه السمة نوع التهديد. لن يكون هذا الحقل فارغًا أبدًا.

attributes[]

ThreatAttribute

قائمة بدون ترتيب سمات إضافية حول قيم التجزئة الكاملة هذه قد يكون هذا الحقل فارغًا.

GetHashListRequest

طلب للحصول على قائمة تجزئة، والتي قد تكون قائمة تهديدات أو قائمة غير تهديدات، مثل ذاكرة التخزين المؤقت العالمية

الميزات الجديدة في الإصدار 5: تمّت إعادة تسمية states، الذي كان يُعرف سابقًا بهذا الاسم في الإصدار 4، إلى version لتوضيح المعنى. تم الآن تسمية القوائم، وتمت إزالة أنواع المنصات وأنواع إدخالات التهديدات. يمكن الآن أن تتضمّن قوائم متعددة نوع التهديد نفسه، أو أن تتضمّن قائمة واحدة أنواع تهديدات متعددة. على عكس بادئات التجزئة ذات الطول المتغيّر في الإصدار 4 التي تسبّبت في حدوث مشاكل في العديد من عمليات التنفيذ من جهة العميل، أصبحت جميع التجزئات في القائمة الآن ذات طول واحد، ما يسمح بعمليات تنفيذ أكثر فعالية من جهة العميل. تم تبسيط القيود، وتمت إزالة نوع الضغط (يتم تطبيق الضغط دائمًا).

الحقول
name

string

الحقل مطلوب. اسم قائمة التجزئة هذه. قد تكون قائمة تهديدات أو ذاكرة التخزين المؤقت العالمية.

version

bytes

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

الميزات الجديدة في الإصدار 5: في الإصدار 4 من واجهة برمجة التطبيقات، كان يُطلق على هذا الحقل الاسم states، وتمت إعادة تسميته إلى version لتوضيح الغرض منه.

size_constraints

SizeConstraints

قيود الحجم المفروضة على القائمة في حال عدم تضمينها، لن تكون هناك أي قيود. ننصح بفرض قيود على جميع الأجهزة التي تتضمّن قدرة معالجة أو معدّل نقل بيانات أو مساحة تخزين محدودة.

HashList

قائمة بالتجزئات المحدّدة باسمها

الحقول
name

string

تمثّل هذه السمة اسم قائمة التجزئة. يُرجى العِلم أنّ "ذاكرة التخزين المؤقت العالمية" هي أيضًا مجرد قائمة تجزئة ويمكن الرجوع إليها هنا.

version

bytes

إصدار قائمة التجزئة. يجب ألا يعالج العميل هذه البايتات.

partial_update

bool

عندما تكون القيمة true، يكون هذا الاختلاف جزئيًا ويحتوي على عمليات إضافة وإزالة استنادًا إلى ما يتوفّر لدى العميل. عندما تكون القيمة false، تكون هذه القائمة الكاملة لقيم التجزئة.

عندما تكون القيمة خطأ، على العميل حذف أي نسخة مخزّنة محليًا من قائمة التجزئة هذه. وهذا يعني أنّ الإصدار الذي يملكه العميل قديم جدًا أو يُعتقد أنّ بيانات العميل تالفة. سيكون الحقل compressed_removals فارغًا.

عندما تكون القيمة صحيحة، على العميل تطبيق تحديث تدريجي من خلال تطبيق عمليات الإزالة ثم عمليات الإضافة.

compressed_removals

RiceDeltaEncoded32Bit

تمثّل هذه السمة نسخة مشفّرة باستخدام ترميز Rice-delta لفهارس الإزالة. بما أنّ كل قائمة تجزئة تحتوي بالتأكيد على أقل من 2^32 إدخالاً، يتم التعامل مع الفهارس على أنّها أعداد صحيحة 32 بت ويتم ترميزها.

minimum_wait_duration

Duration

على العملاء الانتظار لهذه المدة على الأقل للحصول على قائمة التجزئة مرة أخرى. في حال حذفها أو ضبطها على صفر، على العملاء استرجاع البيانات على الفور لأنّ ذلك يشير إلى أنّ الخادم لديه تعديل إضافي سيتم إرساله إلى العميل، ولكن تعذّر ذلك بسبب القيود التي حدّدها العميل.

sha256_checksum

bytes

القائمة التي تم فرزها لجميع قيم التجزئة، والتي تم تجزئتها مرة أخرى باستخدام خوارزمية SHA256 هذا هو المجموع الاختباري للقائمة المصنّفة لجميع التجزئات المتوفّرة في قاعدة البيانات بعد تطبيق التحديث المقدَّم. في حال عدم توفير أي تحديثات، سيحذف الخادم هذا الحقل للإشارة إلى أنّه على العميل استخدام المجموع الاختباري الحالي.

metadata

HashListMetadata

بيانات وصفية حول قائمة التجزئة لا تتم تعبئة هذا الحقل باستخدام الطريقة GetHashList، ولكن تتم تعبئته باستخدام الطريقة ListHashLists.

حقل الدمج compressed_additions تمثّل هذه السمة النسخة المشفرة باستخدام طريقة Rice-delta للإضافات. تكون أطوال بادئات التجزئة للإضافات موحّدة في جميع الإضافات في القائمة. يمكن أن تكون compressed_additions إحدى القيم التالية فقط:
additions_four_bytes

RiceDeltaEncoded32Bit

الإضافات المكوّنة من 4 بايت

additions_eight_bytes

RiceDeltaEncoded64Bit

الإضافات المكوّنة من 8 بايت

additions_sixteen_bytes

RiceDeltaEncoded128Bit

الإضافات المكوّنة من 16 بايت

additions_thirty_two_bytes

RiceDeltaEncoded256Bit

الإضافات المكوّنة من 32 بايت

HashListMetadata

بيانات وصفية حول قائمة تجزئة معيّنة

الحقول
threat_types[]

ThreatType

قائمة بدون ترتيب إذا لم يكن هذا الحقل فارغًا، يحدّد أنّ قائمة التجزئة هي نوع من قوائم التهديدات، ويسرد أنواع التهديدات المرتبطة بعمليات التجزئة أو بادئات التجزئة في قائمة التجزئة هذه. يمكن ترك الحقل فارغًا إذا لم يكن الإدخال يمثّل تهديدًا، أي في حال كان يمثّل نوعًا آمنًا على الأرجح.

likely_safe_types[]

LikelySafeType

قائمة بدون ترتيب إذا لم تكن هذه القيمة فارغة، فهذا يشير إلى أنّ قائمة التجزئة تمثّل قائمة بالتجزئات الآمنة على الأرجح، وتعدّد هذه القيمة الطرق التي تُعتبر بها التجزئات آمنة على الأرجح. يستبعد هذا الحقل الحقل threat_types.

description

string

وصف يمكن لشخص عادي قراءته عن هذه القائمة أن يكون مكتوبًا باللغة الإنجليزية

hash_length

HashLength

طول التجزئة المتوافق مع قائمة التجزئة هذه. ستتيح كل قائمة تجزئة طولًا واحدًا فقط. في حال توفير طول تجزئة مختلف لمجموعة أنواع التهديدات أو أنواع المحتوى الآمن نفسها، سيتم توفيرها كقائمة منفصلة باسم مميّز ومجموعة طول تجزئة خاصة بها.

HashLength

طول التجزئات في قائمة التجزئات

عمليات التعداد
HASH_LENGTH_UNSPECIFIED طول غير محدّد
FOUR_BYTES كل تجزئة هي بادئة من أربعة بايتات.
EIGHT_BYTES كل تجزئة هي بادئة من ثمانية بايتات.
SIXTEEN_BYTES كل تجزئة هي بادئة مؤلفة من ستة عشر بايت.
THIRTY_TWO_BYTES كل تجزئة هي تجزئة كاملة تتألف من 32 بايت.

LikelySafeType

أنواع المواقع الإلكترونية التي يُحتمل أن تكون آمنة

يُرجى العِلم أنّ SearchHashesResponse لا يحتوي على LikelySafeType عن قصد.

عمليات التعداد
LIKELY_SAFE_TYPE_UNSPECIFIED غير معروف.
GENERAL_BROWSING من المحتمل أن يكون هذا الموقع الإلكتروني آمنًا بدرجة كافية للتصفّح العام. يُعرف هذا أيضًا باسم ذاكرة التخزين المؤقت العامة.
CSD من المحتمل أنّ هذا الموقع الإلكتروني آمن بما يكفي ولا حاجة إلى تشغيل نماذج "الرصد من جهة العميل" أو عمليات التحقّق من حماية كلمة المرور.
DOWNLOAD من المحتمل أنّ هذا الموقع الإلكتروني آمن بما يكفي لعدم الحاجة إلى التحقّق من عمليات التنزيل منه.

ListHashListsRequest

طلب إدراج قوائم التجزئة المتاحة

الحقول
page_size

int32

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

page_token

string

رمز مميز للصفحة تم تلقّيه من طلب ListHashLists سابق. قدِّم هذه السمة لاسترداد الصفحة التالية.

ListHashListsResponse

الاستجابة التي تحتوي على بيانات وصفية حول قوائم التجزئة

الحقول
hash_lists[]

HashList

تظهر قوائم التجزئة بترتيب عشوائي. سيتم تضمين البيانات الوصفية الخاصة بقوائم التجزئة فقط، وليس المحتوى.

next_page_token

string

رمز مميز يمكن إرساله كـ page_token لاسترداد الصفحة التالية. في حال عدم توفّر هذا الحقل، لن تكون هناك صفحات لاحقة.

RiceDeltaEncoded128Bit

هي نفسها الدالة RiceDeltaEncoded32Bit باستثناء أنّها ترمّز أرقامًا من 128 بت.

الحقول
first_value_hi

uint64

تمثّل هذه السمة الجزء العلوي من 64 بت من الإدخال الأول في البيانات المرمّزة (التجزئة). إذا كان الحقل فارغًا، تكون جميع وحدات البت الـ 64 العليا صفرًا.

first_value_lo

fixed64

تمثّل هذه السمة 64 بت السفلى من الإدخال الأول في البيانات المرمّزة (التجزئات). إذا كان الحقل فارغًا، تكون الـ 64 بت السفلى كلها أصفارًا.

rice_parameter

int32

تمثّل هذه السمة مَعلمة Golomb-Rice. من المضمون أن تكون هذه المَعلمة بين 99 و126، بما في ذلك هذان الرقمان.

entries_count

int32

عدد الإدخالات التي تم تشفيرها باستخدام الترميز التفاضلي في البيانات المرمّزة إذا تم ترميز عدد صحيح واحد فقط، ستكون هذه القيمة صفرًا وسيتم تخزين القيمة الفردية في first_value.

encoded_data

bytes

القيم الدلتا المشفّرة التي تم تشفيرها باستخدام برنامج الترميز Golomb-Rice

RiceDeltaEncoded256Bit

هي نفسها RiceDeltaEncoded32Bit، باستثناء أنّها ترمّز أرقامًا من 256 بت.

الحقول
first_value_first_part

uint64

أول 64 بت من الإدخال الأول في البيانات المرمّزة (التجزئة) إذا كان الحقل فارغًا، تكون أول 64 بت كلها أصفارًا.

first_value_second_part

fixed64

البتات من 65 إلى 128 من الإدخال الأول في البيانات المرمّزة (التجزئات) إذا كان الحقل فارغًا، تكون جميع البتات من 65 إلى 128 صفرًا.

first_value_third_part

fixed64

البِتات من 129 إلى 192 من الإدخال الأول في البيانات المرمّزة (التجزئات) إذا كان الحقل فارغًا، تكون جميع البتات من 129 إلى 192 صفرًا.

first_value_fourth_part

fixed64

آخر 64 بت من الإدخال الأول في البيانات المرمّزة (التجزئات) إذا كان الحقل فارغًا، تكون آخر 64 بت كلها صفرًا.

rice_parameter

int32

تمثّل هذه السمة مَعلمة Golomb-Rice. يُضمَن أن تتراوح قيمة هذه المَعلمة بين 227 و254، ضِمنًا.

entries_count

int32

عدد الإدخالات التي تم تشفيرها باستخدام الترميز التفاضلي في البيانات المرمّزة إذا تم ترميز عدد صحيح واحد فقط، ستكون هذه القيمة صفرًا وسيتم تخزين القيمة الفردية في first_value.

encoded_data

bytes

القيم الدلتا المشفّرة التي تم تشفيرها باستخدام برنامج الترميز Golomb-Rice

RiceDeltaEncoded32Bit

البيانات المرمّزة باستخدام Rice-Golomb تُستخدَم إما للتجزئة أو لفهارس الإزالة. من المؤكّد أنّ كل قيمة تجزئة أو فهرس هنا له الطول نفسه، وهذا الطول هو 32 بت بالضبط.

بشكل عام، إذا رتّبنا جميع الإدخالات معجميًا، سنلاحظ أنّ البتات ذات الترتيب الأعلى لا تتغيّر عادةً بوتيرة البتات ذات الترتيب الأدنى. وهذا يعني أنّه إذا أخذنا أيضًا الفرق المجاور بين الإدخالات، فإنّ البتات ذات الترتيب الأعلى يكون احتمال أن تكون صفرًا كبيرًا. يستغل هذا الأسلوب الاحتمالية العالية للصفر من خلال اختيار عدد معيّن من البتات، ومن المرجّح أن تكون جميع البتات الأكثر أهمية من هذا العدد صفرًا، لذا نستخدم الترميز الأحادي. اطّلِع على حقل rice_parameter.

ملاحظة تاريخية: تم استخدام ترميز Rice-delta لأول مرة في الإصدار 4 من واجهة برمجة التطبيقات هذه. في الإصدار 5، تم إجراء تحسينَين مهمَّين: أولاً، أصبح ترميز Rice-delta متاحًا الآن مع بادئات تجزئة أطول من 4 بايتات؛ ثانيًا، يتم الآن التعامل مع البيانات المرمّزة على أنّها big-endian لتجنُّب خطوة ترتيب مكلفة.

الحقول
first_value

uint32

الإدخال الأول في البيانات المرمّزة (التجزئات أو الفهارس)، أو قيمة هذا الإدخال إذا تم ترميز بادئة تجزئة أو فهرس واحد فقط إذا كان الحقل فارغًا، تكون القيمة صفرًا.

rice_parameter

int32

تمثّل هذه السمة مَعلمة Golomb-Rice. يُضمَن أن تكون هذه المَعلمة بين 3 و30، بما في ذلك هذان الرقمان.

entries_count

int32

عدد الإدخالات التي تم تشفيرها باستخدام الترميز التفاضلي في البيانات المرمّزة إذا تم ترميز عدد صحيح واحد فقط، ستكون هذه القيمة صفرًا وسيتم تخزين القيمة الفردية في first_value.

encoded_data

bytes

القيم الدلتا المشفّرة التي تم تشفيرها باستخدام برنامج الترميز Golomb-Rice

‫RiceDeltaEncoded64Bit

هي نفسها الدالة RiceDeltaEncoded32Bit باستثناء أنّها ترمّز أرقامًا مؤلّفة من 64 بت.

الحقول
first_value

uint64

الإدخال الأول في البيانات المرمّزة (التجزئات)، أو قيمة هذا الإدخال إذا تم ترميز بادئة تجزئة واحدة فقط إذا كان الحقل فارغًا، تكون القيمة صفرًا.

rice_parameter

int32

تمثّل هذه السمة مَعلمة Golomb-Rice. يُضمَن أن تكون هذه المَعلمة بين 35 و62، بما في ذلك هذان الرقمان.

entries_count

int32

عدد الإدخالات التي تم تشفيرها باستخدام الترميز التفاضلي في البيانات المرمّزة إذا تم ترميز عدد صحيح واحد فقط، ستكون هذه القيمة صفرًا وسيتم تخزين القيمة الفردية في first_value.

encoded_data

bytes

القيم الدلتا المشفّرة التي تم تشفيرها باستخدام برنامج الترميز Golomb-Rice

SearchHashesRequest

طلب يرسله العميل للبحث عن بادئات تجزئة معيّنة.

تم تصميم هذه الميزة للبحث في قوائم التهديدات فقط، ولا تبحث في القوائم الأخرى، مثل "ذاكرة التخزين المؤقت العالمية".

الميزات الجديدة في الإصدار 5: لا يحتاج العملاء إلى تحديد ClientInfo أو حالات قوائم التجزئة في قاعدة البيانات المحلية. يهدف هذا الإجراء إلى تحسين الخصوصية. بالإضافة إلى ذلك، لا يحتاج العملاء إلى إرسال أنواع التهديدات التي تهمّهم.

الحقول
hash_prefixes[]

bytes

الحقل مطلوب. بادئات التجزئة التي سيتم البحث عنها يجب ألا يرسل العملاء أكثر من 1,000 بادئة تجزئة. ومع ذلك، بعد اتّباع إجراء معالجة عناوين URL، من المفترض ألا يحتاج العملاء إلى إرسال أكثر من 30 بادئة تجزئة.

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

filter

string

اختيارية: إذا كان العميل مهتمًا بالفلترة، مثل استرداد أنواع معيّنة فقط من التهديدات، يمكن تحديد ذلك. في حال عدم تحديدها، سيتم عرض جميع التهديدات المطابقة. ننصح بشدة بعدم إدراج هذا الحقل للحصول على الحماية الأكثر شمولاً التي يمكن أن يوفّرها "التصفّح الآمن".

يتم تحديد الفلتر باستخدام "لغة التعبير الشائعة" من Google، ويمكن العثور عليها على https://github.com/google/cel-spec مع أمثلة عامة. في ما يلي بعض الأمثلة المحدَّدة التي يمكن استخدامها هنا:

يتطلّب الفلتر "threat_type == ThreatType.SOCIAL_ENGINEERING" أن يكون نوع التهديد ضمن FullHashDetail هو SOCIAL_ENGINEERING. يشير المعرّف "threat_type" إلى نوع التهديد الحالي. يشير المعرّف "ThreatType" إلى مجموعة كل أنواع التهديدات المحتملة.

يتطلّب الفلتر "threat_type in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" أن يكون نوع التهديد UNWANTED_SOFTWARE أو MALWARE.

SearchHashesResponse

الاستجابة التي يتم عرضها بعد البحث عن تجزئات التهديدات

إذا لم يتم العثور على أي نتائج، سيعرض الخادم حالة OK (رمز حالة HTTP ‏200) مع ترك الحقل full_hashes فارغًا، بدلاً من عرض الحالة NOT_FOUND (رمز حالة HTTP ‏404).

الميزات الجديدة في الإصدار 5: تم الفصل بين FullHash وFullHashDetail. في حال كان التجزئة يمثّل موقعًا إلكترونيًا يتضمّن تهديدات متعدّدة (مثل البرامج الضارة والهندسة الاجتماعية)، ليس من الضروري إرسال التجزئة الكاملة مرّتين كما في الإصدار 4. بالإضافة إلى ذلك، تم تبسيط مدة التخزين المؤقت في حقل cache_duration واحد.

الحقول
full_hashes[]

FullHash

قائمة بدون ترتيب قائمة غير مرتبة لجميع قيم التجزئة الكاملة التي تم العثور عليها

cache_duration

Duration

مدة ذاكرة التخزين المؤقت من جهة العميل على العميل إضافة هذه المدة إلى الوقت الحالي لتحديد وقت انتهاء الصلاحية. بعد ذلك، ينطبق وقت انتهاء الصلاحية على كل بادئة تجزئة يستعلم عنها العميل في الطلب، بغض النظر عن عدد عمليات التجزئة الكاملة التي يتم عرضها في الردّ. حتى إذا لم يعرض الخادم أي تجزئات كاملة لبادئة تجزئة معيّنة، يجب أن يخزّن العميل هذه المعلومة مؤقتًا أيضًا.

إذا كان الحقل full_hashes فارغًا فقط، يجوز للعميل زيادة قيمة cache_duration لتحديد تاريخ انتهاء صلاحية جديد يكون لاحقًا للتاريخ الذي حدّده الخادم. في أي حال، يجب ألا تزيد مدة التخزين المؤقت عن 24 ساعة.

ملاحظة مهمة: يجب ألا يفترض العميل أنّ الخادم سيعرض مدة التخزين المؤقت نفسها لجميع الردود. يجوز للخادم اختيار مدة تخزين مؤقت مختلفة للردود المختلفة حسب الموقف.

SearchUrlsRequest

طلب يرسله العميل للبحث عن تهديدات تطابق عناوين URL المحدّدة.

تم تصميم هذه الميزة للبحث في قوائم التهديدات فقط، ولا تبحث في القوائم الأخرى، مثل "ذاكرة التخزين المؤقت العالمية".

الحقول
urls[]

string

الحقل مطلوب. عناوين URL المطلوب البحث عنها يجب ألا يرسل العملاء أكثر من 50 عنوان URL.

SearchUrlsResponse

الردّ الذي تم عرضه بعد البحث عن تهديدات تطابق عناوين URL المحدّدة

إذا لم يتم العثور على أي نتائج، سيعرض الخادم حالة OK (رمز حالة HTTP ‏200) مع ترك الحقل threats فارغًا، بدلاً من عرض الحالة NOT_FOUND (رمز حالة HTTP ‏404).

الحقول
threats[]

ThreatUrl

قائمة بدون ترتيب القائمة غير المرتبة لنتائج البحث المطابقة للتهديدات التي تم العثور عليها يحتوي كل إدخال على عنوان URL وأنواع التهديدات التي تم العثور عليها مطابقةً لعنوان URL هذا. يمكن أن يكون حجم القائمة أكبر من عدد عناوين URL في الطلب، لأنّه سيتم أخذ جميع صيغ عنوان URL في الاعتبار.

cache_duration

Duration

مدة ذاكرة التخزين المؤقت من جهة العميل على العميل إضافة هذه المدة إلى الوقت الحالي لتحديد وقت انتهاء الصلاحية. بعد ذلك، ينطبق وقت انتهاء الصلاحية على كل عنوان URL استعلم عنه العميل في الطلب، بغض النظر عن عدد عناوين URL التي تم عرضها في الرد. حتى إذا لم يعرض الخادم أي نتائج مطابقة لعنوان URL معيّن، يجب أن يخزّن العميل هذه المعلومة مؤقتًا أيضًا.

إذا كان الحقل threats فارغًا فقط، يجوز للعميل زيادة قيمة cache_duration لتحديد تاريخ انتهاء صلاحية جديد يكون لاحقًا للتاريخ الذي حدّده الخادم. في أي حال، يجب ألا تزيد مدة التخزين المؤقت عن 24 ساعة.

ملاحظة مهمة: يجب ألا يفترض العميل أنّ الخادم سيعرض مدة التخزين المؤقت نفسها لجميع الردود. يجوز للخادم اختيار مدة تخزين مؤقت مختلفة للردود المختلفة حسب الموقف.

SizeConstraints

القيود المفروضة على أحجام قوائم التجزئة

الحقول
max_update_entries

int32

الحد الأقصى للحجم من حيث عدد الإدخالات لن يحتوي التعديل على عدد من الإدخالات أكبر من هذه القيمة، ولكن من المحتمل أن يحتوي التعديل على عدد أقل من الإدخالات من هذه القيمة. يجب أن تكون هذه القيمة 1024 على الأقل. في حال حذف هذا الحقل أو ضبطه على صفر، لن يتم ضبط حد لحجم التحديث.

max_database_entries

int32

تضبط هذه السمة الحدّ الأقصى لعدد الإدخالات التي يريد العميل إضافتها إلى قاعدة البيانات المحلية الخاصة بالقائمة. (يجوز للخادم أن يطلب من العميل تخزين عدد أقل من هذا العدد من الإدخالات). في حال حذف هذا الحقل أو ضبطه على صفر، لن يتم ضبط حدّ لحجم قاعدة البيانات.

ThreatAttribute

سمات التهديدات قد تمنح هذه السمات معنى إضافيًا لتهديد معيّن، ولكنّها لن تؤثّر في نوع التهديد. على سبيل المثال، قد تحدّد إحدى السمات مستوى ثقة منخفضًا بينما تحدّد سمة أخرى مستوى ثقة أعلى. وقد تتم إضافة المزيد من السمات في المستقبل.

عمليات التعداد
THREAT_ATTRIBUTE_UNSPECIFIED سمة غير معروفة إذا تم عرض هذا الرمز من خلال الخادم، على البرنامج تجاهل FullHashDetail بالكامل.
CANARY تشير إلى أنّه يجب عدم استخدام threat_type لفرض السياسات.
FRAME_ONLY تشير إلى أنّه يجب استخدام threat_type فقط لفرض القيود على الإطارات.

ThreatType

أنواع التهديدات

عمليات التعداد
THREAT_TYPE_UNSPECIFIED نوع التهديد غير معروف. إذا تم عرض هذا الرمز من خلال الخادم، على البرنامج تجاهل FullHashDetail بالكامل.
MALWARE

نوع التهديد الذي تمثله البرامج الضارة البرامج الضارّة هي أي تطبيق للأجهزة الجوّالة أو برنامج تم تصميمه خصيصًا لإلحاق الضرر بجهاز الكمبيوتر أو بالجهاز الجوّال أو ببرامج الجهاز أو بمستخدميه. وتُظهِر البرامج الضارة سلوكًا خبيثًا يمكن أن يشمل تثبيت برامج بدون موافقة المستخدم وتثبيت برامج ضارة، مثل الفيروسات.

يمكنك الاطّلاع على مزيد من المعلومات هنا.

SOCIAL_ENGINEERING

نوع تهديد الهندسة الاجتماعية تتظاهر صفحات الهندسة الاجتماعية بشكل زائف بأنّها تتصرّف نيابةً عن جهة خارجية بهدف تضليل المشاهدين وحثّهم على تنفيذ إجراء لا يثق المشاهد إلا في وكيل حقيقي لتلك الجهة الخارجية. التصيّد الاحتيالي هو نوع من الهندسة الاجتماعية يخدع المشاهد لحثّه على تنفيذ إجراء محدّد، مثل تقديم معلومات، مثل بيانات اعتماد تسجيل الدخول.

يمكنك الاطّلاع على مزيد من المعلومات هنا.

UNWANTED_SOFTWARE نوع التهديد الذي تمثله البرامج غير المرغوب فيها البرامج غير المرغوب فيها هي أي برامج لا تلتزم بمبادئ البرامج في Google ولكنها ليست برامج ضارة.
POTENTIALLY_HARMFUL_APPLICATION نوع التهديد الذي قد يتسبّب به التطبيق الضار كما تستخدمه خدمة "Google Play للحماية" في "متجر Play"

ThreatUrl

عنوان URL يطابق واحدًا أو أكثر من التهديدات

الحقول
url

string

عنوان URL المطلوب الذي تمّت مطابقته مع تهديد واحد أو أكثر

threat_types[]

ThreatType

قائمة بدون ترتيب القائمة غير المرتبة للتهديدات التي تم تصنيف عنوان URL على أنّه يندرج ضمنها.