Concerned about recent PAN-OS and other firewall/VPN CVEs? Take advantage of Zscaler’s special offer today

Zscaler Blog

Get the latest Zscaler blog updates in your inbox

Security Research

Switch to Google Safe Browsing V2

December 09, 2011 - 2 min read
Google maintains a list of malicious URLs and phishing sites distributed through their Google Safe Browsing API. On December 12, version 1 was deprecated in favor of version 2. The API for version 2 works quite differently from version 1.

Importance of Google Safe Browsing

Google Safe Browsing is part of most popular web browsers including Firefox, Chrome, Safari and Opera. Internet Explorer uses it owns list, Microsoft SmartScreen. This makes Google Safe Browsing lists the most used security filter among all web users.

The Google Safe Browsing lists are also very extensive. There are currently about 460,000 entries in the lists and they are updated every 30 minutes. You can refer to "Google Safe Browsing v2: Implementation Notes" for more detailed numbers.


I was curious see the overlap between Google Safe Browsing v2 and a few other security denylists. Of the Alexa top 1,000,000 sites, 250 are blocked by Google Safe Browsing v2.

Google Safe Browsing v2 libraries

The Google Safe browsing v2 API is fairly complex, at least more so than version 1. There are a number of libraries available, but not all implement the complete API. Here is a list of the libraries available within Google Safe Browsing v2:
LanguageNameMissing featuresComment
Pythongoogle-safe-browsingnoneReference implementation from Google
PerlNet::Google::SafeBrowsing2noneSeveral back-ends available for storage: MySQL, Sqlite, DBI, etc.
PHPphpgsbMACHelpful statistics for testing
PHPgsb4uMACStorage: MySQL, Sqlite;
Back-off mechanism ?
Save full hashes,
discard them after 45 minutes
Storage: data file
C#Google-Safe-Browsing-API-2.0-C-pMACStorage: SQL server
JavajGoogleSafeBrowsing???Not finished?
Google Safe Browsing v2 libraries

Lookup API

If you need to check fewer than 10,000 URLs a day, you can use the much simpler Lookup API. This API allows you to send URLs directly to Google and receive the classification.

I've made a Perl library for the Lookup API, Net::Google::SafeBrowsing2::Lookup and I'm working on Ruby and Python implementations.
form submtited
Thank you for reading

Was this post useful?

dots pattern

Get the latest Zscaler blog updates in your inbox

By submitting the form, you are agreeing to our privacy policy.