Package google.security.safebrowsing.v5alpha1

Chỉ mục

SafeBrowsing

API Duyệt web an toàn cho phép ứng dụng kiểm tra tài nguyên web (thường là URL) dựa trên danh sách tài nguyên web không an toàn được Google cập nhật liên tục.

BatchGetHashLists

rpc BatchGetHashLists(BatchGetHashListsRequest) returns (BatchGetHashListsResponse)

Nhận nhiều danh sách băm cùng một lúc.

Rất thường xuyên, ứng dụng cần nhận nhiều danh sách băm. Bạn nên sử dụng phương thức này thay vì sử dụng phương thức Get thông thường nhiều lần.

Đây là phương thức Lấy hàng loạt chuẩn theo định nghĩa của https://google.aip.dev/231 và phương thức HTTP cũng là GET.

GetHashList

rpc GetHashList(GetHashListRequest) returns (HashList)

Lấy nội dung mới nhất của danh sách băm. Danh sách băm có thể là danh sách mối đe doạ hoặc danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cục.

Đây là phương thức Get chuẩn do https://google.aip.dev/131 xác định và phương thức HTTP cũng là GET.

ListHashLists

rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse)

Danh sách danh sách băm.

Trong API V5, Google sẽ không bao giờ xoá danh sách băm mà phương thức này từng trả về. Điều này cho phép ứng dụng bỏ qua việc sử dụng phương thức này và chỉ cần mã hoá cứng tất cả danh sách băm mà ứng dụng cần.

Đây là phương thức Danh sách chuẩn do https://google.aip.dev/132 xác định và phương thức HTTP là GET.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

Tìm kiếm các hàm băm đầy đủ khớp với các tiền tố đã chỉ định.

Đây là một phương thức tuỳ chỉnh theo định nghĩa của https://google.aip.dev/136 (phương thức tuỳ chỉnh đề cập đến phương thức này có tên tuỳ chỉnh trong danh pháp phát triển API chung của Google; không đề cập đến việc sử dụng phương thức HTTP tuỳ chỉnh).

BatchGetHashListsRequest

Yêu cầu nhận nhiều danh sách băm cùng một lúc.

Trường
names[]

string

Bắt buộc. Tên của các danh sách băm cụ thể. Danh sách này CÓ THỂ là danh sách mối đe doạ hoặc có thể là Bộ nhớ đệm toàn cầu. Tên KHÔNG ĐƯỢC chứa tên trùng lặp; nếu có, ứng dụng khách sẽ gặp lỗi.

version[]

bytes

Các phiên bản của danh sách băm mà ứng dụng khách đã có. Nếu đây là lần đầu tiên ứng dụng tìm nạp danh sách băm, thì trường này phải để trống. Nếu không, ứng dụng khách phải cung cấp các phiên bản đã nhận được trước đó từ máy chủ. Ứng dụng KHÔNG ĐƯỢC thao túng các byte đó.

Ứng dụng không cần gửi các phiên bản theo thứ tự giống với tên danh sách tương ứng. Ứng dụng có thể gửi ít hoặc nhiều phiên bản trong một yêu cầu hơn số lượng tên. Tuy nhiên, ứng dụng KHÔNG ĐƯỢC gửi nhiều phiên bản tương ứng với cùng một tên; nếu gửi, ứng dụng sẽ gặp lỗi.

Lưu ý về quá khứ: trong API phiên bản 4, thuộc tính này được gọi là states; hiện được đổi tên thành version để rõ ràng hơn.

desired_hash_length
(deprecated)

HashLength

Độ dài tiền tố hàm băm mong muốn của các hàm băm được trả về tính bằng byte. Sau đó, máy chủ sẽ trả về tất cả tiền tố hàm băm có độ dài được chỉ định này.

Các danh sách băm khác nhau có các yêu cầu khác nhau về giá trị chấp nhận được của trường desired_hash_length. Bạn có thể tìm thấy thông tin này trong trường supported_hash_lengths trong HashListMetadata. Nếu desired_hash_length không chỉ định giá trị trong supported_hash_lengths, thì lỗi sẽ được trả về cho ứng dụng.

Cụ thể là đối với BatchGetHashListsRequest, ứng dụng không thể chỉ định một desired_hash_length khác cho các danh sách khác nhau. Nếu cần, ứng dụng sẽ được chia thành nhiều BatchGetHashListsRequest.

