- HTTP-Anfrage
- Suchparameter
- Anfragetext
- Antworttext
- FullHash
- FullHashDetail
- ThreatType
- ThreatAttribute
Nach vollständigen Hashes suchen, die den angegebenen Präfixen entsprechen.
Dies ist eine benutzerdefinierte Methode, wie in https://google.aip.dev/136 definiert. Die benutzerdefinierte Methode bezieht sich auf diese Methode, die einen benutzerdefinierten Namen innerhalb der allgemeinen API-Entwicklungsnommenklatur von Google hat. Sie bezieht sich nicht auf die Verwendung einer benutzerdefinierten HTTP-Methode.
HTTP-Anfrage
GET https://safebrowsing.googleapis.com/v5/hashes:search
Die URL verwendet die Syntax der gRPC-Transcodierung.
Abfrageparameter
Parameter | |
---|---|
hashPrefixes[] |
Erforderlich. Die Hash-Präfixe, die nachgeschlagen werden sollen. Clients DÜRFEN NICHT mehr als 1.000 Hash-Präfixe senden. Nach dem URL-Verarbeitungsverfahren sollten Kunden jedoch NICHT mehr als 30 Hash-Präfixe senden müssen. Derzeit muss jedes Hash-Präfix genau 4 Byte lang sein. Dieses KANN in Zukunft gelockert werden. Ein base64-codierter String. |
Anfragetext
Der Anfragetext muss leer sein.
Antworttext
Die Antwort, die nach der Suche nach Bedrohungs-Hashes zurückgegeben wurde.
Wird nichts gefunden, gibt der Server den Status „OK“ (HTTP-Statuscode 200) zurück, wobei das Feld fullHashes
leer ist, statt den Status NOT_FOUND (HTTP-Statuscode 404).
Neuerungen in Version 5: Es gibt eine Trennung zwischen FullHash
und FullHashDetail
. Wenn ein Hash eine Website mit mehreren Bedrohungen darstellt (z.B. sowohl MALWARE als auch SOCIAL_ENGINEERING), muss der vollständige Hash nicht doppelt gesendet werden wie in V4. Außerdem wurde die Cache-Dauer auf ein einzelnes cacheDuration
-Feld vereinfacht.
Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender Struktur:
JSON-Darstellung |
---|
{
"fullHashes": [
{
object ( |
Felder | |
---|---|
fullHashes[] |
Unsortierte Liste. Die ungeordnete Liste aller vollständigen Hashes, die gefunden wurden. |
cacheDuration |
Die clientseitige Cache-Dauer. Der Client MUSS diese Dauer zur aktuellen Zeit hinzufügen, um die Ablaufzeit zu bestimmen. Die Ablaufzeit gilt dann für jedes Hash-Präfix, das vom Client in der Anfrage abgefragt wird, unabhängig davon, wie viele vollständige Hashes in der Antwort zurückgegeben werden. Selbst wenn der Server keine vollständigen Hashes für ein bestimmtes Hash-Präfix zurückgibt, MUSS dies ebenfalls vom Client im Cache gespeichert werden. Nur wenn das Feld Wichtig: Der Client DARF NICHT davon ausgehen, dass der Server für alle Antworten die gleiche Cache-Dauer zurückgibt. Der Server KANN unterschiedliche Cache-Dauer für unterschiedliche Antworten je nach Situation auswählen. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
FullHash
Der vollständige Hash, der mit einer oder mehreren Übereinstimmungen identifiziert wurde.
JSON-Darstellung |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
Felder | |
---|---|
fullHash |
Der übereinstimmende vollständige Hash. Das ist der SHA256-Hash. Die Länge beträgt genau 32 Byte. Ein base64-codierter String. |
fullHashDetails[] |
Unsortierte Liste. Wiederkehrendes Feld, das die für diesen vollständigen Hash relevanten Details angibt. |
FullHashDetail
Details zum übereinstimmenden vollständigen Hash.
Wichtiger Hinweis zur Aufwärtskompatibilität: Neue Bedrohungstypen und Bedrohungsattribute können jederzeit vom Server hinzugefügt werden; diese Hinzufügungen gelten als geringfügige Versionsänderungen. Gemäß den Google-Richtlinien müssen in APIs keine Nebenversionsnummern offengelegt werden. Weitere Informationen zur Richtlinie zur Versionsverwaltung finden Sie unter https://cloud.google.com/apis/design/versioning. Daher MÜSSEN Clients auf den Empfang von FullHashDetail
-Nachrichten vorbereitet sein, die ThreatType
- oder ThreatAttribute
-Enum-Werte enthalten, die vom Client als ungültig eingestuft werden. Daher liegt es in der Verantwortung des Clients, die Gültigkeit aller ThreatType
- und ThreatAttribute
-Enum-Werte zu prüfen. Wird ein Wert als ungültig betrachtet, MUSS der Client die gesamte FullHashDetail
-Nachricht ignorieren.
JSON-Darstellung |
---|
{ "threatType": enum ( |
Felder | |
---|---|
threatType |
Die Art der Bedrohung. Dieses Feld wird nie leer sein. |
attributes[] |
Unsortierte Liste. Zusätzliche Attribute zu diesen vollständigen Hashes. Dieses Feld kann leer sein. |
ThreatType
Arten von Bedrohungen.
Enums | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Unbekannter Bedrohungstyp. Wird dies vom Server zurückgegeben, muss der Client die einschließende FullHashDetail vollständig ignorieren. |
MALWARE |
Malware-Bedrohungstyp. Malware ist eine Software oder mobile App, die speziell dazu entwickelt wurde, einem Computer, einem Mobilgerät, der darauf ausgeführten Software oder deren Nutzern zu schaden. Malware weist bösartiges Verhalten auf und installiert unter anderem Software ohne das Einverständnis des Nutzers sowie schädliche Software wie Viren. Weitere Informationen finden Sie hier. |
SOCIAL_ENGINEERING |
Bedrohungstyp des Social Engineering. Social-Engineering-Seiten geben vor, im Namen eines Dritten zu handeln, um Zuschauer zu einer Aktion zu bewegen, bei der sie nur einem wahren Vertreter dieses Dritten vertrauen würden. Phishing ist eine Art von Social Engineering, bei der Zuschauer dazu verleitet werden, eine bestimmte Aktion auszuführen, bei der Informationen wie Anmeldedaten angegeben werden. Weitere Informationen finden Sie hier. |
UNWANTED_SOFTWARE |
Bedrohungstyp "Unerwünschte Software" Unerwünschte Software ist Software, die nicht den Prinzipien in Bezug auf Software entspricht, aber keine Malware ist. |
POTENTIALLY_HARMFUL_APPLICATION |
Potenziell schädlicher Anwendungsbedrohungstyp, wie von Google Play Protect für den Play Store verwendet. |
ThreatAttribute
Attribute von Bedrohungen. Diese Attribute verleihen einer bestimmten Bedrohung möglicherweise eine zusätzliche Bedeutung, wirken sich aber nicht auf die Art der Bedrohung aus. Beispielsweise kann ein Attribut eine niedrigere Konfidenz angeben, während ein anderes Attribut eine höhere Konfidenz angeben kann. In Zukunft werden möglicherweise weitere Attribute hinzugefügt.
Enums | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
Unbekanntes Attribut. Wird dies vom Server zurückgegeben, muss der Client die einschließende FullHashDetail vollständig ignorieren. |
CANARY |
Gibt an, dass „threatType“ nicht für die Erzwingung verwendet werden soll. |
FRAME_ONLY |
Gibt an, dass der threatType nur für die Erzwingung von Frames verwendet werden soll. |