Method: threatListUpdates.fetch

מאחזר את העדכונים האחרונים של רשימת האיומים. לקוח יכול לבקש עדכונים לכמה רשימות בבת אחת.

בקשת HTTP

POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch

בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
שדות
client

object (ClientInfo)

המטא-נתונים של הלקוח.

listUpdateRequests[]

object (ListUpdateRequest)

העדכונים המבוקשים של רשימת האיומים.

גוף התגובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

ייצוג JSON
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
שדות
listUpdateResponses[]

object (ListUpdateResponse)

עדכוני הרשימה המבוקשים על ידי הלקוחות. מספר התגובות כאן עשוי להיות נמוך ממספר הבקשות ששלחו הלקוחות. זה המקרה, לדוגמה, אם לשרת אין עדכונים עבור רשימה מסוימת.

minimumWaitDuration

string (Duration format)

משך הזמן המינימלי שהלקוח צריך להמתין לפני שליחת בקשת עדכון. אם לא מגדירים את השדה הזה, הלקוחות יכולים להתעדכן ברגע שהם רוצים.

משך זמן בשניות עם עד תשע ספרות עשרוניות, שמסתיים ב-'s'. דוגמה: "3.5s".

ListUpdateRequest

בקשה אחת לעדכון רשימה.

ייצוג JSON
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
שדות
threatType

enum (ThreatType)

סוג האיום שנוצר על ידי הרשומות ברשימה.

platformType

enum (PlatformType)

סוג הפלטפורמה שנמצא בסיכון, לפי הרשומות ברשימה.

threatEntryType

enum (ThreatEntryType)

סוגי הרשומות שנמצאים ברשימה.

state

string (bytes format)

המצב הנוכחי של הלקוח עבור הרשימה המבוקשת (מצב הלקוח המוצפן שהתקבל לאחר העדכון האחרון של הרשימה).

מחרוזת בקידוד base64.

constraints

object (Constraints)

האילוצים שמשויכים לבקשה הזו.

מגבלות

האילוצים החלים על העדכון הזה.

ייצוג JSON
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
שדות
maxUpdateEntries

integer

הגודל המרבי של מספר הרשומות. העדכון לא יכלול יותר ערכים מהערך הזה. הערך צריך להיות חזקה של 2 בין 2**10 ל-2**20. אם הערך הוא אפס, לא הוגדרה מגבלת גודל לעדכון.

maxDatabaseEntries

integer

המדיניות הזו מגדירה את המספר המקסימלי של רשומות שהלקוח מוכן להכיל במסד הנתונים המקומי עבור הרשימה שצוינה. הערך צריך להיות חזקה של 2 בין 2**10 ל-2**20. אם הערך הוא אפס, לא הוגדרה מגבלה לגודל של מסד הנתונים.

region

string

המערכת מבקשת את הרשימה למיקום גיאוגרפי ספציפי. אם המדיניות לא מוגדרת, השרת עשוי לבחור בערך הזה בהתאם לכתובת ה-IP של המשתמש. נדרש פורמט ISO 3166-1 alpha-2.

supportedCompressions[]

enum (CompressionType)

סוגי הדחיסה שבהם תומך הלקוח.

language

string

המערכת מבקשת את הרשימות בשפה מסוימת. נדרש פורמט ISO 639 alpha-2.

deviceLocation

string

המיקום הפיזי של הלקוח, מבוטא כקוד אזור ISO 31166-1 alpha-2.

CompressionType

הדרכים שבהן אפשר לדחוס קבוצות של כניסות של איומים.

טיפוסים בני מנייה (enums)
COMPRESSION_TYPE_UNSPECIFIED לא ידוע.
RAW נתונים גולמיים ולא דחוסים.
RICE נתונים בקידוד Rice-Golomb.

ListUpdateResponse

עדכון לרשימה יחידה.

ייצוג JSON
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
שדות
threatType

enum (ThreatType)

סוג האיום שעבורו הנתונים מוחזרים.

threatEntryType

enum (ThreatEntryType)

הפורמט של האיומים.

platformType

enum (PlatformType)

סוג הפלטפורמה שעבורה מוחזרים הנתונים.

responseType

enum (ResponseType)

סוג התגובה. ייתכן שהדבר מצביע על כך שהלקוח נדרש לבצע פעולה כלשהי לאחר קבלת התגובה.

additions[]

object (ThreatEntrySet)

קבוצת ערכים להוספה לרשימה של סוגי איומים מקומיים. חוזרים על הפעולה כדי לאפשר שליחת שילוב של נתונים דחוסים ונתונים גולמיים בתגובה אחת.

removals[]

object (ThreatEntrySet)

קבוצת ערכים שיש להסיר מהרשימה של סוגי איומים מקומיים. בפועל, השדה הזה ריק או מכיל ThreatEntrySet אחד בלבד.

newClientState

string (bytes format)

מצב הלקוח החדש, בפורמט מוצפן. אטום ללקוחות.

מחרוזת בקידוד base64.

checksum