size_constraints

SizeConstraints

Giới hạn về kích thước trên mỗi danh sách. Nếu bạn bỏ qua, thì sẽ không có quy tắc ràng buộc nào. Xin lưu ý rằng kích thước ở đây là theo danh sách, chứ không phải tổng hợp trên tất cả danh sách.

BatchGetHashListsResponse

Phản hồi chứa nhiều danh sách băm.

Trường
hash_lists[]

HashList

Danh sách băm theo thứ tự được đưa ra trong yêu cầu.

FullHash

Hàm băm đầy đủ được xác định bằng một hoặc nhiều kết quả trùng khớp.

Trường
full_hash

bytes

Giá trị băm đầy đủ trùng khớp. Đây là hàm băm SHA256. Độ dài sẽ là chính xác 32 byte.

full_hash_details[]

FullHashDetail

Danh sách không theo thứ tự. Một trường lặp lại xác định thông tin chi tiết liên quan đến hàm băm đầy đủ này.

FullHashDetail

Thông tin chi tiết về hàm băm đầy đủ trùng khớp.

Lưu ý quan trọng về khả năng tương thích chuyển tiếp: máy chủ có thể thêm các loại mối đe doạ và thuộc tính mối đe doạ mới bất cứ lúc nào; những nội dung bổ sung đó được coi là thay đổi nhỏ về phiên bản. Chính sách của Google là không hiển thị số phiên bản phụ trong API (xem https://cloud.google.com/apis/design/versioning để biết chính sách về việc tạo phiên bản), vì vậy, ứng dụng PHẢI chuẩn bị để nhận thông báo FullHashDetail chứa các giá trị enum ThreatType hoặc các giá trị enum ThreatAttribute mà ứng dụng coi là không hợp lệ. Do đó, ứng dụng phải chịu trách nhiệm kiểm tra tính hợp lệ của tất cả các giá trị enum ThreatTypeThreatAttribute; nếu có bất kỳ giá trị nào được coi là không hợp lệ, thì ứng dụng PHẢI bỏ qua toàn bộ thông báo FullHashDetail.

Trường
threat_type

ThreatType

Loại mối đe doạ. Trường này sẽ không bao giờ để trống.

attributes[]

ThreatAttribute

Danh sách không theo thứ tự. Các thuộc tính bổ sung về các hàm băm đầy đủ đó. Bạn có thể để trống trường này.

GetHashListRequest

Yêu cầu lấy danh sách băm, có thể là danh sách mối đe doạ hoặc danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cục.

Tính năng mới trong phiên bản 5: Để rõ ràng hơn, chúng tôi đã đổi tên states trong phiên bản 4 thành version. Danh sách hiện đã được đặt tên, loại nền tảng và loại mục nhập mối đe doạ đã bị xoá. Giờ đây, nhiều danh sách có thể có cùng một loại mối đe doạ hoặc một danh sách có liên quan đến nhiều loại mối đe doạ. Ứng dụng có thể chỉ định độ dài hàm băm mong muốn. Đây là một phần của câu trả lời cho tiền tố băm có độ dài biến của V4 đã gây ra sự cố trong nhiều quá trình triển khai ứng dụng: tất cả các hàm băm trong danh sách hiện có một độ dài duy nhất, cho phép triển khai ứng dụng hiệu quả hơn nhiều. Các quy tắc ràng buộc đã được đơn giản hoá và loại nén đã bị xoá (luôn áp dụng tính năng nén).

Trường
name

string

Bắt buộc. Tên của danh sách băm cụ thể này. Đó có thể là danh sách mối đe doạ hoặc có thể là Bộ nhớ đệm toàn cầu.

version

bytes

Phiên bản danh sách băm mà ứng dụng khách đã có. Nếu đây là lần đầu tiên ứng dụng tìm nạp danh sách băm, thì trường này PHẢI để trống. Nếu không, ứng dụng PHẢI cung cấp phiên bản đã nhận được trước đó từ máy chủ. Ứng dụng KHÔNG ĐƯỢC thao túng các byte đó.

Tính năng mới trong phiên bản 5: trong phiên bản 4 của API, thuộc tính này được gọi là states; hiện được đổi tên thành version để rõ ràng hơn.

desired_hash_length
(deprecated)

HashLength

Độ dài tiền tố hàm băm mong muốn của các hàm băm được trả về tính bằng byte. Sau đó, máy chủ sẽ trả về tất cả tiền tố hàm băm có độ dài được chỉ định này.

Các danh sách băm khác nhau có các yêu cầu khác nhau về giá trị chấp nhận được của trường desired_hash_length. Bạn có thể tìm thấy thông tin này trong trường supported_hash_lengths trong HashListMetadata. Nếu desired_hash_length không chỉ định giá trị trong supported_hash_lengths, thì hệ thống sẽ trả về lỗi.

size_constraints

SizeConstraints

Các quy tắc ràng buộc về kích thước đối với danh sách. Nếu bạn bỏ qua, thì sẽ không có quy tắc ràng buộc nào. Bạn nên áp dụng các quy tắc ràng buộc trên tất cả thiết bị có hạn chế về sức mạnh xử lý, băng thông hoặc bộ nhớ.

HashList

Danh sách các hàm băm được xác định theo tên.

Trường
name

string

Tên của danh sách băm. Xin lưu ý rằng Bộ nhớ đệm toàn cục cũng chỉ là một danh sách băm và có thể được tham chiếu tại đây.

version

bytes

Phiên bản của danh sách băm. Ứng dụng KHÔNG ĐƯỢC thao túng các byte đó.

partial_update

bool

Khi đúng, đây là một phần thay đổi chứa các nội dung bổ sung và xoá dựa trên nội dung mà ứng dụng đã có. Khi giá trị là false, đây là danh sách hàm băm đầy đủ.

Khi giá trị là false, ứng dụng PHẢI xoá mọi phiên bản được lưu trữ cục bộ cho danh sách băm này. Điều này có nghĩa là phiên bản mà ứng dụng sở hữu đã lỗi thời nghiêm trọng hoặc dữ liệu ứng dụng được cho là bị hỏng. Trường compressed_removals sẽ trống.

Khi đúng, ứng dụng PHẢI áp dụng bản cập nhật gia tăng bằng cách áp dụng các lượt xoá rồi thêm.

compressed_removals

RiceDeltaEncoded32Bit

Phiên bản chỉ mục xoá được mã hoá bằng Rice-delta. Vì mỗi danh sách băm chắc chắn có ít hơn 2^32 mục nhập, nên các chỉ mục được coi là số nguyên 32 bit và được mã hoá.

minimum_wait_duration

Duration

Ứng dụng phải đợi ít nhất thời gian này để nhận lại danh sách hàm băm. Nếu bị bỏ qua hoặc bằng 0, thì ứng dụng PHẢI tìm nạp ngay lập tức vì điều này cho biết rằng máy chủ có một bản cập nhật bổ sung cần gửi đến ứng dụng, nhưng không thể gửi do các quy tắc ràng buộc do ứng dụng chỉ định.

sha256_checksum

bytes

Danh sách đã sắp xếp tất cả hàm băm, được băm lại bằng SHA256. Đây là tổng kiểm tra cho danh sách đã sắp xếp của tất cả hàm băm có trong cơ sở dữ liệu sau khi áp dụng bản cập nhật được cung cấp. Trong trường hợp không có nội dung cập nhật nào được cung cấp, máy chủ sẽ bỏ qua trường này để cho biết rằng ứng dụng khách nên sử dụng tổng kiểm tra hiện có.

metadata

HashListMetadata

Siêu dữ liệu về danh sách băm. Phương thức GetHashList không điền giá trị này, mà phương thức ListHashLists sẽ điền.

Trường hợp hợp nhất compressed_additions. Phiên bản bổ sung được mã hoá bằng Rice-delta. Độ dài tiền tố hàm băm của các phần bổ sung là đồng nhất trên tất cả các phần bổ sung trong danh sách. Đây là desired_hash_length do ứng dụng gửi hoặc là giá trị do máy chủ chọn nếu ứng dụng bỏ qua trường đó. compressed_additions chỉ có thể là một trong những giá trị sau:
additions_four_bytes

RiceDeltaEncoded32Bit

Phần bổ sung 4 byte.

additions_eight_bytes

RiceDeltaEncoded64Bit

Phần bổ sung 8 byte.

additions_sixteen_bytes

RiceDeltaEncoded128Bit

Phần bổ sung 16 byte.

additions_thirty_two_bytes

RiceDeltaEncoded256Bit

Phần bổ sung 32 byte.

HashListMetadata

Siêu dữ liệu về một danh sách băm cụ thể.

Trường
threat_types[]

ThreatType

Danh sách không theo thứ tự. Nếu không trống, giá trị này chỉ định rằng danh sách hàm băm là một loại danh sách mối đe doạ và liệt kê loại mối đe doạ liên kết với hàm băm hoặc tiền tố hàm băm trong danh sách hàm băm này. Có thể trống nếu mục nhập không thể hiện mối đe doạ, tức là trong trường hợp mục nhập đó thể hiện một loại có thể an toàn.

likely_safe_types[]

LikelySafeType

Danh sách không theo thứ tự. Nếu không trống, thuộc tính này chỉ định rằng danh sách hàm băm đại diện cho danh sách các hàm băm có thể an toàn và liệt kê các cách mà các hàm băm đó được coi là có thể an toàn. Trường này loại trừ lẫn nhau với trường threat_types.

description

string

Nội dung mô tả mà con người đọc được về danh sách này. Được viết bằng tiếng Anh.

supported_hash_lengths[]
(deprecated)

HashLength

Độ dài hàm băm được hỗ trợ cho danh sách hàm băm này. Mỗi danh sách băm sẽ hỗ trợ ít nhất một độ dài. Do đó, trường này sẽ không để trống.

hash_length

HashLength

Chiều dài hàm băm được hỗ trợ cho danh sách hàm băm này. Mỗi danh sách băm sẽ hỗ trợ đúng một độ dài. Nếu một độ dài hàm băm khác được đưa vào cùng một nhóm loại mối đe doạ hoặc loại an toàn, thì độ dài hàm băm đó sẽ được đưa vào dưới dạng một danh sách riêng biệt với tên riêng biệt và nhóm độ dài hàm băm tương ứng.

HashLength

Độ dài của hàm băm trong danh sách hàm băm.

Enum
HASH_LENGTH_UNSPECIFIED Độ dài không xác định. Máy chủ sẽ không trả về giá trị này trong các phản hồi cho ứng dụng khách (trong trường supported_hash_lengths), nhưng ứng dụng khách được phép gửi giá trị này đến máy chủ (trong trường desired_hash_length). Trong trường hợp này, máy chủ sẽ tự động chọn một giá trị. Ứng dụng PHẢI cho phép máy chủ chọn một giá trị.
FOUR_BYTES Mỗi hàm băm là một tiền tố 4 byte.
EIGHT_BYTES Mỗi hàm băm là một tiền tố 8 byte.
SIXTEEN_BYTES Mỗi hàm băm là một tiền tố 16 byte.
THIRTY_TWO_BYTES Mỗi hàm băm là một hàm băm đầy đủ 32 byte.

LikelySafeType

Các loại trang web có khả năng an toàn.

Xin lưu ý rằng SearchHashesResponse cố ý không chứa LikelySafeType.

Enum
LIKELY_SAFE_TYPE_UNSPECIFIED Không xác định.
GENERAL_BROWSING Trang web này có thể đủ an toàn để duyệt xem thông thường. Bộ nhớ đệm này còn được gọi là bộ nhớ đệm toàn cục.
CSD Có thể trang web này đủ an toàn nên không cần chạy mô hình Phát hiện phía máy khách hoặc kiểm tra tính năng bảo vệ mật khẩu.
DOWNLOAD Trang web này có thể đủ an toàn để không cần kiểm tra tệp tải xuống từ trang web.

ListHashListsRequest

Yêu cầu liệt kê các danh sách hàm băm hiện có.

Trường
page_size

int32

Số lượng danh sách băm tối đa cần trả về. Dịch vụ có thể trả về ít hơn giá trị này. Nếu không chỉ định, máy chủ sẽ chọn kích thước trang có thể lớn hơn số lượng danh sách băm để không cần phân trang.

page_token

string

Mã thông báo trang, nhận được từ lệnh gọi ListHashLists trước đó. Cung cấp giá trị này để truy xuất trang tiếp theo.

ListHashListsResponse

Nội dung phản hồi chứa siêu dữ liệu về danh sách băm.

Trường
hash_lists[]

HashList

Danh sách băm theo thứ tự tuỳ ý. Chỉ siêu dữ liệu về danh sách băm mới được đưa vào, chứ không phải nội dung.

next_page_token

string

Mã thông báo có thể được gửi dưới dạng page_token để truy xuất trang tiếp theo. Nếu bạn bỏ qua trường này, thì sẽ không có trang tiếp theo.

RiceDeltaEncoded128Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc hàm này mã hoá các số 128 bit.

Trường
first_value_hi

uint64

64 bit trên cùng của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống, thì 64 bit trên cùng đều bằng 0.

first_value_lo

fixed64

64 bit thấp hơn của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống, thì 64 bit thấp hơn đều bằng 0.

rice_parameter

int32

Tham số Golomb-Rice. Thông số này được đảm bảo nằm trong khoảng từ 99 đến 126.

entries_count

int32

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong first_value.

encoded_data

bytes

Các delta đã mã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

RiceDeltaEncoded256Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc hàm này mã hoá các số 256 bit.

Trường
first_value_first_part

uint64

64 bit đầu tiên của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống, thì 64 bit đầu tiên đều bằng 0.

first_value_second_part

fixed64

Các bit từ 65 đến 128 của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống, các bit từ 65 đến 128 đều bằng 0.

first_value_third_part

fixed64

Các bit từ 129 đến 192 của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống, các bit từ 129 đến 192 đều bằng 0.

first_value_fourth_part

fixed64

64 bit cuối cùng của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống, thì 64 bit cuối cùng đều bằng 0.

rice_parameter

int32

Tham số Golomb-Rice. Tham số này được đảm bảo nằm trong khoảng từ 227 đến 254.

entries_count

int32

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong first_value.

encoded_data

bytes

Các delta đã mã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

RiceDeltaEncoded32Bit

Dữ liệu được mã hoá Rice-Golomb. Dùng cho hàm băm hoặc chỉ mục xoá. Đảm bảo rằng mọi hàm băm hoặc chỉ mục ở đây đều có cùng độ dài và độ dài này chính xác là 32 bit.

Nói chung, nếu sắp xếp tất cả các mục theo thứ tự bảng chữ cái, chúng ta sẽ thấy rằng các bit thứ tự cao hơn thường không thay đổi thường xuyên như các bit thứ tự thấp hơn. Điều này có nghĩa là nếu chúng ta cũng lấy sự khác biệt liền kề giữa các mục nhập, thì các bit thứ tự cao hơn có nhiều khả năng bằng 0. Phương thức này khai thác xác suất cao của số không bằng cách chọn một số bit nhất định; tất cả các bit có ý nghĩa hơn số này có thể là số không nên chúng ta sử dụng phương thức mã hoá một ngôi. Xem trường rice_parameter.

Lưu ý về quá khứ: lần đầu tiên, phương thức mã hoá Rice-delta được sử dụng trong phiên bản 4 của API này. Trong phiên bản 5, chúng tôi đã thực hiện 2 điểm cải tiến đáng kể: thứ nhất, giờ đây, bạn có thể sử dụng phương thức mã hoá Rice-delta với tiền tố băm dài hơn 4 byte; thứ hai, dữ liệu đã mã hoá hiện được coi là big-endian để tránh bước sắp xếp tốn kém.

Trường
first_value

uint32

Mục đầu tiên trong dữ liệu đã mã hoá (hàm băm hoặc chỉ mục) hoặc giá trị của mục đó nếu chỉ mã hoá một tiền tố hàm băm hoặc chỉ mục. Nếu trường này trống, mục nhập sẽ là 0.

rice_parameter

int32

Tham số Golomb-Rice. Thông số này được đảm bảo nằm trong khoảng từ 3 đến 30.

entries_count

int32

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong first_value.

encoded_data

bytes

Các delta đã mã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

RiceDeltaEncoded64Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc hàm này mã hoá các số 64 bit.

Trường
first_value

uint64

Mục đầu tiên trong dữ liệu đã mã hoá (hàm băm) hoặc giá trị của mục đó nếu chỉ mã hoá một tiền tố hàm băm. Nếu trường này trống, mục nhập sẽ là 0.

rice_parameter

int32

Tham số Golomb-Rice. Thông số này được đảm bảo nằm trong khoảng từ 35 đến 62.

entries_count

int32

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong first_value.

encoded_data

bytes

Các delta đã mã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

SearchHashesRequest

Yêu cầu mà ứng dụng đưa ra để tìm kiếm các tiền tố băm cụ thể.

Tính năng này chỉ được thiết kế để tìm kiếm danh sách mối đe doạ và không tìm kiếm danh sách không phải mối đe doạ, chẳng hạn như Bộ nhớ đệm toàn cầu.

Tính năng mới trong phiên bản 5: Ứng dụng không cần chỉ định ClientInfo hoặc trạng thái của danh sách băm trong cơ sở dữ liệu cục bộ. Việc này nhằm cải thiện quyền riêng tư. Hơn nữa, ứng dụng không cần gửi những loại mối đe doạ mà ứng dụng quan tâm.

Trường
hash_prefixes[]

bytes

Bắt buộc. Tiền tố hàm băm cần được tra cứu. Ứng dụng KHÔNG ĐƯỢC gửi quá 1000 tiền tố băm. Tuy nhiên, theo quy trình xử lý URL, ứng dụng KHÔNG NÊN gửi nhiều hơn 30 tiền tố băm.

Hiện tại, mỗi tiền tố hàm băm phải có độ dài chính xác là 4 byte. Quy định này CÓ THỂ được nới lỏng trong tương lai.

filter

string

Không bắt buộc. Nếu ứng dụng quan tâm đến việc lọc, chẳng hạn như chỉ truy xuất một số loại mối đe doạ cụ thể, thì bạn có thể chỉ định điều này. Nếu bạn bỏ qua, tất cả các mối đe doạ trùng khớp sẽ được trả về. Bạn nên bỏ qua bước này để nhận được khả năng bảo vệ đầy đủ nhất mà tính năng Duyệt web an toàn có thể cung cấp.

Bộ lọc được chỉ định bằng Ngôn ngữ biểu thức chung của Google. Bạn có thể xem ngôn ngữ này tại https://github.com/google/cel-spec cùng với các ví dụ chung. Sau đây là một số ví dụ cụ thể có thể được sử dụng tại đây:

Bộ lọc "threat_type == ThreatType.SOCIAL_ENGINEERING" yêu cầu loại mối đe doạ trong FullHashDetail phải là SOCIAL_ENGINEERING. Giá trị nhận dạng "threat_type" tham chiếu đến loại mối đe doạ hiện tại. Giá trị nhận dạng "ThreatType" đề cập đến tập hợp tất cả các loại mối đe doạ có thể xảy ra.

Bộ lọc "threat_type in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" yêu cầu loại mối đe doạ phải là UNWANTED_SOFTWARE hoặc MALWARE.

SearchHashesResponse

Phản hồi được trả về sau khi tìm kiếm hàm băm mối đe doạ.

Nếu không tìm thấy nội dung nào, máy chủ sẽ trả về trạng thái OK (mã trạng thái HTTP 200) với trường full_hashes trống, thay vì trả về trạng thái NOT_FOUND (mã trạng thái HTTP 404).

Tính năng mới trong phiên bản 5: Có sự phân tách giữa FullHashFullHashDetail. Trong trường hợp một hàm băm đại diện cho một trang web có nhiều mối đe doạ (ví dụ: cả MALWARE và SOCIAL_ENGINEERING), bạn không cần gửi hàm băm đầy đủ hai lần như trong phiên bản 4. Ngoài ra, thời lượng bộ nhớ đệm đã được đơn giản hoá thành một trường cache_duration duy nhất.

Trường
full_hashes[]

FullHash

Danh sách không theo thứ tự. Danh sách chưa sắp xếp các hàm băm đầy đủ đã tìm thấy.

cache_duration

Duration

Thời lượng bộ nhớ đệm phía máy khách. Ứng dụng PHẢI thêm khoảng thời gian này vào thời gian hiện tại để xác định thời gian hết hạn. Sau đó, thời gian hết hạn sẽ áp dụng cho mọi tiền tố băm mà ứng dụng khách truy vấn trong yêu cầu, bất kể có bao nhiêu băm đầy đủ được trả về trong phản hồi. Ngay cả khi máy chủ không trả về bất kỳ hàm băm đầy đủ nào cho một tiền tố hàm băm cụ thể, thì ứng dụng cũng PHẢI lưu thực tế này vào bộ nhớ đệm.

Nếu và chỉ khi trường full_hashes trống, ứng dụng CÓ THỂ tăng cache_duration để xác định thời gian hết hạn mới muộn hơn thời gian hết hạn do máy chủ chỉ định. Trong mọi trường hợp, thời lượng bộ nhớ đệm được tăng lên không được dài hơn 24 giờ.

Quan trọng: ứng dụng KHÔNG ĐƯỢC giả định rằng máy chủ sẽ trả về cùng một thời lượng bộ nhớ đệm cho tất cả các phản hồi. Máy chủ CÓ THỂ chọn các khoảng thời gian lưu vào bộ nhớ đệm khác nhau cho các phản hồi khác nhau tuỳ thuộc vào tình huống.

SizeConstraints

Các quy tắc ràng buộc về kích thước của danh sách băm.

Trường
max_update_entries

int32

Kích thước tối đa theo số mục nhập. Nội dung cập nhật sẽ không chứa nhiều mục nhập hơn giá trị này, nhưng có thể chứa ít mục nhập hơn giá trị này. Kích thước này PHẢI có ít nhất 1024. Nếu bạn bỏ qua hoặc đặt giá trị bằng 0, thì hệ thống sẽ không đặt giới hạn kích thước bản cập nhật.

max_database_entries

int32

Đặt số lượng mục nhập tối đa mà ứng dụng muốn có trong cơ sở dữ liệu cục bộ cho danh sách. (Máy chủ CÓ THỂ khiến ứng dụng lưu trữ ít hơn số mục này.) Nếu bạn bỏ qua hoặc đặt giá trị bằng 0, thì hệ thống sẽ không đặt giới hạn kích thước cơ sở dữ liệu.

ThreatAttribute

Thuộc tính của mối đe doạ. Các thuộc tính này có thể mang lại thêm ý nghĩa cho một mối đe doạ cụ thể nhưng sẽ không ảnh hưởng đến loại mối đe doạ. Ví dụ: một thuộc tính có thể chỉ định mức độ tin cậy thấp hơn trong khi một thuộc tính khác có thể chỉ định mức độ tin cậy cao hơn. Các thuộc tính khác có thể sẽ được thêm vào trong tương lai.

Enum
THREAT_ATTRIBUTE_UNSPECIFIED Thuộc tính không xác định. Nếu máy chủ trả về giá trị này, thì ứng dụng sẽ bỏ qua hoàn toàn FullHashDetail bao gồm.
CANARY Cho biết không nên sử dụng threat_type để thực thi.
FRAME_ONLY Cho biết bạn chỉ nên sử dụng threat_type để thực thi trên các khung.

ThreatType

Các loại mối đe doạ.

Enum
THREAT_TYPE_UNSPECIFIED Loại mối đe doạ không xác định. Nếu máy chủ trả về giá trị này, thì ứng dụng sẽ bỏ qua hoàn toàn FullHashDetail bao gồm.
MALWARE

Loại mối đe doạ do phần mềm độc hại gây ra. Phần mềm độc hại là những phần mềm hay ứng dụng dành cho thiết bị di động được thiết kế riêng biệt nhằm gây hại cho máy tính, thiết bị di động, phần mềm mà máy tính/thiết bị di động đang chạy hoặc người dùng. Phần mềm độc hại thực hiện những hành vi độc hại, chẳng hạn như cài đặt phần mềm khi người dùng chưa đồng ý và cài đặt những phần mềm có hại như vi-rút.

Bạn có thể tìm thêm thông tin tại đây.

SOCIAL_ENGINEERING

Loại mối đe doạ tấn công phi kỹ thuật. Các trang tấn công phi kỹ thuật giả mạo là hành động thay mặt cho một bên thứ ba với mục đích làm người xem nhầm lẫn để thực hiện một hành động mà người xem chỉ tin tưởng một đại lý thực sự của bên thứ ba đó. Lừa đảo là một loại hành vi tấn công phi kỹ thuật nhằm lừa người xem thực hiện một hành động cụ thể là cung cấp thông tin, chẳng hạn như thông tin đăng nhập.

Bạn có thể tìm thêm thông tin tại đây.

UNWANTED_SOFTWARE Loại mối đe doạ phần mềm không mong muốn. Phần mềm không mong muốn là mọi phần mềm không tuân thủ Nguyên tắc về phần mềm của Google nhưng không phải là phần mềm độc hại.
POTENTIALLY_HARMFUL_APPLICATION Loại mối đe doạ ứng dụng có khả năng gây hại mà Google Play Protect sử dụng cho Cửa hàng Play.