Detecting Chrome headless, the game goes on!

This post presents a new technique that enables to distinguish a vanilla Chrome browser from a Chrome browser running in headless mode.

Automatically beautify JavaScript files on the fly with Puppeteer and Chrome headless

This post presents how to automatically beautify and save JavaScript files with the js-beautify when using a crawler based on Chrome headless and Puppeteer.

How to monitor the execution of JavaScript code with Puppeteer and Chrome headless

This post presents how to leverage Puppeteer with Chrome headless to monitor the execution of JavaScript code on any website.

Demonstration of Picasso canvas fingerprinting

Demonstration of a canvas fingerprint used to detect devices spoofing their real OS or browser. It is inspired by the Picasso paper written by Elie Bursztein.

Canvas fingerprinting on the web

This post presents a crawl of the top Alexa 500K to study the use and the diversity of the canvas fingerprints on the web.

Testing Fp-Collect using CrossBrowserTesting

This post presents how we use CrossBrowserTesting with Selenium in order to test the Fp-Collect fingerprinting library on different operating systems and browsers.

FP-Scanner, a bot detection library based on browser fingerprinting

Demo of FP-Scanner, a bot detection library based on browser fingerprinting

How to parallelize a web crawler

Second post of a series about crawlers. We present how to parallelize a crawler based on Chrome headless and Puppeteer to take screenshots of the home page of the 100 most popular websites.

A simple crawler using Chrome headless with Puppeteer

First post of a series about crawlers. We present how to use Chrome headless with Puppeteer to take screenshots of the home page of the 100 most popular websites.

Presentations on browser fingerprinting

Papers and slides of presentations I recently gave at IEEE S&P 18 and Usenix Security 18 about browser fingerprinting.