object (Checksum)

גיבוב SHA256 הצפוי של מצב הלקוח, כלומר, הרשימה הממוינת של כל הגיבובים במסד הנתונים אחרי החלת העדכון שסופק. אם מצב הלקוח לא תואם למצב הצפוי, הלקוח צריך להתעלם מהעדכון הזה ולנסות שוב מאוחר יותר.

ResponseType

סוג התגובה שנשלחה ללקוח.

טיפוסים בני מנייה (enums)
RESPONSE_TYPE_UNSPECIFIED לא ידוע.
PARTIAL_UPDATE עדכונים חלקיים מוחלים על מסד הנתונים המקומי הקיים של הלקוח.
FULL_UPDATE עדכונים מלאים מחליפים את כל מסד הנתונים המקומי של הלקוח. המשמעות היא שהלקוח היה לא עדכני בצורה חמורה, או שהלקוח כנראה פגום.

ThreatEntrySet

קבוצת איומים שיש להוסיף או להסיר ממסד הנתונים המקומי של הלקוח.

ייצוג JSON
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
שדות
compressionType

enum (CompressionType)

סוג הדחיסה עבור הערכים בקבוצה הזו.

rawHashes

object (RawHashes)

הרשומות הגולמיות בפורמט SHA256.

rawIndices

object (RawIndices)

אינדקסים גולמיים להסרת רשימה מקומית.

riceHashes

object (RiceDeltaEncoding)

הקידומות המקודדות בגודל 4 בייטים של רשומות בפורמט SHA256, בקידוד גולומב-רייס. הגיבובים עוברים המרה ל-uint32, ממוינים בסדר עולה, ואז דלתא מקודדת ונשמרת כ-encodedData.

riceIndices

object (RiceDeltaEncoding)

אינדקסי הרשימה המקומית המקודדים, הממוינים לפי לקסיקוגרפיה, בקידוד של גולומב-אורז. משמש לשליחת אינדקסי הסרה דחוסים. אינדקסי ההסרה (uint32) ממוינים בסדר עולה, ולאחר מכן דלתא מקודדת ומאוחסנת כ-codeData.

RawHashes

רשומות האיום הלא דחוסות בפורמט גיבוב (hash) באורך מסוים של קידומת. גודל הגיבוב יכול להיות בין 4 ל-32 בייטים. הרוב הגדול הוא 4 בייטים, אבל חלק מ הגיבובים מוארים אם הם מתנגשים עם הגיבוב של כתובת URL פופולרית.

משמש לשליחת ThreatEntrySet ללקוחות שלא תומכים בדחיסה, או בעת שליחת גיבובים שאינם 4 בייטים ללקוחות שתומכים בדחיסה.

ייצוג JSON
{
  "prefixSize": integer,
  "rawHashes": string
}
שדות
prefixSize

integer

מספר הבייטים בכל קידומת שמקודדת למטה. שדה זה יכול להיות כל מקום בין 4 (הקידומת הקצרה ביותר) ל-32 (גיבוב SHA256 מלא).

rawHashes

string (bytes format)

הגיבובים בפורמט בינארי משורשרים למחרוזת ארוכה אחת. הגיבובים ממוינים בסדר לקסיקוגרפי. למשתמשי JSON API, הגיבובים הם בקידוד base64.

מחרוזת בקידוד base64.

RawIndices

קבוצת מדדים גולמיים להסרה מרשימה מקומית.

ייצוג JSON
{
  "indices": [
    integer
  ]
}
שדות
indices[]

integer

האינדקסים שיש להסיר מרשימה מקומית שממוינת לפי מילים נרדפות.

RiceDeltaEncoding

הנתונים המקודדים של Rice-Golomb. משמש לשליחת גיבובים דחוסים בגודל 4 בייטים או אינדקסים להסרת קבצים דחוסים.

ייצוג JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
שדות
firstValue

string (int64 format)

הקיזוז של הערך הראשון בנתונים המקודדים, או, אם קודד מספר שלם אחד בלבד, הערך של המספר השלם היחיד. אם השדה ריק או חסר, מניחים אפס.

riceParameter

integer

הפרמטר Golomb-Rice, שהוא מספר בין 2 ל-28. השדה הזה חסר (כלומר, אפס) אם numEntries הוא אפס.

numEntries

integer

מספר הערכים שמקודדים כדלתא בנתונים המקודדים. אם קודד מספר שלם אחד בלבד, הוא יהיה אפס והערך היחיד יאוחסן ב-firstValue.

encodedData

string (bytes format)

הדלתא המקודדת המקודדת באמצעות המקודד 'גולומב-אורז'.

מחרוזת בקידוד base64.

סכום כולל

המצב הצפוי של מסד הנתונים המקומי של לקוח.

ייצוג JSON
{
  "sha256": string
}
שדות
sha256

string (bytes format)

גיבוב SHA256 של מצב הלקוח, כלומר, של הרשימה הממוינת של כל הגיבובים במסד הנתונים.

מחרוזת בקידוד base64.