Method: hashes.search

Belirtilen ön eklerle eşleşen tam karmaları arayın.

Bu, https://google.aip.dev/136 ile tanımlanan özel bir yöntemdir (Özel yöntem, bu yöntemin Google'ın genel API geliştirme terminolojisinde özel bir ada sahip olduğunu belirtir; özel bir HTTP yöntemi kullanmayı belirtmez).

HTTP isteği

GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Sorgu parametreleri

Parametreler
hashPrefixes[]

string (bytes format)

Zorunlu. Aranacak karma ön ekler. Müşteriler 1000'den fazla karma ön eki GÖNDERMEMELİDİR. Bununla birlikte, URL işleme prosedürü uyarınca, müşterilerin 30'dan fazla karma ön eki GÖNDERMEMELERİ GEREKİR.

Şu anda, her karma öneki tam olarak 4 bayt uzunluğunda olmalıdır. Bu işlem gelecekte gevşeyebilir.

base64 kodlu bir dize.

filter

string

İsteğe bağlı. İstemci yalnızca belirli tehdit türlerini almak gibi filtreleme yapmakla ilgileniyorsa bu belirtilebilir. Atlanırsa eşleşen tüm tehditler döndürülür. Güvenli Tarama'nın sunabileceği en eksiksiz korumayı elde etmek için bunu atlamanız önemle tavsiye edilir.

Filtre, https://github.com/google/cel-spec adresinde genel örneklerle birlikte bulabileceğiniz Google Common Expression Language kullanılarak belirtilir. Bu konuda kullanılabilecek bazı spesifik örnekleri aşağıda bulabilirsiniz:

"threatType == ThreatType.SOCIAL_ENGINEERING" filtresi, FullHashDetail içindeki tehdit türünün SOCIAL_ENGINEERING olmasını gerektiriyor. "threatType" tanımlayıcısı, mevcut tehdit türünü ifade ediyor. "ThreatType" tanımlayıcısı, olası tüm tehdit türlerinin yer aldığı koleksiyonu ifade eder.

"threatType in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" filtresi, tehdit türünün UNWANTED_SOFTWARE veya MALWARE olmasını gerektiriyor.

İstek içeriği

İstek metni boş olmalıdır.

Yanıt gövdesi

Tehdit karmaları arandıktan sonra döndürülen yanıt.

Hiçbir şey bulunmazsa sunucu, NOT_FOUND durumu (HTTP durum kodu 404) döndürmek yerine, fullHashes alanı boşken TAMAM durumunu (HTTP durum kodu 200) döndürür.

V5'teki yenilikler: FullHash ile FullHashDetail arasında bir ayrım vardır. Karma oluşturma işlemi, birden fazla tehdit içeren bir siteyi (ör. hem KÖTÜ AMAÇLI YAZILIM hem de SOSYAL YAZILIM) temsil ettiğinde, tam karmanın V4'tekinden iki kez gönderilmesi gerekmez. Ayrıca, önbellek süresi tek bir cacheDuration alanı olacak şekilde basitleştirildi.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "fullHashes": [
    {
      object (FullHash)
    }
  ],
  "cacheDuration": string
}
Alanlar
fullHashes[]

object (FullHash)

Sırasız liste. Tam karmaların sıralanmamış listesi bulundu.

cacheDuration

string (Duration format)

İstemci tarafı önbellek süresi. İstemcinin, geçerlilik süresini belirlemek için bu süreyi geçerli zamana eklemesi GEREKİR. Daha sonra geçerlilik süresi, yanıtta kaç tam karmanın döndürüldüğüne bakılmaksızın istemci tarafından istekte sorgulanan her karma ön eki için geçerli olur. Sunucu belirli bir karma öneki için tam karma döndürmese bile, bu olgu aynı zamanda istemci tarafından da önbelleğe alınmalıdır.

Yalnızca fullHashes alanı boşsa istemci, sunucu tarafından belirtilenden daha geç bir son kullanma tarihi belirlemek için cacheDuration değerini artırabilir. Her durumda, artırılan önbellek süresi 24 saatten uzun olmamalıdır.

Önemli: İstemci, sunucunun tüm yanıtlar için aynı önbellek süresini döndüreceğini Tahmin ETMEMELİDİR. Sunucu, duruma bağlı olarak farklı yanıtlar için farklı önbellek süreleri seçebilir.

En fazla dokuz kesir basamağı olan ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

FullHash

Bir veya daha fazla eşleşmeyle tanımlanan tam karma.

JSON gösterimi
{
  "fullHash": string,
  "fullHashDetails": [
    {
      object (FullHashDetail)
    }
  ]
}
Alanlar
fullHash

string (bytes format)

Eşleşen tam karma. Bu, SHA256 karmasıdır. Uzunluk tam olarak 32 bayt olur.

base64 kodlu bir dize.

fullHashDetails[]

object (FullHashDetail)

Sırasız liste. Bu tam karmayla ilgili ayrıntıları tanımlayan tekrarlanan bir alan.

FullHashDetail

Eşleşen bir tam karma ile ilgili ayrıntılar.

İleriye dönük uyumluluk hakkında önemli not: Sunucu her an yeni tehdit türleri ve tehdit özellikleri ekleyebilir. bu eklemeler küçük sürüm değişiklikleri olarak değerlendirilir. Google, politikası gereği, API'lerde alt sürüm numaralarını göstermemelidir (sürüm oluşturma politikası için https://cloud.google.com/apis/design/versioning adresine bakın). Bu nedenle istemcilerin, istemci tarafından geçersiz sayılan ThreatType enum değerleri veya ThreatAttribute numaralandırma değerleri içeren FullHashDetail mesajları almaya hazır olması GEREKİR. Bu nedenle, tüm ThreatType ve ThreatAttribute enum değerlerinin geçerliliğini kontrol etmek müşterinin sorumluluğundadır; herhangi bir değer geçersiz olarak değerlendirilirse istemcinin FullHashDetail mesajının tamamını yok sayması GEREKİR.

JSON gösterimi
{
  "threatType": enum (ThreatType),
  "attributes": [
    enum (ThreatAttribute)
  ]
}
Alanlar
threatType

enum (ThreatType)

Tehditin türü. Bu alan hiçbir zaman boş bırakılmaz.

attributes[]

enum (ThreatAttribute)

Sırasız liste. Bu tam karmalarla ilgili ek özellikler. Bu alan boş olabilir.

ThreatAttribute

Tehdit özellikleri. Bu özellikler belirli bir tehdide ek anlam katabilir ancak tehdit türünü etkilemez. Örneğin, bir özellik daha düşük bir güven belirtirken farklı bir özellik daha yüksek bir güven belirtir. Gelecekte daha fazla özellik eklenebilir.

Sıralamalar
THREAT_ATTRIBUTE_UNSPECIFIED Bilinmeyen özellik. Bu sunucu tarafından döndürülürse istemci, içeren FullHashDetail ifadesini tamamen göz ardı eder.
CANARY Tehdit türünün yaptırım için kullanılmaması gerektiğini belirtir.
FRAME_ONLY Tehdit türünün yalnızca çerçevelerde yaptırım için kullanılması gerektiğini belirtir.