Insights and Research

Switch To Google Safe Browsing V2

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.

Coverage

I was curious see the overlap between Google Safe Browsing v2 and a few other security blacklistsOf 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;
C#google-safebrowse-v2-client-csharpMAC
Back-off mechanism ?
Save full hashes,
discard them after 45 minutes
MAC
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 anfd Python implementations.

Stay up to date with the latest digital transformation tips and news.

By clicking the submit button, you are agreeing to our privacy policy.