Package google.security.safebrowsing.v5alpha1

الفهرس

SafeBrowsing

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

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)

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

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

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

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

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

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

BatchGetHashListsRequest

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

الحقول
names[]

string

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

version[]

bytes

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

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

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

desired_hash_length
(deprecated)

HashLength

طول البادئة المطلوبة للهاشتاغات التي يتم عرضها بالبايت سيعرض الخادم بعد ذلك جميع بادئات التجزئة بهذا الطول المحدّد.

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

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

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 من أجل الوضوح.

desired_hash_length
(deprecated)

HashLength

طول البادئة المطلوبة للهاشتاغات التي يتم عرضها بالبايت سيعرض الخادم بعد ذلك جميع بادئات التجزئة بهذا الطول المحدّد.

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

size_constraints

SizeConstraints

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

HashList

قائمة بالعلامات المحوَّلة التي يتم تحديدها حسب اسمها

الحقول
name

string

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

version

bytes

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

partial_update

bool

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

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

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

compressed_removals

RiceDeltaEncoded32Bit

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

minimum_wait_duration

Duration

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

sha256_checksum

bytes

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

metadata

HashListMetadata

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

حقل الربط compressed_additions النسخة المشفَّرة بترميز Rice-delta للإضافة تكون أطوال بادئات التجزئة للإضافة متسقة في جميع الإضافات المدرَجة في القائمة. وهي إما desired_hash_length التي أرسلها العميل أو قيمة اختارها الخادم إذا حذف العميل هذا الحقل. يمكن أن يكون 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

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

supported_hash_lengths[]
(deprecated)

HashLength

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

hash_length

HashLength

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

HashLength

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

عمليات التعداد
HASH_LENGTH_UNSPECIFIED الطول غير محدّد. لن يعرض الخادم هذه القيمة في الردود المرسَلة إلى العميل (في الحقل supported_hash_lengths)، ولكن يُسمح للعميل بإرسال هذه القيمة إلى الخادم (في الحقل desired_hash_length)، وفي هذه الحالة سيختار الخادم قيمة تلقائيًا. يجب أن يسمح العملاء للخادم باختيار قيمة.
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 بت من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة 0 في أعلى 64 بت.

first_value_lo

fixed64

64 بت أدنى من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة 0 في 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 بايت. ثانيًا، يتم الآن التعامل مع البيانات المشفّرة على أنّها ذات ترتيب ثنائي كبير لتجنُّب خطوة الترتيب المكلّفة.

الحقول
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

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

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

filter

string

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

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

يتطلّب الفلتر "threat_type == ThreatType.SOCIAL_ENGINEERING" أن يكون نوع التهديد SOCIAL_ENGINEERING ضمن FullHashDetail. يشير المعرّف "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. في حال كانت التجزئة تمثّل موقعًا إلكترونيًا يتضمّن تهديدات متعددة (مثل MALWARE وSOCIAL_ENGINEERING)، لا يلزم إرسال التجزئة الكاملة مرتين كما هو الحال في الإصدار 4. بالإضافة إلى ذلك، تم تبسيط مدة ذاكرة التخزين المؤقت في حقل cache_duration واحد.

الحقول
full_hashes[]

FullHash

قائمة بدون ترتيب القائمة غير المرتبطة للتشفير الكامل التي تم العثور عليها

cache_duration

Duration

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

يجوز للعميل زيادة cache_duration لتحديد تاريخ انتهاء صلاحية جديد يكون لاحقًا من التاريخ الذي حدّده الخادم، وذلك إذا كان الحقل full_hashes فارغًا فقط. في جميع الأحوال، يجب ألا تزيد مدة الاحتفاظ بالذاكرة المؤقتة عن 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"