- Permintaan HTTP
- Parameter kueri
- Isi permintaan
- Isi respons
- FullHash
- FullHashDetail
- ThreatType
- ThreatAttribute
Menelusuri hash lengkap yang cocok dengan awalan yang ditentukan.
Ini adalah metode kustom seperti yang ditentukan oleh https://google.aip.dev/136 (metode kustom mengacu pada metode ini yang memiliki nama kustom dalam nomenklatur pengembangan API umum Google; metode ini tidak merujuk pada penggunaan metode HTTP kustom).
Permintaan HTTP
GET https://safebrowsing.googleapis.com/v5/hashes:search
URL menggunakan sintaksis gRPC Transcoding.
Parameter kueri
Parameter | |
---|---|
hashPrefixes[] |
Wajib. Awalan hash yang akan dicari. Klien TIDAK BOLEH mengirim lebih dari 1.000 awalan hash. Namun, dengan mengikuti prosedur pemrosesan URL, klien SEHARUSNYA TIDAK perlu mengirim lebih dari 30 awalan hash. Saat ini, setiap awalan hash harus panjangnya tepat 4 byte. Hal ini MUNGKIN melonggarkan pada masa mendatang. String berenkode base64. |
Isi permintaan
Isi permintaan harus kosong.
Isi respons
Respons yang ditampilkan setelah menelusuri hash ancaman.
Jika tidak ada yang ditemukan, server akan menampilkan status OK (kode status HTTP 200) dengan kolom fullHashes
kosong, bukan menampilkan status NOT_FOUND (kode status HTTP 404).
Yang baru di V5: Ada pemisahan antara FullHash
dan FullHashDetail
. Jika hash mewakili situs yang memiliki beberapa ancaman (mis. MALWARE dan SOCIAL_EngineERING), hash lengkap tidak perlu dikirim dua kali seperti di V4. Selain itu, durasi cache telah disederhanakan menjadi satu kolom cacheDuration
.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{
"fullHashes": [
{
object ( |
Kolom | |
---|---|
fullHashes[] |
Daftar yang tidak diurutkan. Daftar hash lengkap yang tidak diurutkan ditemukan. |
cacheDuration |
Durasi cache sisi klien. Klien HARUS menambahkan durasi ini ke waktu saat ini untuk menentukan waktu habis masa berlaku. Waktu habis masa berlaku kemudian berlaku untuk setiap awalan hash yang dikueri oleh klien dalam permintaan, terlepas dari berapa banyak hash lengkap yang ditampilkan dalam respons. Meskipun server tidak menampilkan hash lengkap untuk awalan hash tertentu, fakta ini HARUS di-cache oleh klien. Jika dan hanya jika kolom Penting: klien TIDAK BOLEH berasumsi bahwa server akan menampilkan durasi cache yang sama untuk semua respons. Server DAPAT memilih durasi cache yang berbeda untuk respons yang berbeda, tergantung pada situasinya. Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan ' |
FullHash
Hash lengkap yang diidentifikasi dengan satu atau beberapa kecocokan.
Representasi JSON |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
Kolom | |
---|---|
fullHash |
Hash lengkap yang cocok. Ini adalah hash SHA256. Panjangnya akan tepat 32 byte. String berenkode base64. |
fullHashDetails[] |
Daftar yang tidak diurutkan. Kolom berulang yang mengidentifikasi detail yang relevan dengan hash lengkap ini. |
FullHashDetail
Detail tentang hash lengkap yang cocok.
Catatan penting tentang kompatibilitas dengan versi baru: jenis ancaman dan atribut ancaman baru dapat ditambahkan oleh server kapan saja; penambahan itu dianggap
sebagai perubahan versi minor. Google memiliki kebijakan untuk tidak menampilkan nomor versi minor di API (lihat https://cloud.google.com/apis/design/versioning untuk mengetahui kebijakan pembuatan versi), sehingga klien HARUS siap menerima pesan FullHashDetail
yang berisi nilai enum ThreatType
atau nilai enum ThreatAttribute
yang dianggap tidak valid oleh klien. Oleh karena itu, klien bertanggung jawab untuk memeriksa validitas semua nilai enum ThreatType
dan ThreatAttribute
; jika ada nilai yang dianggap tidak valid, klien HARUS mengabaikan seluruh pesan FullHashDetail
.
Representasi JSON |
---|
{ "threatType": enum ( |
Kolom | |
---|---|
threatType |
Jenis ancaman. Kolom ini tidak akan pernah kosong. |
attributes[] |
Daftar yang tidak diurutkan. Atribut tambahan tentang hash lengkap tersebut. Kolom ini mungkin kosong. |
ThreatType
Jenis-jenis ancaman.
Enum | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Jenis ancaman tidak diketahui. Jika ini ditampilkan oleh server, klien akan mengabaikan FullHashDetail yang mencakupnya. |
MALWARE |
Jenis ancaman malware. Malware adalah software atau aplikasi seluler yang dirancang khusus untuk merusak komputer, perangkat seluler, software yang dijalankannya, atau penggunanya. Malware menunjukkan perilaku berbahaya yang dapat meliputi penginstalan software tanpa izin dari pengguna dan penginstalan software berbahaya seperti virus. Informasi lebih lanjut dapat ditemukan di sini. |
SOCIAL_ENGINEERING |
Jenis ancaman manipulasi psikologis. Halaman manipulasi psikologis mengaku-ngaku bertindak atas nama pihak ketiga dengan tujuan membingungkan penonton saat melakukan tindakan yang hanya akan dipercaya oleh penonton sebagai agen sebenarnya dari pihak ketiga tersebut. Phishing adalah jenis manipulasi psikologis yang mengelabui penonton agar melakukan tindakan tertentu dalam memberikan informasi, seperti kredensial login. Informasi lebih lanjut dapat ditemukan di sini. |
UNWANTED_SOFTWARE |
Jenis ancaman software yang tidak diinginkan. Software yang tidak diinginkan adalah software yang tidak mematuhi Prinsip Software Google, tetapi bukan malware. |
POTENTIALLY_HARMFUL_APPLICATION |
Jenis ancaman aplikasi yang berpotensi membahayakan seperti yang digunakan oleh Google Play Protect untuk Play Store. |
ThreatAttribute
Atribut ancaman. Atribut ini dapat memberikan arti tambahan pada ancaman tertentu, tetapi tidak akan memengaruhi jenis ancaman. Misalnya, atribut mungkin menentukan tingkat keyakinan yang lebih rendah, sedangkan atribut yang berbeda dapat menentukan tingkat keyakinan yang lebih tinggi. Atribut lainnya dapat ditambahkan di masa mendatang.
Enum | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
Atribut tidak diketahui. Jika ini ditampilkan oleh server, klien akan mengabaikan FullHashDetail yang mencakupnya. |
CANARY |
Menunjukkan bahwa ancamanType tidak boleh digunakan untuk penerapan. |
FRAME_ONLY |
Menunjukkan bahwa ancamanType hanya boleh digunakan untuk penerapan pada frame. |